html { scrollbar-gutter: stable; }

:root {
  color-scheme: dark;
  --near-black: #111111;
  --near-white: #F3F3F3;
  --bg: #111111;
  --panel: #181818;
  --panel-2: #202020;
  --panel-3: #2A2A2A;
  --line: #363636;
  --line-strong: #4A4A4A;
  --text: #F3F3F3;
  --text-2: #C8C8C8;
  --text-3: #8C8C8C;
  --accent: #9A9A9A;
  --accent-2: #B8B8B8;
  --accent-ink: #F3F3F3;
  --required: #9A9A9A;
  --proposed: #8C8C8C;
  --unanswered: #747474;
  --scope: #747474;
  --observed: #9A9A9A;
  --input: #141414;
  --code: #141414;
  --code-text: #C8C8C8;
  --mock-shell: #181818;
  --mock-stage: #111111;
  --mock-surface: #181818;
  --mock-surface-alt: #202020;
  --mock-text: #F3F3F3;
  --mock-muted: #C8C8C8;
  --mock-border: #4A4A4A;
  --mock-control: #292929;
  --mock-placeholder: #343434;
  --mock-notice: color-mix(in srgb, var(--text-2) 8%, var(--mock-surface));
  --radius: 10px;
  --menu-width: 186px;
  --inspector-width: 390px;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

html[data-theme="light"] {
  color-scheme: light;
  --near-black: #151515;
  --near-white: #F5F5F5;
  --bg: #F0F0F0;
  --panel: #E8E8E8;
  --panel-2: #DDDDDD;
  --panel-3: #D2D2D2;
  --line: #C4C4C4;
  --line-strong: #A8A8A8;
  --text: #151515;
  --text-2: #404040;
  --text-3: #767676;
  --accent: #5E5E5E;
  --accent-2: #777777;
  --accent-ink: #F5F5F5;
  --required: #777777;
  --proposed: #888888;
  --unanswered: #5E5E5E;
  --scope: #777777;
  --observed: #5E5E5E;
  --input: #F5F5F5;
  --code: #151515;
  --code-text: #D8D8D8;
  --mock-shell: #DDDDDD;
  --mock-stage: #F0F0F0;
  --mock-surface: #E8E8E8;
  --mock-surface-alt: #DDDDDD;
  --mock-text: #151515;
  --mock-muted: #404040;
  --mock-border: #A8A8A8;
  --mock-control: #D2D2D2;
  --mock-placeholder: #C4C4C4;
  --mock-notice: color-mix(in srgb, var(--text-3) 8%, var(--mock-surface));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.55; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: inherit; }

.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--menu-track-width, var(--menu-width)) minmax(600px, 1fr) var(--inspector-track-width, var(--inspector-width));
}

/* The original dictionary app owns its UI and scrolling; Buckler keeps navigation. */
#data-dictionary-app, #glossary-app { display: none; width: 100%; height: 100vh; height: 100dvh; border: 0; background: var(--bg); color-scheme: inherit; }
body.is-data-dictionary .app-shell, body.is-glossary .app-shell { grid-template-columns: var(--menu-track-width, var(--menu-width)) minmax(0, 1fr); }
body.is-data-dictionary .document-column, body.is-glossary .document-column { padding: 0; }
body.is-data-dictionary #document,
body.is-data-dictionary .inspector-column,
body.is-glossary #document,
body.is-glossary .inspector-column { display: none; }
body.is-data-dictionary #data-dictionary-app,
body.is-glossary #glossary-app { display: block; }

.menu-column, .inspector-column {
  position: sticky;
  top: 0;
  height: 100vh;
  background: var(--panel);
  overflow: auto;
  z-index: 220;
}
.menu-column { border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.inspector-column { border-left: 1px solid var(--line); min-width: 0; overflow-x: hidden; }
.document-column { --document-top-pad: 28px; --document-top-offset: -28px; --document-x-pad: clamp(16px, 2.2vw, 34px); position: relative; z-index: 0; min-width: 0; padding: var(--document-top-pad) var(--document-x-pad) 72px; }

.brand { padding: 14px 18px; display: flex; gap: 11px; align-items: center; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: inherit; text-align: left; }
.brand-button { width: 100%; cursor: pointer; }
.brand-button:hover, .brand-button.is-active { background: var(--panel-2); }
.brand strong, .brand span { display: block; }
.brand strong { font-size: 13px; }
.brand span { color: var(--text-3); font-size: 11px; margin-top: 1px; }.menu-actions { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--line); }
.menu-action-link {
  grid-column: 1;
  width: 100%;
  border: 0;
  background: transparent;
  border-radius: 7px;
  padding: 6px 9px;
  min-height: 30px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--text-2);
  font: inherit;
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}
.menu-action-link:hover { background: var(--panel-2); color: var(--text); }
/* Keep navigation text-only; the disabled system-theme indicator is redundant. */
.menu-column .menu-icon,
.menu-column .menu-caret,
.menu-column .menu-copy small,
.menu-column .brand span,
.menu-column .theme-button { display: none; }
.theme-button { width: 32px; padding: 6px 0; font-size: 14px; }
.button, .icon-button {
  border: 1px solid var(--line-strong); background: var(--panel-2); border-radius: 7px; padding: 8px 11px; cursor: pointer;
}
.button:hover, .icon-button:hover { border-color: var(--text-3); background: var(--panel-3); }
.button--primary { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); font-weight: 700; }
.button--small { padding: 5px 8px; font-size: 12px; }
.button--danger { color: var(--text-2); }

.app-menu { flex: 1; min-height: 0; padding: 6px 10px; display: flex; flex-direction: column; }
.menu-section-title { padding: 8px; color: var(--text-3); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; font-size: 10px; }
.menu-disclosure { margin: 6px 0 0; }
.menu-disclosure > summary { list-style: none; }
.menu-disclosure > summary::-webkit-details-marker { display: none; }
.menu-disclosure .menu-caret { transition: transform .15s ease; }
.menu-disclosure:not([open]) .menu-caret { transform: rotate(-90deg); }
.menu-item-wrap { margin: 0; }
.menu-link { width: 100%; min-height: 27px; border: 0; background: transparent; padding: 5.4px 9px; text-align: left; border-radius: 7px; display: flex; align-items: center; gap: 9px; cursor: pointer; color: var(--text-2); }
.menu-link:hover { background: var(--panel-2); color: var(--text); }
.menu-link.is-active { background: color-mix(in srgb, var(--accent) 16%, transparent); color: var(--text); }
.menu-item-wrap--home-logo { margin: 4px 0 8px; }
.menu-link--home-logo { min-height: 42px; justify-content: center; padding: 9px 10px; }
.menu-link--home-logo.is-active { box-shadow: none; }
.buckler-menu-logo { display: block; width: min(142px, 100%); height: auto; filter: invert(1); opacity: .94; transform: translateX(-6px); }
html[data-theme="light"] .buckler-menu-logo { filter: none; opacity: .9; }
.menu-link--home-logo:hover .buckler-menu-logo, .menu-link--home-logo.is-active .buckler-menu-logo { opacity: 1; }
.menu-icon { width: 23px; height: 23px; border: 1px solid var(--line-strong); border-radius: 6px; display: inline-grid; place-items: center; font-size: 10px; font-weight: 800; flex: 0 0 auto; }
.menu-copy { min-width: 0; flex: 1; }
.menu-copy strong, .menu-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.menu-copy strong { font-size: 12px; font-weight: 400; }
.menu-copy small { font-size: 10px; color: var(--text-3); }
.menu-caret { color: var(--text-3); font-size: 10px; }
.submenu { margin-left: 9px; padding-left: 10px; border-left: 1px solid var(--line); }
.submenu .menu-link { padding-top: 5.4px; padding-bottom: 5.4px; }
.menu-spacer { min-height: 8px; }
.menu-parked-pages { margin-top: auto; padding-top: 12px; }
.menu-link--detail-page .menu-copy strong { font-style: italic; }
/* Investment Profile is a contextual detail route, not a main-menu destination. */
/* Position and typography come from the existing page-section-label master. */
:is(.mock-stage.mock-stage--freeform, .app-preview) .bob-page-header .bob-title-lockup > button.ip-return-link {
  min-height: 0 !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
  font: inherit; line-height: inherit !important; text-align: left; cursor: pointer;
}
:is(.mock-stage.mock-stage--freeform, .app-preview) .ip-return-link:hover { color: var(--gds-app-text); text-decoration: underline; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .ip-return-link:focus-visible { outline: 1px solid var(--app-contour-color); outline-offset: 3px; }
.menu-footer { padding: 6px 10px; border-top: 1px solid var(--line); background: var(--panel); }
.menu-link--template { border: 1px dashed var(--line-strong); }
.menu-link--template small { color: var(--text-3); display: block; font-size: 10px; }

.block-status-nav { position: sticky; top: 0; z-index: 180; max-width: none; margin: var(--document-top-offset) calc(var(--document-x-pad) * -1) 22px; padding: 8px var(--document-x-pad) 10px; background: var(--bg); border-bottom: 1px solid var(--line); box-shadow: 0 10px 18px color-mix(in srgb, var(--bg) 78%, transparent); isolation: isolate; }
.block-header-grid, .block-status-grid { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 6px; align-items: start; }
.block-header-grid { margin-bottom: 5px; }
.block-row-label { align-self: end; padding: 0 5px 5px 0; color: var(--text-3); font-size: 8px; text-align: right; text-transform: uppercase; letter-spacing: .08em; }
.status-matrix + .status-matrix { margin-top: 7px; padding-top: 7px; border-top: 1px solid var(--line); }
.readiness-side-labels { display: grid; grid-template-columns: 13px minmax(0, 1fr); gap: 3px; min-width: 0; }
.stage-axis-label { align-self: stretch; display: flex; align-items: center; justify-content: center; color: var(--text-3); font-size: 7px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.stage-gate-labels { display: grid; grid-template-rows: repeat(4, 10px); gap: 2px; }
.readiness-side-labels button { min-width: 0; border: 0; border-right: 2px solid var(--line-strong); background: transparent; color: var(--text-3); padding: 0 6px 0 0; cursor: pointer; font-size: 9px; line-height: 10px; text-align: right; white-space: nowrap; }
.readiness-side-labels button:hover, .readiness-side-labels button.is-active { color: var(--accent); border-right-color: var(--accent); }
.block-jump { display: grid; grid-template-columns: repeat(13, minmax(40px, 1fr)); gap: 3px; overflow-x: auto; padding-right: 1px; }
.block-jump > button { min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); color: var(--text-3); padding: 6px 2px 5px; cursor: pointer; text-align: center; }
.block-jump--statuses > button { padding: 0 2px 4px; border-color: transparent; background: transparent; }
.block-jump--statuses > button:hover { background: var(--panel); }
.block-jump--statuses > button.is-active { border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.block-jump > button:hover { border-color: var(--line-strong); color: var(--text); background: var(--panel-2); }
.block-jump > button.is-active { border-color: var(--accent); color: var(--accent); }
.block-jump strong, .block-jump > button > span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.block-jump strong { font: 800 9px/1.2 ui-monospace, monospace; letter-spacing: .02em; }
.block-jump > button > span:not(.block-gate-lines) { margin-top: 3px; font-size: 6.5px; line-height: 1.1; text-transform: uppercase; letter-spacing: .02em; }
.block-jump--statuses .block-gate-lines { display: grid !important; grid-template-rows: repeat(4, 10px); gap: 2px; margin: 0 2px; overflow: visible !important; }
.gate-line { display: block; height: 4px; align-self: center; border-radius: 2px; background: var(--line-strong); transition: opacity .15s ease; }
.gate-line--ready { background: var(--required); }
.gate-line--warning { background: var(--proposed); }
.gate-line--missing { background: var(--unanswered); }
.gate-line--na { background: var(--line-strong); }
.block-status-nav[data-filter="walk"] .gate-line:not([data-gate="walk"]),
.block-status-nav[data-filter="mockQa"] .gate-line:not([data-gate="mockQa"]),
.block-status-nav[data-filter="build"] .gate-line:not([data-gate="build"]),
.block-status-nav[data-filter="devQa"] .gate-line:not([data-gate="devQa"]) { opacity: .12; }

.application-settings { max-width: 1080px; margin: 0 auto 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 16px 18px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 420px); gap: 24px; align-items: end; }
.app-overview, .data-section, .data-method-card { max-width: 1080px; margin: 0 auto 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 16px 18px; display: grid; gap: 14px; }
.overview-head { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.overview-head h2 { margin: 4px 0 5px; }
.overview-head p { margin: 0; color: var(--text-3); }
.overview-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.data-cards { max-width: 1080px; margin: 0 auto 22px; }
.overview-cards > div { border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: var(--panel-2); }
.overview-cards strong { display: block; font-size: 20px; }
.overview-cards span { color: var(--text-3); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.overview-registers { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.overview-registers > div { border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: var(--panel-2); }
.overview-registers h3 { margin: 0 0 8px; font-size: 12px; }
.overview-registers ul { margin: 0; padding-left: 18px; color: var(--text-2); font-size: 11px; }
.overview-registers li + li { margin-top: 6px; }
.overview-registers span { color: var(--text-3); }
.table-link { border: 0; padding: 0; background: transparent; color: var(--accent); font: inherit; cursor: pointer; text-align: left; }
.data-document-head { margin-top: 22px; }
.data-method-card { border-color: color-mix(in srgb, var(--accent) 35%, var(--line)); background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.data-method-card strong { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.data-method-card p { margin: 0; color: var(--text-2); }
.data-section { scroll-margin-top: 18px; }
.data-section-head { display: flex; justify-content: space-between; gap: 14px; align-items: start; border-bottom: 1px solid var(--line); padding-bottom: 12px; }.data-section-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; align-items: center; }
.data-view-toggle button { white-space: nowrap; }
.data-section-head h2 { margin: 4px 0; font-size: 20px; }
.data-section-head p { margin: 0; color: var(--text-3); font-size: 11px; max-width: 760px; }
.data-records { display: grid; gap: 7px; }
.data-record { border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); overflow: hidden; }
.data-record summary { display: grid; grid-template-columns: auto minmax(130px, .7fr) minmax(160px, 1.3fr) auto; align-items: center; gap: 10px; padding: 10px 12px; cursor: pointer; }
.data-record summary:hover { background: var(--panel-3); }
.data-record summary strong { font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.data-record summary small { color: var(--text-3); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.data-record-body { padding: 12px; border-top: 1px solid var(--line); background: var(--panel); }
.data-honesty-bar { padding-bottom: 12px; margin-bottom: 12px; }
.data-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.data-table-wrap { overflow: auto; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); max-height: 70vh; }
.data-table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: 11px; }
.data-table th, .data-table td { border: 1px solid var(--line); padding: 5px; vertical-align: top; min-width: 150px; }
.data-table th { position: sticky; top: 0; z-index: 1; background: var(--panel-2); color: var(--text-2); text-align: left; font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.data-table td:first-child, .data-table th:first-child { position: sticky; left: 0; z-index: 2; background: var(--panel-2); min-width: 104px; }
.data-table th:first-child { z-index: 3; }
.data-table input, .data-table select { min-width: 140px; padding: 6px 7px; font-size: 11px; border-radius: 5px; }
.data-table .remove-row { white-space: nowrap; }
.application-settings h2 { margin: 3px 0 4px; font-size: 18px; }
.application-settings p { margin: 0; color: var(--text-3); font-size: 11px; max-width: 580px; }
.reviewer-settings { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 14px; }
.reviewer-settings-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.reviewer-settings-head strong, .reviewer-settings-head span { display: block; }
.reviewer-settings-head strong { font-size: 12px; }
.reviewer-settings-head span { color: var(--text-3); font-size: 10px; }
.workflow-settings { grid-column: 1 / -1; border-top: 1px solid var(--line); padding-top: 14px; display: grid; gap: 12px; }
.workflow-card { border: 1px solid var(--line); border-radius: 9px; padding: 12px; display: grid; gap: 10px; }
.workflow-card-head, .workflow-step-head, .workflow-transition-head { display: flex; align-items: center; gap: 8px; justify-content: space-between; }
.workflow-card-head input, .workflow-step-head input { flex: 1; }
.workflow-issues, .workflow-valid { display: grid; gap: 3px; padding: 8px 10px; border-radius: 6px; font-size: 10px; }
.workflow-issues { background: var(--panel-3); color: var(--proposed); }
.workflow-valid { background: var(--panel-3); color: var(--text-2); }
.workflow-steps, .workflow-transitions { display: grid; gap: 8px; }
.workflow-step { border-left: 3px solid var(--accent); background: var(--panel-2); padding: 10px; display: grid; gap: 10px; }
.workflow-step-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.workflow-transition { display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 7px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); }
.workflow-participation { display: grid; gap: 10px; padding: 14px; border-bottom: 1px solid var(--line); }
.workflow-participation article { border: 1px solid var(--line); border-radius: 8px; padding: 10px; display: grid; gap: 8px; }
.participation-step { display: grid; gap: 3px; padding: 8px; background: var(--panel-2); font-size: 10px; }
.reviewer-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.reviewer-row { display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: center; }
.reviewer-row input { padding: 7px 8px; }

.document-head { max-width: 1080px; margin: 0 auto 26px; }
.document-head--with-readiness { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; align-items: start; }
.document-head-readiness .readiness { max-width: none; margin: 0; grid-template-columns: 1fr; gap: 6px; }
.document-head-readiness .gate { padding: 8px 10px; border-radius: 8px; }
.document-head-readiness .gate strong { font-size: 9px; }
.document-head-readiness .gate span { font-size: 9px; margin-top: 2px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 800; }
h1 { margin: 7px 0 6px; font-size: clamp(30px, 4vw, 48px); letter-spacing: -.04em; line-height: 1.04; }
h2 { margin: 0; }
.document-lede { color: var(--text-2); max-width: 760px; font-size: 15px; }
.document-toolbar { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.meta-strip { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.meta-chip { border: 1px solid var(--line); background: var(--panel); border-radius: 999px; padding: 5px 9px; font-size: 11px; color: var(--text-2); }

.readiness { max-width: 1080px; margin: 0 auto 22px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.gate { border: 1px solid var(--line); background: var(--panel); color: var(--text); border-radius: var(--radius); padding: 12px; text-align: left; cursor: pointer; }
.gate:hover, .gate.is-active { border-color: var(--accent); background: var(--panel-2); }
.gate strong { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.gate span { display: block; color: var(--text-3); font-size: 11px; margin-top: 4px; }
.gate--pass { border-color: color-mix(in srgb, var(--required) 45%, transparent); }
.gate--fail { border-color: color-mix(in srgb, var(--unanswered) 35%, transparent); }

.block-list { max-width: 1080px; margin: 0 auto; }
/* Focused B01 uses the complete document column for dense visual mock review. */
.block-list--wide { max-width: none; }
.block-list--wide .honesty-bar, .block-list--wide .page-summary, .block-list--wide .selected-record-editor, .block-list--wide > .block > .block-form > .form-grid { max-width: 1080px; margin-left: auto; margin-right: auto; }
.block-pager { max-width: 1080px; margin: 0 auto 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; }
.block-pager > span { text-align: center; color: var(--text-2); font-size: 11px; }
.block-view-link { display: block; margin: 3px auto 0; padding: 0; border: 0; background: transparent; color: var(--accent); font: inherit; cursor: pointer; }
.block-view-link:hover { text-decoration: underline; }
.block-pager > button:first-child { justify-self: start; }
.block-pager > button:last-child { justify-self: end; }
.block-view-note { max-width: 1080px; margin: 0 auto 12px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 7px; color: var(--text-3); font-size: 10px; text-align: center; }
.block-reminders { max-width: 1080px; margin: 24px auto 0; display: grid; gap: 10px; }
.block-reminder-card { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); padding: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.block-reminder-card header { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.block-reminder-card h2, .block-reminder-card h3, .block-reminder-card p { margin: 0; }
.block-reminder-card h2 { font-size: 14px; }
.block-reminder-card h3 { margin-bottom: 5px; color: var(--text-3); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.block-reminder-card p { color: var(--text-2); font-size: 12px; line-height: 1.45; }
.block { border: 0; border-radius: 0; background: transparent; margin: 0 0 18px; overflow: visible; scroll-margin-top: 190px; }
.block.is-selected { border-color: transparent; box-shadow: none; }
.block-head { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; align-items: center; min-height: 54px; border-bottom: 1px solid var(--line); cursor: pointer; }
.block-number { height: 100%; display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .06em; }
.block-title { padding: 0 14px; font-weight: 700; }
.block-owner { color: var(--text-3); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; padding-right: 14px; text-align: right; }
.block-form { padding: 10px 12px; }
.block--summary { margin-top: -8px; }
.block--summary .block-form { padding: 0; }
.page-summary { display: grid; gap: 8px; margin: 12px auto 0; }
.page-summary-grid { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(150px, .9fr) minmax(130px, .75fr) minmax(72px, .45fr); gap: 8px; align-items: end; }
.page-summary-meta { display: grid; grid-template-columns: minmax(120px, 160px) minmax(160px, 1fr) minmax(180px, 1.2fr); gap: 8px; max-width: 760px; opacity: .78; }
.page-summary .field, .page-summary .honesty-field { gap: 3px; }
.page-summary .field > span, .page-summary .honesty-field > span { color: var(--text-3); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.page-summary .field-question { display: none; }
.page-summary input, .page-summary textarea, .page-summary select { padding: 7px 8px; border-color: var(--line); border-radius: 6px; background: color-mix(in srgb, var(--input) 86%, transparent); font-size: 12px; }
.page-summary textarea { min-height: 52px; }
.block--summary .mock-shell { margin-top: 0; }
.human-review-footer { border-top: 1px solid var(--line); background: var(--panel-2); padding: 13px 16px 15px; }
.human-review-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 9px; }
.human-review-heading strong { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.human-review-heading span { color: var(--text-3); font-size: 9px; }
.human-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.human-review-stage { border: 1px solid var(--line); border-radius: 8px; background: var(--panel); padding: 9px; min-width: 0; }
.human-review-stage-title { display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
.human-review-stage-title strong { font-size: 10px; }
.human-status-dot { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--line-strong); }
.human-review-stage--ready .human-status-dot { background: var(--required); }
.human-review-stage--warning .human-status-dot { background: var(--proposed); }
.human-review-stage--missing .human-status-dot { background: var(--unanswered); }
.human-review-stage select { padding: 6px 7px; font-size: 10px; }
.review-evidence { display: block; margin-top: 7px; }
.review-evidence span { display: block; margin-bottom: 3px; color: var(--text-3); font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.review-evidence input { padding: 6px 7px; font-size: 9px; }.human-review-confirm { display: flex; align-items: center; gap: 7px; margin-top: 8px; color: var(--text-3); font-size: 9px; }
.human-review-date { display: grid; gap: 2px; margin-top: 7px; padding-top: 7px; border-top: 1px solid var(--line); }
.human-review-date span { color: var(--text-3); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.human-review-date strong { color: var(--text-2); font-size: 10px; font-weight: 600; }
.review-toggle { width: 31px; height: 17px; flex: 0 0 auto; border: 0; border-radius: 999px; background: var(--line-strong); padding: 2px; cursor: pointer; transition: background .15s ease; }
.review-toggle i { display: block; width: 13px; height: 13px; border-radius: 50%; background: var(--near-white); transition: transform .15s ease; }
.review-toggle.is-on { background: var(--required); }
.review-toggle.is-on i { transform: translateX(14px); }
.review-toggle:disabled { cursor: default; opacity: .38; }

.honesty-bar { display: grid; grid-template-columns: minmax(130px, 190px) minmax(180px, 1fr) minmax(180px, 1fr); gap: 8px; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 1px solid var(--line); }
.field, .honesty-field { display: grid; gap: 3px; min-width: 0; align-content: start; }
.field > span, .honesty-field > span { color: var(--text-2); font-size: 11px; font-weight: 600; }
.field-question { color: var(--text-3); font-size: 10px; font-weight: 400; }
input, textarea, select {
  width: 100%; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--input); color: var(--text); padding: 9px 10px; outline: none;
}
textarea { resize: vertical; min-height: 82px; overflow-y: hidden; overflow-anchor: none; }
/* Plain authoring fields: no formatting chrome or oversized empty editor space. */
textarea.plain-text-editor { min-height: 38px; max-height: 420px; padding: 6px 8px; line-height: 1.4; overflow-y: auto; }
.block-form .field > input,
.block-form .field > select,
.honesty-field > input,
.honesty-field > select { padding: 6px 8px; }
textarea.plain-text-editor:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
textarea.rich-markdown-source { display: none !important; }
.rich-markdown-editor { position: relative; grid-column: 1 / -1; width: 100%; min-width: 0; }
.rich-editor-host { height: 100%; min-height: 0; }
.rich-markdown-editor.is-plain-source {
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--input);
}
.rich-markdown-editor.is-plain-source .rich-editor-host { display: none !important; }
.rich-markdown-editor.is-plain-source > textarea.rich-markdown-source {
  display: block !important;
  width: 100%;
  height: 100%;
  min-height: 160px;
  box-sizing: border-box;
  margin: 0;
  padding: 56px 16px 18px;
  border: 0;
  border-radius: 0;
  background: var(--input) !important;
  color: var(--text) !important;
  caret-color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  resize: vertical;
  overflow: auto !important;
  white-space: pre-wrap;
}
.rich-markdown-editor:not(.is-fullscreen) { z-index: 0; isolation: isolate; }
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-defaultUI { position: relative; z-index: 0; overflow: hidden; }
.rich-markdown-editor.is-fullscreen {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  padding: 18px;
  background: var(--bg);
}
body.is-rich-editor-fullscreen { overflow: hidden; }
body.is-rich-editor-fullscreen .menu-column,
body.is-rich-editor-fullscreen .inspector-column,
body.is-rich-editor-fullscreen .block-status-nav { display: none !important; }
body.is-rich-editor-fullscreen .app-shell { display: block; }
body.is-rich-editor-fullscreen .document-column { padding: 0 !important; }
.rich-markdown-editor.is-fullscreen .rich-editor-host,
.rich-markdown-editor.is-fullscreen .toastui-editor-defaultUI {
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.rich-markdown-editor.is-fullscreen .toastui-editor-main,
.rich-markdown-editor.is-fullscreen .toastui-editor-ww-container,
.rich-markdown-editor.is-fullscreen .toastui-editor-md-container,
.rich-markdown-editor.is-fullscreen .toastui-editor-ww-container .toastui-editor,
.rich-markdown-editor.is-fullscreen .toastui-editor-md-container .toastui-editor,
.rich-markdown-editor.is-fullscreen .toastui-editor-contents,
.rich-markdown-editor.is-fullscreen .ProseMirror,
.rich-markdown-editor.is-fullscreen .CodeMirror,
.rich-markdown-editor.is-fullscreen .CodeMirror-scroll {
  min-height: 0 !important;
}
.rich-markdown-editor.is-fullscreen .toastui-editor-main,
.rich-markdown-editor.is-fullscreen .toastui-editor-ww-container .toastui-editor,
.rich-markdown-editor.is-fullscreen .toastui-editor-md-container .toastui-editor,
.rich-markdown-editor.is-fullscreen .toastui-editor-contents,
.rich-markdown-editor.is-fullscreen .ProseMirror,
.rich-markdown-editor.is-fullscreen .CodeMirror-scroll {
  overflow: auto !important;
}
.rich-markdown-editor.is-fullscreen.is-plain-source > textarea.rich-markdown-source {
  flex: 1 1 auto;
  min-height: 0;
  height: 100% !important;
  resize: none;
  overflow: auto !important;
}
.rich-editor-skip-controls {
  position: absolute;
  top: -36px;
  right: 0;
  z-index: 4;
  display: flex;
  gap: 4px;
}
.rich-editor-skip-controls[hidden] { display: none !important; }
.rich-editor-skip-controls.is-terminal { top: auto; bottom: 8px; }
.rich-editor-skip-button {
  width: 30px;
  height: 28px;  border: 1px solid var(--line-strong);
  border-radius: 7px;
  background: var(--panel-2);
  color: var(--text-2);
  cursor: pointer;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}
.rich-editor-skip-button:hover { border-color: var(--accent); background: var(--panel-3); color: var(--text); }
.rich-editor-skip-button[hidden] { display: none !important; }
.rich-markdown-editor.is-fullscreen .rich-editor-skip-controls { display: none !important; }
.rich-editor-mode-toggle {
  position: absolute;
  top: 8px;
  right: 52px;
  z-index: 4;
  display: flex;
  gap: 4px;
  padding: 2px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: var(--panel);
}
.rich-editor-mode-button {
  width: 38px;
  height: 30px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text-2);
  padding: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
}
.rich-editor-mode-button:hover { background: var(--panel-2); color: var(--text); }
.rich-editor-mode-button.is-active { background: var(--accent); color: var(--accent-ink); }
.mode-icon { width: 22px; height: 18px; display: grid; align-content: center; gap: 3px; }
.mode-icon--markdown i { display: block; height: 2px; border-radius: 2px; background: currentColor; opacity: .95; }
.mode-icon--markdown i:nth-child(1) { width: 18px; }
.mode-icon--markdown i:nth-child(2) { width: 22px; }
.mode-icon--markdown i:nth-child(3) { width: 14px; }
.mode-icon--wysiwyg { gap: 2px; justify-items: center; }
.mode-icon--wysiwyg b { display: block; font-size: 15px; font-weight: 900; line-height: 1; letter-spacing: -.06em; }
.mode-icon--wysiwyg i { display: block; width: 20px; height: 2px; border-radius: 2px; background: currentColor; opacity: .75; }
.rich-editor-fullscreen-toggle {
  position: absolute;
  top: 8px;
  right: 10px;
  z-index: 4;
  width: 34px;
  height: 30px;
  border: 1px solid var(--line-strong);
  border-radius: 7px;
  background: var(--panel-3);
  color: var(--text);
  cursor: pointer;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
.rich-editor-fullscreen-toggle:hover { border-color: var(--accent); background: var(--panel); }
.rich-markdown-editor.is-fullscreen .rich-editor-mode-toggle {
  position: fixed;
  top: 24px;
  right: 70px;
}
.rich-markdown-editor.is-fullscreen .rich-editor-fullscreen-toggle {
  position: fixed;
  top: 24px;
  right: 28px;
}
.rich-markdown-editor .toastui-editor-defaultUI {
  border: 0 !important;
  border-radius: 0;
  overflow: hidden;
  background: var(--input) !important;
  color: var(--text) !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.rich-markdown-editor .toastui-editor-toolbar,
.rich-markdown-editor .toastui-editor-defaultUI-toolbar,
.rich-markdown-editor .toastui-editor-mode-switch,
.rich-markdown-editor .toastui-editor-popup,
.rich-markdown-editor .toastui-editor-md-tab-container {
  background: var(--panel-2) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
}
.rich-markdown-editor .toastui-editor-mode-switch { display: none !important; }
.rich-markdown-editor .toastui-editor-defaultUI-toolbar {
  padding-right: 142px !important;
  border-bottom: 0 !important;
}
.rich-markdown-editor .toastui-editor-toolbar button,
.rich-markdown-editor .toastui-editor-toolbar-icons,
.rich-markdown-editor .toastui-editor-toolbar-divider {
  border-color: var(--line-strong) !important;
  color: var(--text) !important;
}
.rich-markdown-editor .toastui-editor-toolbar button:hover { background-color: var(--panel-3) !important; }
.rich-markdown-editor .toastui-editor-mode-switch .tab-item {
  background: var(--panel) !important;
  border-color: var(--line-strong) !important;
  color: var(--text-2) !important;
}
.rich-markdown-editor .toastui-editor-mode-switch .tab-item.active {
  background: var(--input) !important;
  color: var(--text) !important;
}
.rich-markdown-editor .toastui-editor-main,
.rich-markdown-editor .toastui-editor-md-container,
.rich-markdown-editor .toastui-editor-ww-container,
.rich-markdown-editor .toastui-editor-md-preview,
.rich-markdown-editor .toastui-editor-ww-code-block,
.rich-markdown-editor .toastui-editor-md-splitter {
  background: var(--input) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;}
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-main { overflow: hidden !important; min-height: 0 !important; }
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-ww-container,
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-md-container,
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-ww-container .toastui-editor,
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-md-container .toastui-editor,
.rich-markdown-editor:not(.is-fullscreen) .CodeMirror { overflow: hidden !important; min-height: 0 !important; }
.rich-markdown-editor:not(.is-fullscreen) .CodeMirror-scroll { overflow: hidden !important; min-height: 0 !important; }
.rich-markdown-editor .toastui-editor-md-preview,
.rich-markdown-editor .toastui-editor-md-splitter,
.rich-markdown-editor .toastui-editor-md-tab-container { display: none !important; }
.rich-markdown-editor .toastui-editor-md-container .toastui-editor { width: 100% !important; }
.rich-markdown-editor .CodeMirror {
  background: var(--input) !important;
  color: var(--text) !important;
  border: 0 !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.rich-markdown-editor .CodeMirror-lines,
.rich-markdown-editor .CodeMirror-line,
.rich-markdown-editor .CodeMirror pre,
.rich-markdown-editor .CodeMirror-code,
.rich-markdown-editor .cm-s-default,
.rich-markdown-editor .cm-s-default * {
  background: transparent !important;
  color: var(--text) !important;
  text-shadow: none !important;
}
.rich-markdown-editor .toastui-editor-md-container .CodeMirror,
.rich-markdown-editor .toastui-editor-md-container .CodeMirror-lines,
.rich-markdown-editor .toastui-editor-md-container .CodeMirror-line,
.rich-markdown-editor .toastui-editor-md-container .CodeMirror pre,
.rich-markdown-editor .toastui-editor-md-container .CodeMirror-code,
.rich-markdown-editor .toastui-editor-md-container .CodeMirror-code *,
.rich-markdown-editor .toastui-editor-md-container .cm-header,
.rich-markdown-editor .toastui-editor-md-container .cm-header-1,
.rich-markdown-editor .toastui-editor-md-container .cm-header-2,
.rich-markdown-editor .toastui-editor-md-container .cm-header-3,
.rich-markdown-editor .toastui-editor-md-container .cm-header-4,
.rich-markdown-editor .toastui-editor-md-container .cm-header-5,
.rich-markdown-editor .toastui-editor-md-container .cm-header-6,
.rich-markdown-editor .toastui-editor-md-container .cm-strong,
.rich-markdown-editor .toastui-editor-md-container .cm-em,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading1,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading2,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading3,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading4,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading5,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-heading6,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-strong,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-emph,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-strike,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-delimiter,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-block-quote,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-list-item-style,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-list-item,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-meta,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-table,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-link,
.rich-markdown-editor .toastui-editor-md-container .toastui-editor-md-code,
.rich-markdown-editor .toastui-editor-md-container [class*="toastui-editor-md-"] {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
}
.rich-markdown-editor .CodeMirror-cursor { border-left-color: var(--text) !important; }
.rich-markdown-editor .CodeMirror-selected { background: color-mix(in srgb, var(--accent) 25%, transparent) !important; }
.rich-markdown-editor .CodeMirror-gutters,
.rich-markdown-editor .CodeMirror-gutter,
.rich-markdown-editor .CodeMirror-gutter-wrapper,
.rich-markdown-editor .CodeMirror-linenumber,
.rich-markdown-editor .CodeMirror-scrollbar-filler,
.rich-markdown-editor .CodeMirror-gutter-filler,
.rich-markdown-editor .toastui-editor-md-line-number { display: none !important; }
.rich-markdown-editor .toastui-editor-contents,
.rich-markdown-editor .toastui-editor-contents *,
.rich-markdown-editor .toastui-editor-md-preview,
.rich-markdown-editor .toastui-editor-md-preview *,
.rich-markdown-editor .ProseMirror,
.rich-markdown-editor .ProseMirror * {
  color: var(--text-2) !important;
  caret-color: var(--text) !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.rich-markdown-editor .toastui-editor-contents,
.rich-markdown-editor .ProseMirror,
.rich-markdown-editor .toastui-editor-md-preview,
.rich-markdown-measure {
  font-size: 15px;
  line-height: 1.65;
}
.rich-markdown-measure {
  position: absolute !important;
  left: -100000px !important;
  top: 0 !important;
  z-index: -1 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding: 16px 25px 18px;
}
.rich-markdown-measure.rich-markdown-editor {
  width: auto;
  min-width: 0;
  border: 0;
  background: transparent;
  overflow: visible !important;
}
.rich-markdown-measure .toastui-editor-contents {
  height: auto !important;
  min-height: 0 !important;  overflow: visible !important;
}
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-contents,
.rich-markdown-editor:not(.is-fullscreen) .ProseMirror,
.rich-markdown-editor:not(.is-fullscreen) .CodeMirror-lines { padding-bottom: 18px !important; }
.rich-markdown-editor:not(.is-fullscreen) .ProseMirror,
.rich-markdown-editor:not(.is-fullscreen) .toastui-editor-contents { min-height: 0 !important; }
.rich-markdown-editor .toastui-editor-contents h1,
.rich-markdown-editor .toastui-editor-contents h1 *,
.rich-markdown-editor .toastui-editor-contents h2,
.rich-markdown-editor .toastui-editor-contents h2 *,
.rich-markdown-editor .toastui-editor-contents h3,
.rich-markdown-editor .toastui-editor-contents h3 *,
.rich-markdown-editor .toastui-editor-contents h4,
.rich-markdown-editor .toastui-editor-contents h4 *,
.rich-markdown-editor .toastui-editor-contents strong,
.rich-markdown-editor .ProseMirror h1,
.rich-markdown-editor .ProseMirror h1 *,
.rich-markdown-editor .ProseMirror h2,
.rich-markdown-editor .ProseMirror h2 *,
.rich-markdown-editor .ProseMirror h3,
.rich-markdown-editor .ProseMirror h3 *,
.rich-markdown-editor .ProseMirror h4,
.rich-markdown-editor .ProseMirror h4 *,
.rich-markdown-editor .ProseMirror strong {
  color: var(--text) !important;
  border-color: var(--line) !important;
}
.rich-markdown-editor .toastui-editor-contents blockquote,
.rich-markdown-editor .toastui-editor-contents blockquote *,
.rich-markdown-editor .ProseMirror blockquote,
.rich-markdown-editor .ProseMirror blockquote * {
  color: var(--text-2) !important;
  border-left-color: var(--line-strong) !important;
}
.rich-markdown-editor .toastui-editor-contents code,
.rich-markdown-editor .toastui-editor-contents pre,
.rich-markdown-editor .ProseMirror code,
.rich-markdown-editor .ProseMirror pre {
  background: var(--code) !important;
  color: var(--code-text) !important;
}
.rich-markdown-editor .toastui-editor-contents a,
.rich-markdown-editor .ProseMirror a { color: var(--accent-2) !important; }
.rich-markdown-editor .toastui-editor-contents table,
.rich-markdown-editor .ProseMirror table { border-color: var(--line) !important; }
.rich-markdown-editor .toastui-editor-contents table th,
.rich-markdown-editor .toastui-editor-contents table th *,
.rich-markdown-editor .ProseMirror table th,
.rich-markdown-editor .ProseMirror table th * {
  background: var(--panel-2) !important;
  color: var(--text) !important;
  border-color: var(--line) !important;
  font-weight: 800 !important;
}
.rich-markdown-editor .toastui-editor-contents table td,
.rich-markdown-editor .toastui-editor-contents table td *,
.rich-markdown-editor .ProseMirror table td,
.rich-markdown-editor .ProseMirror table td * {
  background: var(--input) !important;
  color: var(--text-2) !important;
  border-color: var(--line) !important;
}
.rich-markdown-editor .toastui-editor-contents table td:first-child,
.rich-markdown-editor .toastui-editor-contents table td:first-child *,
.rich-markdown-editor .ProseMirror table td:first-child,
.rich-markdown-editor .ProseMirror table td:first-child * {
  color: var(--text) !important;
  font-weight: 650 !important;
}
input:focus, textarea:focus, select:focus { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 10%, transparent); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; align-items: start; }
.field--wide { grid-column: 1 / -1; }
.form-help { color: var(--text-3); font-size: 11px; margin: 4px 0; }

.repeater { grid-column: 1 / -1; border: 0; border-radius: 0; overflow: visible; }
.repeater-head { padding: 7px 0; display: flex; align-items: center; justify-content: space-between; background: transparent; border-bottom: 1px solid var(--line); }
.repeater-head strong { font-size: 12px; }
.repeater-head span { color: var(--text-3); font-size: 10px; display: block; }
.repeater-empty { padding: 20px; text-align: center; color: var(--text-3); font-size: 11px; }
.compact-record { display: grid; grid-template-columns: auto minmax(120px, .8fr) minmax(180px, 1.5fr) auto auto; gap: 10px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--line); cursor: pointer; }
.compact-record:last-child { border-bottom: 0; }
.b12-inline-editor { display:grid; gap:8px; margin:0 12px 12px; padding:10px; border:1px solid var(--accent); border-radius:8px; background:var(--panel-2); }.b12-inline-editor>header { display:flex; justify-content:space-between; align-items:center; }.b12-inline-editor>header span,.b12-inline-editor>header strong { display:block; }.b12-inline-editor>header span { color:var(--text-3); font-size:9px; font-family:var(--mono); }.b12-inline-editor>header strong { font-size:12px; }.b12-primary-fields,.b12-detail-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.b12-inline-editor details { border-top:1px solid var(--line); padding-top:7px; }.b12-inline-editor summary { cursor:pointer; color:var(--text-2); font-size:10px; font-weight:700; }.b12-inline-editor details>div { margin-top:8px; }.b12-inline-editor .field--wide { grid-column:1/-1; }
.compact-record:hover { background: var(--panel-2); }
.compact-record strong { font-size: 11px; }
.compact-record small { color: var(--text-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.repeater-row { padding: 8px 0; border-bottom: 1px solid var(--line); }
.repeater-row:last-child { border-bottom: 0; }
.row-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.row-id { font-family: ui-monospace, monospace; color: var(--accent); font-size: 11px; font-weight: 700; }
.row-head select { width: 125px; margin-left: auto; padding: 5px 7px; font-size: 11px; }
.row-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; align-items: start; }
.row-accountability { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.row-accountability--single { grid-template-columns: 1fr; }
.remove-row { border: 0; background: transparent; color: var(--text-3); cursor: pointer; }
.remove-row:hover { color: var(--text); }

.status-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 700; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--scope); }
.status--done .status-dot { background: var(--required); }
.status--wip .status-dot { background: var(--proposed); }
.status--todo .status-dot { background: var(--unanswered); }

.mock-shell { border: 1px solid var(--mock-border); border-radius: 10px; background: var(--mock-shell); color: var(--mock-text); overflow: hidden; margin-bottom: 16px; }
.mock-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; border-bottom: 1px solid var(--line); background: var(--panel-2); }
.segment { display: flex; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 7px; }
.segment button { border: 0; background: transparent; padding: 5px 8px; border-radius: 5px; font-size: 10px; color: var(--text-3); cursor: pointer; }
.segment button.is-on { background: var(--accent); color: var(--accent-ink); }
.review-view { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.review-view > span { color: var(--text-3); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.mock-stage { padding: 20px; min-height: 290px; display: grid; place-items: center; background: var(--mock-stage); }
.mock-page-wrap { width: min(100%, 980px); overflow-x: auto; border: 1px solid var(--mock-border); background: var(--mock-surface); color: var(--mock-text); min-height: 235px; }
.mock-canvas { display: grid; gap: 0; min-width: min-content; min-height: 235px; }
.mock-panel-row { display: grid; min-width: min-content; border-bottom: 1px solid var(--mock-border); }
.mock-row-stack { display: grid; min-height: 220px; border-bottom: 1px solid var(--mock-border); }
.mock-canvas > .mock-row-stack { min-height: inherit; }
.mock-panel-row:last-child, .mock-row-stack:last-child { border-bottom: 0; }
.mock-resize-handle { background: color-mix(in srgb, var(--mock-border) 68%, transparent); opacity: .55; z-index: 2; }
.mock-resize-handle:hover { background: var(--accent); opacity: .9; }
.mock-resize-handle--vertical { cursor: col-resize; min-width: 6px; }.mock-resize-handle--horizontal { cursor: row-resize; min-height: 6px; }
.is-resizing-layout { user-select: none; cursor: col-resize; }
.is-resizing-layout .mock-resize-handle--horizontal { cursor: row-resize; }
.mock-row { border-bottom: 1px solid var(--mock-border); background: var(--mock-shell); padding: 9px; cursor: pointer; }
.mock-row:last-child { border-bottom: 0; }
.mock-row:hover, .mock-row.is-selected, .mock-panel:hover, .mock-panel.is-selected { outline: 2px solid var(--accent); outline-offset: -2px; }
.mock-row-title, .mock-panel-title { display: grid; gap: 2px; margin-bottom: 9px; }
.mock-row-title span, .mock-panel-title span { color: var(--mock-muted); font: 8px ui-monospace, monospace; text-transform: uppercase; }
.mock-row-title strong, .mock-panel-title strong { font-size: 11px; }
.mock-row-title p, .mock-panel-title p { margin: 0; color: var(--mock-muted); font-size: 9px; line-height: 1.35; }
.mock-row-title small, .mock-panel-title small { color: var(--mock-muted); font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.mock-row-content { display: grid; gap: 8px; min-width: 0; }
.mock-panel { min-width: 130px; border-right: 1px solid var(--mock-border); background: var(--mock-surface); padding: 9px; cursor: pointer; }
.mock-panel:last-child { border-right: 0; }
.mock-panel-content { display: grid; gap: 8px; min-width: 0; }
.mock-canvas-empty { min-height: 235px; display: grid; place-content: center; gap: 5px; text-align: center; color: var(--mock-muted); }
.mock-canvas-empty strong { color: var(--mock-text); font-size: 14px; }
.mock-canvas-empty span { font-size: 10px; }
.mock-condition { display: grid; gap: 4px; padding: 10px 18px; border-bottom: 1px solid var(--mock-border); background: var(--mock-shell); }
.mock-condition strong { font-size: 12px; }
.mock-condition span { font-size: 11px; }
.mock-condition small { color: var(--mock-muted); font-size: 9px; }
.mock-element { border: 1px solid var(--mock-border); background: var(--mock-surface); padding: 10px; margin-bottom: 9px; cursor: pointer; }
.mock-element:hover, .mock-element.is-selected { outline: 2px solid var(--accent); outline-offset: 1px; }
.mock-label { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; text-transform: uppercase; letter-spacing: .08em; font-size: 8px; color: var(--mock-muted); }
.mock-marker { display: inline-flex; width: max-content; border-radius: 999px; padding: 2px 5px; font: 700 8px ui-monospace, monospace; text-transform: uppercase; letter-spacing: .04em; background: var(--panel-3); color: var(--text-2); }
.mock-marker--required { background: var(--panel-3); color: var(--text); }
.mock-marker--proposed { background: var(--panel-3); color: var(--text-2); }
.mock-marker--unanswered { background: var(--panel-3); color: var(--text-2); }
.mock-marker--observed { background: var(--panel-3); color: var(--text-2); }
.mock-marker--out-of-scope { background: color-mix(in srgb, var(--text-3) 22%, transparent); color: var(--text-3); }
.mock-name { font-weight: 700; margin-top: 3px; }
.mock-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.mock-control { border: 1px solid var(--mock-border); background: var(--mock-control); color: var(--mock-text); padding: 6px 9px; font-size: 10px; cursor: pointer; }
.mock-control:hover, .mock-control.is-selected { outline: 2px solid var(--accent); }
.mock-inline-meta { display: block; margin-top: 2px; color: var(--mock-muted); font: 7px ui-monospace, monospace; text-transform: uppercase; letter-spacing: .04em; }
.mock-control .mock-marker { margin-left: 6px; vertical-align: middle; }
.honesty-on :is(.mock-row, .mock-panel, .mock-element, .mock-control, .mock-layout-section).status--done { background: color-mix(in srgb, var(--required) 20%, var(--mock-surface)); border-color: var(--required); }
.honesty-on :is(.mock-row, .mock-panel, .mock-element, .mock-control, .mock-layout-section).status--wip { background: color-mix(in srgb, var(--proposed) 22%, var(--mock-surface)); border-color: var(--proposed); }
.honesty-on :is(.mock-row, .mock-panel, .mock-element, .mock-control, .mock-layout-section).status--todo { background: color-mix(in srgb, var(--unanswered) 20%, var(--mock-surface)); border-color: var(--unanswered); }
.mock-layout-section { border: 1px solid var(--mock-border); background: var(--mock-surface-alt); padding: 8px; margin-bottom: 10px; cursor: pointer; }
.mock-layout-section:hover, .mock-layout-section.is-selected { outline: 2px solid var(--accent); outline-offset: 1px; }
.mock-layout-title { display: flex; gap: 7px; align-items: center; font-weight: 700; font-size: 11px; margin-bottom: 7px; }
.mock-layout-title span { color: var(--mock-muted); font: 8px ui-monospace, monospace; }
.mock-layout-grid { display: grid; grid-template-columns: repeat(var(--mock-columns), minmax(0, 1fr)); gap: 7px; }
.mock-layout-grid .mock-element { margin: 0; min-width: 0; }
.mock-layout-grid .mock-control { align-self: end; justify-self: start; }
.mock-input { border: 1px solid var(--mock-border); background: var(--mock-surface-alt); color: var(--mock-muted); padding: 6px; margin-top: 6px; font-size: 9px; }
.mock-lines { display: grid; gap: 4px; margin-top: 7px; }
.mock-lines i { display: block; height: 5px; background: var(--mock-placeholder); }
.mock-lines i:nth-child(2) { width: 82%; }
.mock-lines i:nth-child(3) { width: 68%; }
.mock-table { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--mock-border); border: 1px solid var(--mock-border); margin-top: 7px; }
.mock-table i { display: block; height: 13px; background: var(--mock-surface-alt); }
.mock-element--notice { border-left: 4px solid var(--accent); background: var(--mock-notice); }
.mock-element--navigation { background: var(--mock-surface-alt); }
.mock-navigation-items { display: grid; gap: 3px; margin-top: 7px; }
.mock-navigation-items span { display: block; padding: 5px 6px; border-radius: 4px; color: var(--mock-muted); font-size: 9px; }
.mock-navigation-items span:first-child { background: var(--mock-control); color: var(--mock-text); }
.mock-empty { border: 1px dashed var(--mock-border); padding: 12px; color: var(--mock-muted); font-size: 10px; text-align: center; }
.mock-caption { padding: 9px 12px; border-top: 1px solid var(--mock-border); background: var(--mock-shell); color: var(--mock-muted); font-size: 10px; }
/* A freeform, screen-level mock: semantic areas remain linked to B04 records without rendering as nested documentation cards. */
.mock-stage--freeform { display: block; padding: 20px; place-items: initial; }
.mock-stage--freeform .mock-page-wrap { width: 100%; max-width: none; }
.freeform-structure { max-width: 980px; margin: 0 auto 8px; border: 1px solid var(--app-contour-color); border-radius: 7px; padding: 7px 9px; background: #f8fafc; color: #334155; }
.freeform-structure > strong { display: block; margin-bottom: 5px; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.freeform-structure > div { display: flex; flex-wrap: wrap; gap: 5px; }
.freeform-structure button { display: inline-flex; align-items: baseline; gap: 5px; border: 1px solid var(--app-contour-color); border-radius: 4px; padding: 3px 6px; background: #fff; color: inherit; font: 700 9px/1.2 ui-monospace, monospace; text-align: left; cursor: pointer; }
.freeform-structure button:hover { border-color: var(--app-contour-color); color: #3A3A3A; }
.freeform-structure b { color: #3A3A3A; }
.freeform-structure span { font-family: inherit; font-weight: 500; }
.freeform-structure small { color: #64748b; font-family: inherit; font-weight: 500; }
.honesty-on .freeform-structure { border-color: color-mix(in srgb, var(--required) 65%, #94a3b8); }

/* Home freeform screen: reusable visual-mode scaffold with page-specific Home composition. */
.monitoring-freeform{max-width:1100px;margin:auto;padding:20px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px}.monitoring-freeform header{display:flex;justify-content:space-between;align-items:end}.monitoring-freeform h2{margin:3px 0;font-size:23px}.monitoring-freeform header span{color:#3A3A3A;text-transform:uppercase;font-size:9px;font-weight:800}.monitoring-freeform header p{margin:0;color:#64748b}.monitoring-freeform button,.monitoring-freeform input{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:6px;color:#334155;font:inherit}.monitoring-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.mon-tile{text-align:left}.mon-tile span,.mon-tile small{display:block;color:#64748b}.mon-tile strong{display:block;font-size:18px;margin:5px 0}.mon-tile--0{border-top:3px solid #dc2626!important}.mon-tile--1{border-top:3px solid #ea580c!important}.mon-tile--2{border-top:3px solid #ca8a04!important}.monitoring-tabs{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--app-contour-color)}.monitoring-tabs>span{margin-right:3px;color:#64748b;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.monitoring-tabs button{border:0;border-radius:0;background:transparent}.monitoring-tabs .is-active{border-bottom:2px solid #3A3A3A;color:#3A3A3A;font-weight:800}.monitoring-freeform--honesty :is(header,.monitoring-tiles,.monitoring-tabs,.mon-work,.mon-alerts){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}.mon-work{display:grid;grid-template-columns:32% 1fr;gap:12px;margin-top:12px}.mon-work aside,.mon-work article,.mon-alerts{padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.mon-work aside input{width:100%;box-sizing:border-box}.mon-group button{display:grid;grid-template-columns:40px 1fr auto;gap:6px;width:100%;margin-top:7px;text-align:left}.mon-group small{grid-column:2/4;color:#64748b}.mon-sev{font-style:normal;font-size:8px;font-weight:800}.mon-sev--sev1{color:#b91c1c}.mon-sev--sev2{color:#9a3412}.mon-sev--sev3{color:#92400e}.mon-filter{display:flex;gap:5px;margin:10px 0}.mon-filter input{flex:1}.mon-analytic-grid,.mon-alert-grid{display:grid;gap:7px;align-items:center;padding:8px 3px;border-top:1px solid var(--app-contour-color)}.mon-analytic-grid{grid-template-columns:minmax(175px,1fr) 76px 72px minmax(280px,2.4fr);column-gap:14px}.mon-alert-grid{grid-template-columns:45px 1fr 2fr .7fr .6fr .55fr .7fr 30px}.mon-head{background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.mon-heat{display:flex;gap:3px}.mon-heat i{width:16px;height:13px;background:#fef3c7}.mon-heat i.watch{background:#fed7aa}.mon-heat i.building{background:#fb923c}.mon-heat i.near{background:#ea580c}.mon-heat i.fired{background:#dc2626}.mon-bulk{margin:8px 0;padding:8px;background:#fef3c7}.models-freeform { max-width:1120px; margin:0 auto; padding:22px; border:1px solid var(--app-contour-color); border-radius:12px; background:#f8fafc; color:#0f172a; font-size:11px; }.models-freeform :is(section,header){position:relative}.models-header{display:flex;justify-content:space-between;align-items:end;padding:2px 2px 16px}.models-header span{color:#3A3A3A;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.models-header h2{margin:3px 0;font-size:23px;letter-spacing:-.04em}.models-header p{margin:0;color:#64748b}.models-header p b{padding:0 4px}.models-toolbar{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--app-contour-color);border-bottom:1px solid var(--app-contour-color)}.models-filter{display:flex;align-items:center;gap:3px}.models-filter>span{margin-right:3px;color:#64748b;font-size:9px;font-weight:700;text-transform:uppercase}.models-filter button,.models-view,.models-create{border:1px solid var(--app-contour-color);border-radius:5px;padding:6px 8px;background:#fff;color:#475569;font:inherit}.models-filter button.is-active{border-color:#3A3A3A;background:#F1F1F1;color:#3A3A3A;font-weight:700}.models-view{margin-left:auto}.models-create{border-color:var(--app-contour-color);background:#3A3A3A;color:#fff;font-weight:700}.models-delete-notice{display:flex;align-items:center;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid #fecaca;border-radius:7px;background:#fef2f2;color:#991b1b}.models-delete-notice span{margin-right:auto}.models-delete-notice button{border:1px solid #fca5a5;border-radius:5px;padding:5px 8px;background:#fff;color:#991b1b;font:inherit}.models-delete-notice button.is-danger{background:#b91c1c;color:#fff}.models-table{margin-top:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;overflow:hidden}.models-table-title{display:flex;justify-content:space-between;padding:11px 12px}.models-table-title span{color:#64748b;font-size:10px}.models-grid{display:grid;grid-template-columns:1.5fr 1.05fr .65fr .9fr .5fr .7fr .85fr .6fr .55fr 24px;gap:8px;align-items:center;padding:9px 12px;border-top:1px solid var(--app-contour-color);color:#475569}.models-grid--head{background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.models-name{padding:0;border:0;background:transparent;color:#3A3A3A;text-align:left;font:700 11px inherit;cursor:pointer}.models-positive{color:#5E5E5E}.models-risk,.models-status,.models-alert{display:inline-block;border-radius:999px;padding:3px 6px;background:#f1f5f9;color:#475569;font-size:9px;font-style:normal;white-space:nowrap}.models-status.is-draft{background:#fef3c7;color:#92400e}.models-alert{border:0;font-weight:800}.models-alert--sev1{background:#fee2e2;color:#b91c1c}.models-alert--sev2{background:#ffedd5;color:#9a3412}.models-alert--sev3{background:#fef3c7;color:#92400e}.models-delete{border:0;background:transparent;color:#64748b;font-size:17px;line-height:1;cursor:pointer}.models-empty{padding:22px;color:#64748b;text-align:center}.models-audit-tag{position:absolute;right:7px;top:5px;border:1px solid #6F6F6F;border-radius:999px;padding:2px 5px;background:#fff;color:#3A3A3A;font:700 8px/1 ui-monospace,monospace;white-space:nowrap}.models-freeform--honesty :is(.models-header,.models-toolbar,.models-table,.models-delete-notice){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}.model-profile-freeform{max-width:1120px;margin:0 auto;padding:22px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px}.model-profile-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.model-profile-header h2{margin:3px 0 7px;font-size:24px}.model-save-confirmation{margin:6px 0 0;color:#3A3A3A;font-size:10px;font-weight:700}.model-profile-header span,.model-objective strong{display:block;color:#3A3A3A;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.model-profile-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.model-profile-actions button,.model-profile-tabs button,.model-profile-chart button{border:1px solid #cbd5e1;border-radius:5px;background:#fff;padding:6px 9px;color:#475569;font:inherit}.model-profile-actions button:hover,.model-profile-tabs button.is-active,.model-profile-chart button.is-active{border-color:#3A3A3A;color:#3A3A3A}.model-objective{display:flex;gap:12px;margin:18px 0;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-objective strong{min-width:150px}.model-objective span{color:#475569}.model-objective em{color:#64748b;font-size:10px}.model-profile-tabs{display:flex;gap:4px;border-bottom:1px solid var(--app-contour-color)}.model-profile-tabs button{border-bottom:0;border-radius:6px 6px 0 0}.model-profile-chart,.model-profile-allocations article,.model-holdings{margin-top:14px;padding:14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.model-profile-chart header,.model-holdings header{display:flex;justify-content:space-between;align-items:center}.model-profile-chart h3,.model-profile-allocations h3,.model-holdings h3{margin:0;font-size:13px}.model-line-chart{height:180px;margin-top:10px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 44px,#e2e8f0 45px)}.model-line-chart svg{width:100%;height:100%}.model-line-chart polyline{fill:none;stroke:#3A3A3A;stroke-width:4;vector-effect:non-scaling-stroke}.model-chart-labels{display:flex;justify-content:space-between;color:#64748b}.model-chart-labels strong{color:#5E5E5E}.model-profile-allocations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.model-profile-allocations p{color:#475569;line-height:1.4}.model-donut{width:100px;height:100px;margin:14px auto;border-radius:50%;background:conic-gradient(#3A3A3A 0 54%,#B8B8B8 54% 85%,#cbd5e1 85%);position:relative}.model-donut:after{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff}.model-donut--country{background:conic-gradient(#3A3A3A 0 46%,#777777 46% 84%,#cbd5e1 84%)}.model-donut--sector{background:conic-gradient(#3A3A3A 0 28%,#777777 28% 50%,#B8B8B8 50% 68%,#cbd5e1 68%)}.model-holdings small{color:#64748b}.model-holding-head,.model-holding-row{display:grid;grid-template-columns:1.6fr .7fr 1fr .55fr .7fr;gap:8px;padding:8px 4px;border-top:1px solid var(--app-contour-color)}.model-holding-head{margin-top:10px;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.model-holding-row span:nth-child(4),.model-holding-row span:nth-child(5){color:#5E5E5E}.model-compare-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.model-compare-picker label{display:grid;gap:5px;color:#3A3A3A;font-size:9px;font-weight:800;text-transform:uppercase}.model-compare-picker select{border:1px solid var(--app-contour-color);border-radius:5px;padding:8px;background:#fff;color:#475569;font:inherit}.model-compare-table{display:grid;grid-template-columns:1.4fr 1fr 1fr;margin-top:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;overflow:hidden}.model-compare-table>*{padding:11px;border-top:1px solid var(--app-contour-color)}.model-compare-table strong{background:#F1F1F1;color:#3A3A3A}.model-compare-table span{color:#64748b}.model-compare-table b{font-weight:600}.model-starting-points{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-starting-points strong{width:100%;color:#3A3A3A;font-size:9px;text-transform:uppercase}.model-starting-points button,.model-browse select,.model-browse input{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:7px;color:#475569;font:inherit}.model-starting-points button.is-active{border-color:#3A3A3A;background:#F1F1F1;color:#3A3A3A;font-weight:700}.model-builder-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.model-browse,.model-builder{padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-builder{display:flex;flex-direction:column;min-height:620px}.model-builder-results{height:470px;min-height:0;overflow-y:scroll;scrollbar-gutter:stable;flex:none}.model-browse-results::-webkit-scrollbar,.model-builder-results::-webkit-scrollbar{width:10px}.model-browse-results::-webkit-scrollbar-track,.model-builder-results::-webkit-scrollbar-track{background:#f1f5f9;border-left:1px solid var(--app-contour-color)}.model-browse-results::-webkit-scrollbar-thumb,.model-builder-results::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:8px}.model-builder>footer{margin-top:auto;padding-top:10px;border-top:2px solid var(--app-contour-color);display:flex;justify-content:space-between;align-items:center}.model-builder>footer small,.model-edit-card>footer small{color:#64748b}.model-builder>footer small{font-size:10px}.model-browse-results{height:470px;overflow-y:scroll;scrollbar-gutter:stable;margin-top:2px;padding-right:4px}.model-browse header,.model-builder header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.model-browse h3,.model-builder h3{margin:0;font-size:13px}.model-browse header span{color:#64748b;font-size:10px}.model-browse input{width:100%;box-sizing:border-box;margin-bottom:7px}.model-browse select{width:100%}.model-security-result{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-top:1px solid var(--app-contour-color)}.model-security-result strong,.model-security-result small{display:block}.model-security-result small{color:#64748b}.model-security-result.is-added{opacity:.48;background:#f1f5f9}.model-security-result button.is-disabled,.model-security-result button:disabled{cursor:not-allowed;color:#94a3b8;background:#f1f5f9;border-color:var(--app-contour-color)}.model-security-result button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:5px 7px;color:#3A3A3A;font:inherit}.model-builder header button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:5px 7px;color:#3A3A3A;font:inherit}.model-edit-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.model-edit-card,.model-edit-summary article{padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-edit-card--draft{border-color:var(--app-contour-color)}.model-edit-card header,.model-edit-card footer{display:flex;justify-content:space-between;align-items:center}.model-edit-card h3,.model-edit-summary h3{margin:0;font-size:13px}.model-edit-card header span{color:#64748b;font-size:10px}.model-edit-card header button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:5px 7px;color:#3A3A3A;font:inherit}.model-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 55px 55px 18px 22px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--app-contour-color)}.model-edit-row input{width:52px;border:1px solid var(--app-contour-color);border-radius:4px;padding:4px;font:inherit}.model-remove-security{border:0;background:transparent;color:#64748b;font-size:18px;line-height:1;cursor:pointer}.model-remove-security:hover{color:#dc2626}.model-edit-card footer{margin-top:10px;padding-top:10px;border-top:2px solid var(--app-contour-color);color:#64748b}.model-edit-card footer strong{color:#3A3A3A}.model-edit-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.model-edit-summary ul{margin:12px 0 0;padding-left:18px;color:#475569}.model-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;color:#64748b}.model-metric-grid strong{color:#3A3A3A}.model-edit-note{display:grid;gap:6px;margin:14px 0}.model-edit-note textarea{min-height:60px;border:1px solid var(--app-contour-color);border-radius:6px;padding:8px;font:inherit}.model-monitor-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.model-monitor-summary article{padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-monitor-summary span,.model-monitor-summary small{display:block;color:#64748b}.model-monitor-summary strong{display:block;margin:6px 0;font-size:19px;color:#3A3A3A}.model-monitor-panel{margin-top:14px;padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-monitor-panel header{display:flex;justify-content:space-between;align-items:center}.model-monitor-panel h3{margin:0;font-size:13px}.model-monitor-panel header small{display:block;margin-top:4px;color:#64748b}.model-history-controls{display:flex;gap:4px}.model-history-controls button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:5px 8px;color:#475569;font:inherit}.model-history-controls button.is-active{border-color:#3A3A3A;background:#F1F1F1;color:#3A3A3A;font-weight:700}.model-alert-row,.model-document-row{display:grid;grid-template-columns:80px 1.2fr 2fr 1fr auto;gap:10px;align-items:center;padding:10px 4px;border-top:1px solid var(--app-contour-color)}.model-alert-row span,.model-alert-row small,.model-document-row span,.model-document-row small{color:#475569}.model-document-item{grid-template-columns:minmax(280px,2fr) minmax(150px,1fr) minmax(180px,1fr) 150px;min-height:56px}.model-document-actions{display:flex;gap:6px;justify-content:flex-end}.model-document-actions button{min-width:38px;border:1px solid var(--app-contour-color);border-radius:5px;padding:5px 8px;background:#fff;color:#3A3A3A;font:inherit}.model-version-item{grid-template-columns:minmax(165px,1.1fr) minmax(130px,.9fr) minmax(260px,2fr) minmax(120px,.9fr) 100px;min-height:56px}.model-version-item button{width:100%}.model-document-item strong{font-size:12px}.model-document-item button{width:100%}.model-alert-row button,.model-document-row button,.model-monitor-panel header button{border:1px solid var(--app-contour-color);border-radius:5px;padding:5px 8px;background:#fff;color:#3A3A3A;font:inherit}.model-trigger-heat{display:flex;gap:4px;margin-top:14px}.model-trigger-heat i{height:14px;flex:0 0 6px;border-radius:1px;background:#fef3c7}.model-analytic-row .model-trigger-heat{display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden}.model-trigger-heat i.watch{background:#fed7aa}.model-trigger-heat i.near{background:#fb923c}.model-trigger-heat i.building{background:#f97316}.model-trigger-heat i.fired{background:#dc2626}.model-heat-legend{display:flex;justify-content:flex-end;gap:16px;align-items:center}.model-heat-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;color:#64748b}.model-heat-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;background:#d1fae5}.model-heat-legend i.watch{background:#fed7aa}.model-heat-legend i.building{background:#fb923c}.model-heat-legend i.near{background:#fb923c}.model-heat-legend i.fired{background:#dc2626}.model-document-row strong{color:#3A3A3A}.model-document-row small{font-size:10px}.model-asset-tabs{display:flex;align-items:center;gap:4px;margin-top:12px;border-bottom:1px solid var(--app-contour-color)}.model-asset-tabs button{border:1px solid transparent;border-radius:5px 5px 0 0;background:#fff;padding:7px 10px;color:#475569;font:inherit}.model-asset-tabs button.is-active{border-color:#3A3A3A;background:#3A3A3A;color:#fff;font-weight:700}.model-asset-tabs button span{margin-left:4px;border-radius:99px;padding:2px 5px;background:#f1f5f9;color:#64748b;font-size:9px}.model-sector-anchor{position:relative;margin-left:auto}.model-sector-control{margin-left:0!important;border-color:var(--app-contour-color)!important}.model-sector-menu{position:absolute;z-index:5;right:0;top:calc(100% + 5px);min-width:170px;padding:5px;border:1px solid var(--app-contour-color);border-radius:6px;background:#fff;box-shadow:0 10px 24px #0f172a22}.model-sector-menu button{display:block;width:100%;border:0;border-radius:4px;background:#fff;padding:7px;text-align:left;color:#475569;font:inherit}.model-sector-menu button:hover,.model-sector-menu button.is-active{background:#F1F1F1;color:#3A3A3A}.model-analytics-note{display:block;margin:9px 0;color:#64748b}.model-analytic-head,.model-analytic-row{display:grid;grid-template-columns:1.5fr .7fr .7fr 3fr;gap:10px;align-items:center;padding:8px 4px;border-top:1px solid var(--app-contour-color)}.model-analytic-head{background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.model-analytic-row strong{color:#3A3A3A}.model-analytic-row .model-trigger-heat{margin-top:0}.model-monitor-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.model-monitor-footer .model-heat-legend{justify-content:flex-end}.model-monitor-footer .model-heat-legend small{margin-left:5px}.model-allocation-bar{height:8px;margin-top:10px;border-radius:99px;background:#e2e8f0;overflow:hidden}.model-allocation-bar i{display:block;height:100%;background:#3A3A3A}.model-edit-card footer strong.is-over,.model-builder footer strong.is-over{color:#dc2626}.model-validation-modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0f172a66}.model-validation-modal>div{width:min(420px,calc(100vw - 40px));padding:22px;border:1px solid var(--app-contour-color);border-radius:10px;background:#fff;box-shadow:0 20px 60px #0f172a33}.model-validation-modal h3{margin:0 0 8px}.model-validation-modal p{color:#475569}.model-validation-modal button{float:right;border:1px solid var(--app-contour-color);border-radius:5px;padding:7px 18px;background:#3A3A3A;color:#fff;font:inherit}.model-edit-card footer strong.is-under,.model-builder footer strong.is-under{color:#2563eb}.model-edit-card footer strong.is-valid,.model-builder footer strong.is-valid{color:#0f172a}.model-create-name{display:grid;gap:4px;margin-top:10px;max-width:420px;color:#3A3A3A;font-size:10px;font-weight:800;text-transform:uppercase}.model-create-name input{border:1px solid var(--app-contour-color);border-radius:5px;padding:8px;background:#fff;color:#0f172a;font:inherit;font-weight:400;text-transform:none}.model-create-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.model-create-dashboard article{padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.model-create-dashboard span,.model-create-dashboard small{display:block;color:#64748b}.model-create-dashboard strong{display:block;margin:7px 0;color:#3A3A3A;font-size:18px}@media(max-width:760px){.model-profile-header,.model-objective{display:block}.model-edit-columns,.model-edit-summary,.model-monitor-summary,.model-builder-columns,.model-create-dashboard,.model-compare-picker{grid-template-columns:1fr}.model-analytic-head,.model-analytic-row{min-width:720px}.model-monitor-analytics{overflow-x:auto}.model-monitor-footer{min-width:720px}.model-profile-actions{justify-content:flex-start;margin-top:12px}.model-profile-allocations{grid-template-columns:1fr}.model-holdings{overflow-x:auto}.model-holding-head,.model-holding-row{min-width:620px}}
.home-freeform { max-width: 980px; margin: 0 auto; padding: 18px; border: 1px solid var(--app-contour-color); border-radius: 12px; background: #f8fafc; color: #0f172a; font-size: 11px; }
.home-freeform :is(section, article, .home-utility) { position: relative; }
.home-utility { display: flex; justify-content: flex-end; gap: 10px; align-items: center; color: #64748b; font-size: 10px; }
.home-utility button { border: 1px solid var(--app-contour-color); border-radius: 6px; padding: 5px 9px; background: #fff; color: #334155; font: inherit; }
.home-notifications { display:grid; gap:7px; margin-top:10px; position:relative; }
.home-notification { display:grid; grid-template-columns:18px minmax(0,1fr) auto 20px; gap:8px; align-items:center; padding:9px 10px; border:1px solid; border-radius:7px; font-size:10px; line-height:1.35; }
.home-notification--critical { background:#fef2f2; border-color:#fecaca; color:#991b1b; }.home-notification--info { background:#F1F1F1; border-color:var(--app-contour-color); color:#303030; }
.home-notification-icon { display:grid; place-items:center; width:17px; height:17px; border-radius:50%; background:currentColor; color:#fff; font-weight:800; }.home-notification p { margin:0; }.home-notification p strong { margin-right:4px; }.home-notification-details,.home-notification-dismiss { border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; font-weight:700; }.home-notification-details { text-decoration:underline; white-space:nowrap; }.home-notification-dismiss { font-size:17px; line-height:1; padding:0; }
.home-team { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 14px; margin-top: 10px; padding: 14px; border: 1px solid var(--app-contour-color); border-radius: 8px; background: #fff; }
.home-team div { display: grid; gap: 4px; }.home-team span { color: #64748b; font-size: 9px; font-weight: 700; letter-spacing:.05em; text-transform:uppercase; }.home-team strong { font-size: 14px; }.home-team small { color:#64748b; }
.home-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 12px 0; }.home-tile { display:grid; gap:4px; min-height:78px; border:1px solid var(--app-contour-color); border-radius:8px; padding:11px; background:#fff; color:#334155; text-align:left; cursor:pointer; }.home-tile span{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-tile strong{font-size:21px;color:#0f172a}.home-tile small{color:#64748b}.home-tile--sev1{border-color:#ef4444}.home-tile--sev1 strong{color:#b91c1c}.home-tile--sev2{border-color:#c2410c}.home-tile--sev2 strong{color:#9a3412}
.home-tables { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.home-tables article,.home-bottom article{border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;padding:12px;overflow:hidden}.home-tables h3,.home-bottom h3{margin:0 0 9px;font-size:12px}.home-grid{display:grid;align-items:center;gap:6px;padding:7px 3px;border-top:1px solid var(--app-contour-color);color:#475569;font-size:10px}.home-grid--head{border-top:0;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.home-grid--alerts{grid-template-columns:40px 1.3fr .9fr 1fr 55px 1.4fr 60px}.home-grid strong{color:#0f172a}.home-tier{border-radius:999px;padding:3px 5px;font-size:8px;font-weight:700;text-align:center}.home-tier--sev1{background:#fee2e2;color:#b91c1c}.home-tier--sev2{background:#ffedd5;color:#9a3412}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.home-bottom p{margin:0;color:#475569;line-height:1.4}.home-audit-tag{position:absolute;right:7px;top:5px;border:1px solid #6F6F6F;border-radius:999px;padding:2px 5px;background:#fff;color:#3A3A3A;font:700 8px/1 ui-monospace,monospace;white-space:nowrap}.home-freeform--honesty :is(.home-notifications,.home-team,.home-stats,.home-tables article,.home-bottom article){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}@media(max-width:760px){.models-toolbar{flex-wrap:wrap}.models-view{margin-left:0}.models-table{overflow-x:auto}.models-grid{min-width:900px}.home-team,.home-stats,.home-tables,.home-bottom{grid-template-columns:1fr 1fr}.home-tables{grid-template-columns:1fr}.home-grid--alerts{min-width:520px}.home-tables article{overflow-x:auto}.home-notification{grid-template-columns:18px minmax(0,1fr) 20px}.home-notification-details{grid-column:2;justify-self:start}}

.composer { border: 1px solid var(--line); border-radius: 9px; overflow: hidden; margin-bottom: 16px; }
.canvas-empty { min-height: 180px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--text-3); }
.canvas-empty strong { color: var(--text); font-size: 14px; }
.canvas-empty span { font-size: 10px; }
.composer-head { padding: 11px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--panel-2); border-bottom: 1px solid var(--line); }
.composer-head strong, .composer-head span { display: block; }
.composer-head strong { font-size: 12px; }
.composer-head span { color: var(--text-3); font-size: 10px; }
.composer-head-actions, .composer-add-layout { display: flex; flex-wrap: wrap; gap: 6px; }
.composer-tree { display: grid; gap: 10px; padding: 10px; }
.composer-region { border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); overflow: hidden; margin-left: calc(var(--composer-depth, 0) * 10px); }
.composer-region--panel { background: color-mix(in srgb, var(--accent) 5%, var(--panel-2)); }
.composer-region-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); cursor: pointer; }
.composer-region-head > strong { min-width: 0; font-size: 11px; }
.composer-region-description { min-width: 120px; flex: 1; color: var(--text-3); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.composer-region-head > small { color: var(--text-3); font-size: 9px; text-transform: uppercase; }.composer-region-head label { color: var(--text-3); font-size: 9px; }
.composer-region-head select { width: 52px; margin-left: 4px; }
.composer-size-input { width: 58px; margin-left: 4px; }
.composer-region-body { padding: 10px; display: grid; gap: 8px; }
.composer-add-layout { padding-top: 2px; }
.composer-section { border-bottom: 1px solid var(--line); }
.composer-section:last-child { border-bottom: 0; }
.composer-section-head { display: flex; align-items: center; gap: 8px; padding: 10px 11px; background: color-mix(in srgb, var(--text) 2%, transparent); cursor: pointer; }
.composer-section-head strong { min-width: 0; flex: 1; }
.composer-section-head label { display: flex; align-items: center; gap: 5px; color: var(--text-3); font-size: 10px; }
.composer-section-head select { width: 55px; padding: 4px; font-size: 10px; }
.composer-move, .composer-item-actions button { border: 1px solid var(--line); background: var(--panel-2); border-radius: 5px; color: var(--text-2); cursor: pointer; padding: 3px 6px; }
.composer-move:disabled, .composer-item-actions button:disabled { opacity: .28; cursor: default; }
.composer-items { padding: 8px 11px; display: grid; gap: 6px; }
.composer-item { border: 1px solid var(--line); border-radius: 7px; padding: 7px 8px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.composer-item:hover, .composer-section:hover > .composer-section-head { border-color: var(--line-strong); background: var(--panel-2); }
.composer-item strong { min-width: 0; flex: 1; font-size: 11px; }
.composer-item small { color: var(--text-3); font-size: 9px; text-transform: uppercase; }
.composer-item-actions { display: flex; gap: 3px; }
.composer-add { display: flex; gap: 7px; padding: 0 11px 11px; }
.composer-add select { width: 150px; padding: 5px 7px; font-size: 11px; }
.selected-record-editor { border: 1px solid var(--accent); border-radius: 10px; background: color-mix(in srgb, var(--accent) 5%, var(--panel)); padding: 10px; margin: 0 0 10px; scroll-margin-top: 104px; }
/* Reserve a full viewport beneath a selected record so its heading can align below any sticky navigation, even near the document end. */
.block:has(.selected-record-editor) { padding-bottom: calc(100vh + 32px); }
.selected-record-editor-head { display: flex; justify-content: space-between; align-items: start; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line)); }
.selected-record-editor h2 { margin: 2px 0 0; font-size: 14px; }
.selected-record-editor .inspector-section { margin-top: 8px; padding-top: 0; border-top: 0; }
.selected-record-editor .inspector-section + .inspector-section { padding-top: 8px; border-top: 1px solid var(--line); }
.is-previewing .menu-column, .is-previewing .inspector-column { display: none; }
.is-previewing .app-shell { display: block; min-height: 100vh; }
.is-previewing .document-column { padding: 0; min-height: 100vh; overflow: hidden; }
.fullscreen-preview { position: relative; min-height: 100vh; background: var(--mock-stage); }
.app-preview { display: grid; grid-template-columns: var(--menu-width) minmax(0, 1fr); }
.preview-app-menu { min-height: 100vh; padding: 22px 10px; border-right: 1px solid var(--mock-border); background: var(--mock-stage); color: var(--mock-text); display: flex; flex-direction: column; }
.app-preview[data-mock-theme="light"] { --mock-stage: #f4f4f4; --mock-surface: #fff; --mock-text: #171717; --mock-muted: #525252; --mock-border: #d4d4d4; }
.app-preview[data-mock-theme="dark"] { --mock-stage: #121212; --mock-surface: #1c1c1c; --mock-text: #f5f5f5; --mock-muted: #cfcfcf; --mock-border: #3a3a3a; }
.preview-app-menu nav { display: flex; flex: 1; min-height: 0; flex-direction: column; gap: 1.8px; margin-top: 18px; }
.preview-app-logo, .preview-app-link { width: 100%; border: 0; border-radius: 7px; background: transparent; color: var(--mock-muted); cursor: pointer; text-align: left; }
.preview-app-logo { min-height: 42px; padding: 9px 10px; }
.preview-app-logo img { display: block; width: min(142px, 100%); height: auto; filter: invert(1); opacity: .94; transform: translateX(-6px); }
html[data-theme="light"] .preview-app-logo img,
.app-preview[data-mock-theme="light"] .preview-app-logo img { filter: none; opacity: .9; }
.app-preview[data-mock-theme="dark"] .preview-app-logo img { filter: invert(1); opacity: .94; }
.preview-app-link { min-height: 27px; padding: 5.4px 9px; font-size: 12px; }
.preview-app-logo:hover, .preview-app-logo.is-active, .preview-app-link:hover, .preview-app-link.is-active { background: var(--mock-surface); color: var(--mock-text); }
.preview-app-stage { position: relative; min-width: 0; min-height: 100vh; }
.fullscreen-preview .mock-controls, .fullscreen-preview .mock-caption, .fullscreen-preview .composer { display: none; }
.fullscreen-preview .mock-shell, .fullscreen-preview .mock-stage, .fullscreen-preview .mock-page-wrap { min-height: 100vh; }
.fullscreen-preview .mock-shell, .fullscreen-preview .mock-page-wrap { border: 0; border-radius: 0; }
.fullscreen-preview .mock-stage { padding: 0; place-items: stretch; }
.fullscreen-preview .mock-page-wrap { width: 100%; max-width: none; border: 0; }
.fullscreen-preview .mock-canvas, .fullscreen-preview .mock-canvas-empty { min-height: 100vh; }
.preview-exit { position: fixed; z-index: 20; top: 8px; right: 8px; width: 22px; height: 22px; border: 1px solid color-mix(in srgb, var(--mock-border) 65%, transparent); border-radius: 6px; background: color-mix(in srgb, var(--mock-surface) 86%, transparent); color: var(--mock-muted); font-size: 12px; line-height: 1; cursor: pointer; }
.preview-exit:hover { color: var(--mock-text); border-color: var(--accent); }
.inspector-edit { display: grid; gap: 10px; }
.inspector-edit textarea { min-height: 64px; }

.contract { border: 1px solid var(--line); border-radius: 8px; background: var(--code); padding: 14px; white-space: pre-wrap; color: var(--code-text); font: 11px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; max-height: 430px; overflow: auto; }

.inspector { padding: 10px 10px 48px; min-width: 0; overflow-x: hidden; }
.mock-canvas-workbench { display: grid; gap: 12px; }
.mock-canvas-head { margin-bottom: 0; }
.persistent-mock-frame > .mock-shell { margin-bottom: 0; }
.block-panel, .block-panel * { min-width: 0; }
.block-panel { display: grid; gap: 10px; max-width: 100%; overflow-x: hidden; }
.block-panel-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(128px, .7fr); align-items: start; gap: 8px; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.block-panel-title { display: grid; gap: 3px; }
.block-panel-head h2 { margin: 0; font-size: 17px; line-height: 1.15; }
.block-panel-head p { margin: 0; color: var(--text-2); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.block-panel-head small { color: var(--text-3); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.block-panel-select { display: grid; gap: 3px; color: var(--text-3); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.block-panel-select select { width: 100%; padding: 6px 7px; font-size: 11px; text-transform: none; letter-spacing: 0; }
.block-panel-tabs, .notes-scope-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.block-panel-tabs button, .notes-scope-tabs button { border: 1px solid var(--line); border-radius: 7px; background: var(--panel); color: var(--text-2); padding: 6px 8px; font-size: 11px; cursor: pointer; }
.block-panel-tabs button:hover, .notes-scope-tabs button:hover, .block-panel-tabs button.is-active, .notes-scope-tabs button.is-active { border-color: var(--accent); color: var(--text); background: var(--panel-2); }
.notes-scope-tabs button:disabled { opacity: .45; cursor: not-allowed; }
.block-panel-readiness { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.block-panel-gate { border: 1px solid var(--line); border-radius: 9px; padding: 4px 6px; color: var(--text-3); font-size: 9px; line-height: 1.25; overflow-wrap: anywhere; }
.block-panel-gate--ready { border-color: color-mix(in srgb, var(--required) 55%, var(--line)); color: var(--required); }
.block-panel-gate--warning { border-color: color-mix(in srgb, var(--proposed) 55%, var(--line)); color: var(--proposed); }
.block-panel-gate--missing { border-color: color-mix(in srgb, var(--unanswered) 55%, var(--line)); color: var(--unanswered); }
.block--panel { margin: 0; border-radius: 10px; max-width: 100%; overflow-x: hidden; }
.block--panel .block-form { padding: 10px; }
.block--panel .honesty-bar, .block--panel .form-grid, .page-summary-panel .page-summary-grid, .page-summary-panel .page-summary-meta { grid-template-columns: 1fr; gap: 7px; }
.block--panel .human-review-footer { padding: 9px 10px; }
.block--panel .human-review-grid { grid-template-columns: 1fr; gap: 6px; }
.block--panel .human-review-heading { margin-bottom: 7px; }
.block--panel .repeater-row, .block--panel .compact-record { padding: 8px; }
.block--panel .compact-record { grid-template-columns: 1fr; align-items: start; }
.block--panel .row-head { flex-wrap: wrap; align-items: start; }
.block--panel .row-head select { width: min(100%, 150px); margin-left: 0; }
.block--panel .row-fields, .block--panel .row-accountability, .block--panel .b12-primary-fields, .block--panel .b12-detail-fields { grid-template-columns: 1fr; gap: 7px; }
.block-panel-help { display: grid; gap: 4px; border: 1px dashed var(--line); border-radius: 8px; padding: 10px; color: var(--text-3); font-size: 11px; }
.block-panel-help strong { color: var(--text-2); }
.block--panel-mock .selected-record-editor { margin: 0; }
.block-panel .contract { overflow-x: hidden; overflow-wrap: anywhere; }
.inspector-empty { min-height: 70vh; display: grid; place-content: center; text-align: center; color: var(--text-3); }
.inspector-empty strong { color: var(--text-2); margin-bottom: 6px; }
.inspector-kicker { color: var(--accent); font: 700 11px ui-monospace, monospace; }
.inspector h2 { font-size: 18px; line-height: 1.2; margin: 5px 0 4px; }
.inspector-owner { color: var(--text-3); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.inspector-section { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 16px; }
.inspector-section h3 { margin: 0 0 7px; font-size: 10px; color: var(--text-3); text-transform: uppercase; letter-spacing: .1em; }
.inspector-section p { color: var(--text-2); margin: 0; font-size: 12px; }
.notes-panel { display: grid; gap: 10px; }
.notes-panel-head p { margin: 0; color: var(--text-3); font-size: 11px; }
.notes-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.notes-tabs button, .notes-quick-add button { border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text-2); padding: 6px 8px; font-size: 10px; cursor: pointer; }
.notes-tabs button:first-child { grid-column: 1 / -1; }
.notes-tabs button:hover, .notes-tabs button.is-active, .notes-quick-add button:hover { border-color: var(--accent); color: var(--text); background: var(--panel-2); }
.notes-tabs b { color: var(--accent); font-weight: 800; margin-left: 4px; }
.notes-quick-add { display: flex; flex-wrap: wrap; gap: 5px; }
.note-log-list { position: relative; display: grid; gap: 8px; }.note-log-list::before { content: ""; position: absolute; left: 10px; top: 4px; bottom: 4px; width: 1px; background: var(--line); }
.note-log-entry { position: relative; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); overflow: hidden; }
.note-log-entry summary { list-style: none; display: grid; grid-template-columns: 21px minmax(0, 1fr) auto; gap: 8px; align-items: start; padding: 9px; cursor: pointer; }
.note-log-entry summary::-webkit-details-marker { display: none; }
.note-dot { position: relative; z-index: 1; width: 9px; height: 9px; margin: 4px auto 0; border-radius: 50%; background: var(--line-strong); box-shadow: 0 0 0 4px var(--panel); }
.note-log-entry--decision .note-dot { background: var(--required); }
.note-log-entry--observation .note-dot { background: var(--observed); }
.note-log-entry--question .note-dot { background: var(--unanswered); }
.note-summary-copy { min-width: 0; }
.note-summary-copy strong, .note-summary-copy small { display: block; overflow-wrap: anywhere; }
.note-summary-copy strong { font-size: 12px; line-height: 1.3; }
.note-summary-copy small { color: var(--text-3); font-size: 9px; margin-top: 2px; text-transform: uppercase; letter-spacing: .05em; }
.note-log-body { display: grid; gap: 8px; padding: 0 9px 9px 38px; }
.block-panel .note-log-body { padding-left: 26px; }
.note-meta-row, .note-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.block-panel .note-meta-row, .block-panel .note-fields, .block-panel .note-comment-compose { grid-template-columns: 1fr; }
.note-log-body .field--wide { grid-column: 1 / -1; }
.note-log-body input, .note-log-body textarea, .note-log-body select { padding: 6px 7px; font-size: 11px; }
.note-log-body textarea { min-height: 62px; }
.note-comments { display:grid; gap:7px; padding:9px; border:1px solid var(--line); border-radius:8px; background:var(--panel-2); }.note-comments h4 { margin:0; font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--text-3); }.note-comment-list { display:grid; gap:6px; }.note-comment-list article { padding:7px; border-left:2px solid var(--accent); background:var(--panel); }.note-comment-list strong,.note-comment-list small { display:block; }.note-comment-list small { margin-top:2px; color:var(--text-3); font-size:9px; }.note-comment-list p { margin:5px 0 0; white-space:pre-wrap; font-size:11px; }.note-comment-compose { display:grid; grid-template-columns:180px minmax(0,1fr) auto; gap:7px; align-items:end; }.note-comment-compose .field { margin:0; }.note-comment-compose .button { align-self:end; }
.note-log-static { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 8px; padding: 9px; }
.note-log-static strong, .note-log-static small { display: block; }
.note-log-static strong { font-size: 11px; line-height: 1.35; }
.note-log-static small { color: var(--text-3); font-size: 9px; margin-top: 2px; }
.notes-empty { border: 1px dashed var(--line); border-radius: 10px; padding: 14px; color: var(--text-3); font-size: 12px; text-align: center; }
.readiness-details { display: grid; gap: 7px; }
.readiness-detail { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: start; padding: 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel-2); }
.readiness-detail > b { width: 22px; height: 22px; border-radius: 5px; display: grid; place-items: center; color: var(--near-white); background: var(--line-strong); font-size: 10px; }
.readiness-detail--ready > b { background: var(--required); }
.readiness-detail--warning > b { background: var(--proposed); color: var(--near-black); }
.readiness-detail--missing > b { background: var(--unanswered); }
.readiness-detail--na > b { background: var(--line-strong); }
.readiness-detail span, .readiness-detail strong, .readiness-detail small { display: block; }
.readiness-detail strong { font-size: 10px; }
.readiness-detail small { color: var(--text-3); font-size: 9px; line-height: 1.35; margin-top: 2px; }
.inspector-record { display: grid; gap: 8px; }
.inspector-record div { background: var(--panel-2); border-radius: 7px; padding: 8px; }
.related-records { display: grid; gap: 8px; }
.related-records > div { border: 1px solid var(--line); border-radius: 8px; padding: 8px; background: var(--panel-2); }
.related-records strong { margin-left: 6px; font-size: 11px; }
.related-records p { margin: 5px 0 0; color: var(--text-2); font-size: 11px; }
.inspector-record span { display: block; color: var(--text-3); font-size: 9px; text-transform: uppercase; }
.inspector-record strong { display: block; font-size: 11px; margin-top: 2px; overflow-wrap: anywhere; }
.unbuilt { max-width: 720px; margin: 18vh auto 0; border: 1px dashed var(--line-strong); padding: 34px; border-radius: 12px; text-align: center; background: var(--panel); }
.unbuilt h1 { font-size: 34px; }
.unbuilt p { color: var(--text-2); }

.dialog { width: min(520px, calc(100vw - 28px)); border: 1px solid var(--line-strong); border-radius: 12px; background: var(--panel); color: var(--text); padding: 0; }
.dialog::backdrop { background: color-mix(in srgb, var(--near-black) 72%, transparent); backdrop-filter: blur(3px); }
.dialog form { padding: 20px; display: grid; gap: 14px; }
.dialog-head { display: flex; justify-content: space-between; gap: 16px; }
.dialog-head h2 { margin-top: 3px; }
.dialog-close { border: 0; background: transparent; font-size: 24px; cursor: pointer; color: var(--text-3); }
.dialog label { display: grid; gap: 6px; color: var(--text-2); font-size: 11px; font-weight: 600; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 4px; }
.toast { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: #3A3A3A; color: #ffffff; padding: 8px 12px; border-radius: 7px; font-weight: 700; font-size: 11px; z-index: 20; transition: .18s ease; box-shadow: 0 8px 24px #0f172a33; }
.toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.pdf-export-title { border-bottom: 2px solid var(--line-strong); padding-bottom: 22px; }
.pdf-page-document { max-width: 1080px; margin: 0 auto 42px; }

@media print {
  @page { margin: .55in; }
  :root, html[data-theme="light"], html[data-theme="dark"] {
    color-scheme: light;
    --bg: #ffffff;
    --panel: #ffffff;
    --panel-2: #f7f7f7;
    --panel-3: #eeeeee;
    --line: #d0d0d0;
    --line-strong: #888888;
    --text: #111111;
    --text-2: #333333;
    --text-3: #666666;
    --accent: #444444;
    --accent-2: #555555;
    --accent-ink: #ffffff;
    --input: #ffffff;
    --code: #f7f7f7;
    --code-text: #111111;
    --mock-shell: #ffffff;
    --mock-stage: #f7f7f7;
    --mock-surface: #ffffff;
    --mock-surface-alt: #f3f3f3;
    --mock-text: #111111;
    --mock-muted: #333333;
    --mock-border: #999999;
    --mock-control: #eeeeee;
    --mock-placeholder: #dddddd;
  }
  html, body { background: #ffffff !important; color: #111111 !important; font-size: 10pt; line-height: 1.35; }
  .app-shell { display: block; min-height: auto; }
  .menu-column, .inspector-column, .block-status-nav, .document-toolbar, .block-pager, .composer-head-actions, .composer-add-layout, .composer-add, .composer-move, .remove-row, .mock-controls, .mock-resize-handle, .selected-record-editor, .rich-editor-mode-toggle, .rich-editor-fullscreen-toggle, .toast { display: none !important; }
  .document-column { --document-top-pad: 0; --document-top-offset: 0; padding: 0; }
  .document-head, .block, .block-reminders, .application-settings, .app-overview, .data-section, .data-method-card, .pdf-page-document { max-width: none; }
  .pdf-export-title { break-after: page; }
  .pdf-page-document { break-after: page; margin: 0; }
  .pdf-page-document:last-child { break-after: auto; }
  .document-head, .readiness, .block, .block-reminders, .application-settings, .app-overview { break-inside: avoid; box-shadow: none !important; }
  .block { margin: 0 0 18px; border-color: var(--app-contour-color); background: #ffffff; }
  .block-head { position: static; top: auto; background: #eeeeee; color: #111111; }
  .block-form, .human-review-footer, .repeater-row, .compact-record, .composer-region, .composer-section, .mock-shell { background: #ffffff; }
  .form-grid, .row-fields, .row-accountability, .human-review-grid, .data-record-grid { gap: 8px; }
  input, textarea, select { border: 0 !important; background: transparent !important; color: #111111 !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; }
  textarea { overflow: visible !important; resize: none !important; }
  textarea.rich-markdown-source { display: none !important; }
  .rich-markdown-editor .toastui-editor-defaultUI { border: 0 !important; background: transparent !important; }
  .rich-markdown-editor .toastui-editor-toolbar, .rich-markdown-editor .toastui-editor-mode-switch, .rich-markdown-editor .toastui-editor-md-tab-container, .rich-markdown-editor .toastui-editor-statusbar { display: none !important; }
  .rich-markdown-editor .toastui-editor-main, .rich-markdown-editor .toastui-editor-ww-container, .rich-markdown-editor .toastui-editor-contents { display: block !important; background: transparent !important; color: #111111 !important; }
  .rich-markdown-editor .toastui-editor-contents { padding: 0 !important; font-size: 10pt !important; line-height: 1.45 !important; }
  .rich-markdown-editor .toastui-editor-contents h1 { font-size: 20pt !important; }
  .rich-markdown-editor .toastui-editor-contents h2 { font-size: 18pt !important; }
  .rich-markdown-editor .toastui-editor-contents h3 { font-size: 14pt !important; }
  .rich-markdown-editor .toastui-editor-contents table { break-inside: avoid; }
  .field, .honesty-field { break-inside: avoid; }
  .field-question, .form-help, .block-owner, .human-review-heading span { color: #555555 !important; }
  .mock-shell, .mock-stage, .mock-panel, .mock-row, .mock-layout-section, .mock-element, .mock-control { border-color: var(--app-contour-color) !important; box-shadow: none !important; }
  .contract { white-space: pre-wrap; color: #111111; background: #f7f7f7; border-color: var(--app-contour-color); }
}

@media (max-width: 1380px) {  .readiness { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .document-head--with-readiness { grid-template-columns: 1fr; }
  .document-head-readiness .readiness { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1180px) {
  :root { --menu-width: 165px; --inspector-width: 300px; }
  .document-column { padding-left: 24px; padding-right: 24px; }
  .block-owner { display: none; }
  .block-head { grid-template-columns: 52px 1fr; }
  .human-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .app-shell { display: block; }
  .menu-column { position: relative; width: 100%; height: auto; max-height: none; }
  .app-menu { max-height: 240px; overflow: auto; }
  .menu-footer { position: relative; }
  .inspector-column { position: relative; width: 100%; height: auto; border-left: 0; border-top: 1px solid var(--line); }
  .document-column { --document-top-pad: 26px; --document-top-offset: -26px; --document-x-pad: 16px; padding: var(--document-top-pad) var(--document-x-pad) 50px; }
  .readiness { grid-template-columns: 1fr; }
  .document-head-readiness .readiness { grid-template-columns: 1fr; }
  .block-reminder-card, .note-meta-row, .note-fields, .b12-primary-fields, .b12-detail-fields, .note-comment-compose { grid-template-columns: 1fr; }
  .honesty-bar, .form-grid, .row-fields, .row-accountability, .application-settings, .human-review-grid, .reviewer-list, .workflow-step-fields, .workflow-transition, .page-summary-grid, .page-summary-meta { grid-template-columns: 1fr; }
}
.dd-freeform{max-width:1100px;margin:auto;padding:22px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px;position:relative}.dd-freeform--popup{min-height:720px}.dd-freeform header span{color:#3A3A3A;text-transform:uppercase;font-size:9px;font-weight:800}.dd-freeform h2{margin:3px 0;font-size:23px}.dd-freeform header p{margin:0;color:#64748b}.dd-tabs{display:flex;align-items:center;gap:0;margin-top:18px;border-bottom:1px solid var(--app-contour-color);padding:0}.dd-tabs button,.dd-toolbar button,.dd-table button,.dd-panel button,.dd-upload-panel button,.dd-drop button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:6px 8px;color:#334155;font:inherit}.dd-toolbar{display:flex;gap:9px;align-items:flex-start;flex-wrap:wrap;margin:13px 0}.dd-toolbar input{width:235px;min-width:180px;flex:0 1 235px;border:1px solid var(--app-contour-color);border-radius:5px;padding:7px}.dd-search-control{display:flex;align-items:center;gap:4px}.dd-search-control input{width:235px;min-width:180px;flex:0 1 235px}.dd-toolbar .dd-search-control button{width:29px;min-width:29px;height:29px;padding:0;color:#94a3b8;font-size:16px;line-height:1}.dd-quick-group,.dd-toolbar-search,.dd-toolbar-utility{display:grid;grid-template-rows:12px auto;gap:4px}.dd-quick-group>span,.dd-toolbar-search>span,.dd-toolbar-utility>span{height:12px;color:#64748b;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.dd-toolbar-search>span,.dd-toolbar-utility>span{visibility:hidden}.dd-quick-group>div{display:flex;align-items:center;gap:4px}.dd-quick-group--chips>div{min-height:36px;gap:10px}.dd-quick-group--chips label{display:inline-flex;align-items:center;gap:4px;color:#475569;font-size:10px;white-space:nowrap}.dd-quick-group--chips input{width:15px;min-width:0;height:15px;margin:0;padding:0;flex:none;accent-color:#3A3A3A}.dd-segment{display:inline-flex;border:1px solid var(--app-contour-color);border-radius:6px;overflow:hidden}.dd-segment button{border:0;border-radius:0}.dd-toolbar .is-on{background:#F1F1F1;border-color:var(--app-contour-color);color:#3A3A3A;font-weight:700}.dd-upload{background:#3A3A3A!important;color:#fff!important;border-color:var(--app-contour-color)!important}.dd-table{border:1px solid var(--app-contour-color);border-radius:8px;overflow:hidden;background:#fff}.dd-grid{display:grid;align-items:center;gap:8px;padding:9px 11px;border-top:1px solid var(--app-contour-color)}.dd-head .dd-sort{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font-size:inherit;font-weight:inherit;text-transform:inherit}.dd-head .dd-sort b{color:#3A3A3A;font-size:10px}.dd-row-action{min-width:28px;padding:4px 6px!important;font-size:13px!important;line-height:1}.dd-review-actions{display:flex;justify-content:flex-end;gap:4px}.dd-review-action{justify-self:end;width:auto!important;white-space:nowrap;padding:4px 7px!important;font-size:8px!important;font-weight:700!important;line-height:1}.dd-actions-head{justify-self:end;text-align:right}.dd-grid--docs:not(.dd-head)>button:not(.dd-doc-name){width:28px;min-width:28px;padding:4px!important;font-size:13px!important;line-height:1}.dd-grid--reviews{grid-template-columns:1.55fr .8fr .8fr .65fr .8fr .9fr .45fr .55fr}.dd-grid--docs{grid-template-columns:45px 1fr 1.4fr 1fr .8fr 40px 65px 45px}.dd-head{border-top:0;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.dd-status{padding:3px 6px;border-radius:999px;background:#E7E7E7;color:#3A3A3A;font-style:normal;font-size:9px}.dd-status.is-draft{background:#fef3c7;color:#92400e}.dd-danger{color:#b91c1c!important}.dd-bulk{display:flex;gap:8px;align-items:center;padding:9px 11px;background:#fef3c7;font-weight:700}.dd-drop{margin:14px 0;padding:20px;border:2px dashed var(--app-contour-color);border-radius:8px;background:#F1F1F1;text-align:center}.dd-drop>strong,.dd-drop>span{display:block}.dd-drop>span{color:#64748b;margin:4px}.dd-scrim{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:32px;background:#0f172a66;border-radius:12px}.dd-panel,.dd-upload-panel{box-sizing:border-box;width:min(1280px,calc(100% - 64px));padding:28px;border-radius:10px;background:#fff;box-shadow:0 12px 30px #0f172a44}.dd-panel header,.dd-upload-panel header{display:flex;justify-content:space-between;align-items:start;padding-bottom:12px;border-bottom:1px solid var(--app-contour-color)}.dd-panel h3,.dd-upload-panel h3{margin:3px 0;font-size:18px}.dd-panel header>div:last-child{display:flex;gap:6px}.dd-panel main{display:grid;grid-template-columns:minmax(520px,1.7fr) minmax(220px,1fr) minmax(220px,1fr);gap:22px;margin-top:22px}.dd-panel main>*{min-width:0}.dd-panel main>section{padding:0 18px;border-left:1px solid var(--app-contour-color)}.dd-panel label{display:block;margin:11px 0;color:#475569;font-weight:700}.dd-panel label small,.dd-upload-panel p,.dd-stage-list small{color:#64748b;font-weight:400}.dd-panel textarea,.dd-panel input,.dd-stage-list select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-top:4px;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px;font:inherit}.dd-panel textarea{height:180px;resize:none}.dd-check{font-weight:400!important}.dd-check input{width:auto;margin:0 5px 0 0}.dd-panel footer,.dd-upload-panel footer{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:24px;padding-top:20px;border-top:1px solid var(--app-contour-color)}.dd-upload-panel footer span{margin-right:auto;color:#64748b;font-size:10px}.dd-complete{background:#3A3A3A!important;color:#fff!important;border-color:var(--app-contour-color)!important}.dd-complete:disabled{opacity:.45}.dd-toolbar-utility--primary{margin-left:auto}.dd-new-review{margin-left:0;background:#3A3A3A!important;color:#fff!important;border-color:var(--app-contour-color)!important}.dd-view-tabs{display:flex;align-items:center;gap:0;margin:-3px 0 10px;border-bottom:1px solid var(--app-contour-color)}.dd-view-tabs button{margin-bottom:-1px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#475569;padding:6px 10px;font:700 9px/1 inherit}.dd-view-tabs button.is-active{border-bottom-color:#3A3A3A;border-radius:5px 5px 0 0;background:#3A3A3A;color:#fff}.dd-view-tabs .dd-my-views{margin-left:auto;border:1px solid var(--app-contour-color);border-radius:5px;margin-bottom:0;background:#fff}.dd-personal-views-anchor{position:relative}.dd-view-tabs .dd-personal-views-anchor{margin-left:auto}.dd-personal-views-menu{position:absolute;z-index:5;right:0;top:calc(100% + 5px);display:grid;gap:5px;width:230px;padding:10px;border:1px solid var(--app-contour-color);border-radius:8px;background:#F1F1F1;box-shadow:0 10px 20px #0f172a22}.dd-personal-views-menu header{display:flex;align-items:center;justify-content:space-between;color:#303030}.dd-personal-views-menu header button{border:0;background:transparent;padding:0;color:#3A3A3A;font-size:15px}.dd-personal-views-menu>button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:6px 7px;color:#334155;text-align:left;font:700 9px inherit}.dd-personal-views-menu small{color:#3A3A3A;font-size:8px}.dd-personal-views-menu hr{width:100%;margin:1px 0;border:0;border-top:1px solid var(--app-contour-color)}.dd-views-divider{width:1px;height:18px;margin:0 8px;background:#cbd5e1}.dd-views-label{margin-right:3px;color:#64748b;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.dd-active-filters{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:-3px 0 10px}.dd-active-filters button{border:1px solid var(--app-contour-color);border-radius:999px;padding:4px 7px;background:#F1F1F1;color:#303030;font:inherit}.dd-active-filters button:last-child{border:0;background:transparent;color:#3A3A3A}.dd-filter-builder,.dd-save-view{position:relative;z-index:3;display:grid;gap:8px;max-width:960px;margin:-3px 0 10px;padding:11px;border:1px solid var(--app-contour-color);border-radius:8px;background:#F1F1F1}.dd-filter-builder header{display:flex;justify-content:space-between;align-items:start}.dd-filter-builder header span{display:block;color:#3A3A3A;font-size:8px;font-weight:800;text-transform:uppercase}.dd-filter-builder h3{margin:2px 0;font-size:13px}.dd-builder-quick{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.dd-builder-quick strong{margin-right:3px;color:#3A3A3A;font-size:9px;text-transform:uppercase}.dd-builder-quick span{border:1px solid var(--app-contour-color);border-radius:999px;padding:3px 6px;background:#fff;color:#303030;font-size:9px}.dd-filter-match{display:flex;align-items:center;gap:8px}.dd-filter-match>span{color:#475569;font-size:10px;font-weight:700}.dd-filter-match>div{display:flex;border:1px solid var(--app-contour-color);border-radius:5px;overflow:hidden}.dd-filter-match button{border:0;background:#fff;padding:5px 8px;color:#475569;font:inherit}.dd-filter-match button.is-active{background:#3A3A3A;color:#fff}.dd-builder-rules>p{margin:0;color:#64748b}.dd-filter-builder select,.dd-filter-rule select,.dd-save-view input{min-width:0;padding:5px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;font:inherit}.dd-filter-rule{display:grid;grid-template-columns:1.2fr .8fr 1fr 28px;gap:6px}.dd-filter-rule button,.dd-filter-builder footer button,.dd-save-view footer button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:5px 7px;color:#334155;font:inherit}.dd-add-filter{justify-self:start;border:1px dashed var(--app-contour-color)!important;background:#fff!important;color:#3A3A3A!important}.dd-filter-builder footer,.dd-save-view footer{display:flex;justify-content:flex-end;gap:6px}.dd-filter-builder footer button:last-child,.dd-save-view footer button:last-child{border-color:var(--app-contour-color);background:#3A3A3A;color:#fff}.dd-saved-views{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border-top:1px solid var(--app-contour-color);padding-top:8px}.dd-saved-views strong{margin-right:3px;color:#3A3A3A;font-size:9px;text-transform:uppercase}.dd-saved-views button{border:1px solid var(--app-contour-color);border-radius:999px;background:#fff;padding:4px 7px;color:#303030;font:inherit}.dd-saved-views small{color:#64748b}.dd-save-view{max-width:400px}.dd-save-view>strong{color:#3A3A3A}.dd-save-view label{font-weight:400}.dd-review-actions{display:flex;gap:4px}.dd-doc-name{padding:0!important;border:0!important;background:transparent!important;text-align:left;color:#3A3A3A!important;text-decoration:underline}.dd-notice{display:flex;justify-content:space-between;align-items:center;margin:12px 0;padding:9px 11px;border:1px solid #D4D4D4;border-radius:7px;background:#F1F1F1;color:#303030;font-weight:700}.dd-notice button{border:0;background:transparent;color:inherit;font-size:16px}.dd-validation{margin-right:auto;color:#64748b;font-size:10px}.dd-empty{margin:0;padding:20px;color:#64748b;text-align:center}.dd-edit-panel{width:min(520px,calc(100% - 64px))}.dd-edit-panel label{display:block;margin-top:14px;color:#475569;font-weight:700}.dd-edit-panel input,.dd-edit-panel select{box-sizing:border-box;width:100%;margin-top:5px;padding:8px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;font:inherit}.dd-confirm-panel{width:min(520px,calc(100% - 64px))}.dd-stage-list{padding:12px;border:1px solid var(--app-contour-color);border-radius:8px}.dd-stage-list>strong{margin-right:8px}.dd-stage-list>div{display:grid;grid-template-columns:1.4fr 1fr 1fr 34px;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--app-contour-color)}.dd-stage-list>div:first-of-type{margin-top:8px}.dd-freeform--honesty :is(header,.dd-tabs,.dd-toolbar,.dd-table,.dd-panel,.dd-upload-panel){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}@media(max-width:1100px){.dd-panel main{grid-template-columns:minmax(380px,1.45fr) minmax(190px,1fr) minmax(190px,1fr)}}@media(max-width:760px){.dd-panel main{grid-template-columns:1fr}.dd-panel main>section{padding:0;border:0}.dd-grid--reviews,.dd-grid--docs{min-width:780px}.dd-table{overflow:auto}.dd-stage-list>div{grid-template-columns:1fr}.dd-scrim{align-items:start;overflow:auto}}.dd-personal-view-loaded .dd-quick-group,.dd-personal-view-loaded .dd-active-filters{display:none}.dd-personal-view-loaded .dd-toolbar{align-items:center}.dd-freeform>.dd-filter-builder,.dd-freeform>.dd-save-view{position:absolute;z-index:6;top:148px;right:22px;margin:0;max-height:calc(100% - 170px);overflow:auto;border-color:var(--app-contour-color);box-shadow:0 15px 35px #0f172a33}.dd-freeform>.dd-filter-builder{width:min(760px,calc(100% - 44px))}.dd-freeform>.dd-save-view{width:min(400px,calc(100% - 44px))}.dd-freeform>.dd-manage-views{width:min(640px,calc(100% - 44px))}.dd-freeform>.dd-filter-builder:before,.dd-freeform>.dd-save-view:before{position:absolute;top:-7px;right:82px;width:12px;height:12px;border-top:1px solid var(--app-contour-color);border-left:1px solid var(--app-contour-color);background:#F1F1F1;content:"";transform:rotate(45deg)}
.analytics-freeform{max-width:1100px;margin:auto;padding:20px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px;position:relative}.an-header{display:flex;justify-content:space-between;align-items:end}.an-header>div>span{color:#3A3A3A;font-size:9px;font-weight:800;text-transform:uppercase}.an-header h2{margin:3px 0;font-size:23px}.an-header p{margin:0;color:#64748b}.an-summary{grid-template-columns:minmax(230px,1.65fr) repeat(3,minmax(100px,1fr));margin-bottom:14px}.an-tabs{position:relative;display:flex;align-items:center;gap:0;margin:18px 0 12px;border-bottom:1px solid var(--app-contour-color);padding:0}.an-tabs span{flex:1}.an-view-divider{display:block;flex:0 0 1px!important;height:28px;margin:0 10px;background:#cbd5e1}.an-personal-label{display:inline-flex;align-items:center;padding:8px 10px;color:#64748b;font-size:9px;letter-spacing:.05em;white-space:nowrap}.an-personal-views-anchor{position:relative;display:inline-flex;flex:0 0 auto!important}.an-personal-views-menu{right:auto;left:0}.an-personal-builder,.an-personal-manager{right:auto;left:158px}.an-personal-views-menu,.an-personal-builder,.an-personal-manager{position:absolute;z-index:8;right:22px;top:calc(100% + 6px);display:grid;gap:5px;width:260px;padding:10px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 15px 35px #0f172a33}.an-personal-views-menu:before,.an-personal-builder:before,.an-personal-manager:before{display:none;position:absolute;top:-7px;right:82px;width:12px;height:12px;border-top:1px solid var(--app-contour-color);border-left:1px solid var(--app-contour-color);background:#fff;content:"";transform:rotate(45deg)}.an-personal-views-menu header,.an-personal-builder header,.an-personal-manager header{display:flex;align-items:center;justify-content:space-between;margin:-10px -10px 5px;padding:10px;border-bottom:1px solid var(--app-contour-color)}.an-personal-views-menu header strong,.an-personal-builder header strong,.an-personal-manager header strong{color:#303030;font-size:10px}.an-personal-views-menu header button,.an-personal-builder header button,.an-personal-manager header button{padding:0;border:0;background:transparent;color:#64748b;font-size:15px}.an-personal-views-menu>button{display:flex;justify-content:space-between;width:100%;padding:7px 8px;text-align:left}.an-personal-views-menu hr{width:100%;margin:3px 0;border:0;border-top:1px solid var(--app-contour-color)}.an-personal-views-menu small{color:#3A3A3A;font-size:8px}.an-personal-builder{width:320px}.an-personal-builder label{display:grid;gap:4px;color:#64748b;font-size:8px;font-weight:700;text-transform:uppercase}.an-personal-builder input{padding:7px;border:1px solid var(--app-contour-color);border-radius:5px;font:inherit}.an-personal-builder footer{display:flex;justify-content:flex-end;gap:5px;margin-top:5px}.an-personal-manager{width:390px}.an-personal-manager>div{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid var(--app-contour-color)}.an-personal-manager>div span{margin-left:auto;color:#64748b;font-size:8px}.an-personal-manager>div button{padding:4px 6px;font-size:8px}.an-view-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;margin-left:auto}.an-view-actions .an-view-danger{border-color:#fca5a5;color:#b91c1c}.an-tabs button,.an-widget button,.an-library button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;padding:6px 8px;color:#334155;font:inherit}.an-tabs button:not(.an-save){margin-bottom:-1px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#475569;padding:8px 14px;font:700 10px/1 inherit}.an-tabs .is-active:not(.an-save){border-bottom:3px solid #3A3A3A;border-radius:6px 6px 0 0;background:#3A3A3A;color:#fff}.an-tabs .an-personal-label{border-bottom:3px solid transparent}.an-tabs .an-save{border:1px solid var(--app-contour-color);background:#3A3A3A;color:#fff;border-radius:5px}.an-unsaved{margin-left:6px;color:#b45309;font-size:8px;font-style:italic;white-space:nowrap}.an-exit-scrim{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a66}.an-exit-prompt{display:grid;gap:10px;width:min(430px,calc(100vw - 40px));padding:16px;border:1px solid var(--app-contour-color);border-radius:8px;background:#F1F1F1;box-shadow:0 20px 50px #0f172a55}.an-exit-prompt header strong{color:#303030}.an-exit-prompt p{margin:0;color:#334155}.an-exit-prompt footer{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}.an-exit-prompt button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155;font:inherit}.an-exit-prompt .an-view-danger{border-color:#fca5a5;color:#b91c1c}.an-canvas{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:10px;border:1px dashed var(--app-contour-color);border-radius:8px;background:#eef6f7}.an-widget:nth-child(1){grid-column:span 1}.an-widget:nth-child(2){grid-column:span 5}.an-widget:nth-child(3),.an-widget:nth-child(4){grid-column:span 3}.an-widget{position:relative;min-height:145px;padding:10px;border:1px solid var(--app-contour-color);border-radius:7px;background:#fff}.an-canvas:has(.an-widget.is-expanded) .an-widget:not(.is-expanded){visibility:hidden}.an-widget.is-expanded{position:absolute;z-index:10;inset:10px;min-height:0;overflow:auto;box-shadow:0 20px 45px #0f172a44}.an-widget header,.an-library header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.an-widget-controls button{border:0;padding:2px 4px;color:#64748b;font-size:8px}.an-widget-drag-handle{display:none!important}.an-canvas.is-editing .an-widget-drag-handle{display:inline-block!important;cursor:grab;color:#3A3A3A}.an-pointer-dragging{opacity:.35}.an-drag-ghost{position:fixed!important;z-index:100;pointer-events:none;opacity:.85;box-shadow:0 16px 35px #0f172a33;transform:rotate(1deg)}.an-widget-filter{position:absolute;z-index:3;top:34px;right:8px;width:190px;padding:9px;border:1px solid var(--app-contour-color);border-radius:7px;background:#fff;box-shadow:0 12px 25px #0f172a33}.an-widget-filter strong{display:block;color:#303030;font-size:9px}.an-widget-filter label{display:grid;gap:4px;margin-top:7px;color:#64748b;font-size:8px}.an-widget-filter select{padding:5px;border:1px solid var(--app-contour-color);border-radius:4px;font:inherit}.an-widget-filter footer{display:flex;justify-content:flex-end;margin-top:7px}.an-widget-filter button{padding:4px 7px}.an-list span{display:flex;justify-content:space-between;padding:7px 2px;border-top:1px solid var(--app-contour-color)}.an-list i{padding:2px 4px;border-radius:4px;background:#fee2e2;color:#b91c1c;font-style:normal;font-size:8px}.an-chart{height:88px;position:relative;background:repeating-linear-gradient(0deg,transparent 0 20px,#e2e8f0 21px)}.an-chart svg{position:absolute;inset:6px;width:94%;height:80%}.an-chart polyline{fill:none;stroke:#3A3A3A;stroke-width:2}.an-chart--orange polyline{stroke:#ea580c}.an-scatter{height:90px;position:relative;border-left:1px solid var(--app-contour-color);border-bottom:1px solid var(--app-contour-color)}.an-scatter i{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:50%;background:#3A3A3A}.an-kpi b{display:block;font-size:27px}.an-kpi span{color:#64748b}.an-kpi div{display:flex;gap:4px;margin-top:14px}.an-kpi i{height:8px;flex:1;background:#dc2626}.an-kpi i:nth-child(2){background:#f97316}.an-kpi i:nth-child(3){background:#facc15}.an-placeholder{display:block;margin-top:8px;color:#6F6F6F}.an-library{position:absolute;z-index:7;right:20px;top:260px;width:285px;max-height:calc(100vh - 300px);overflow-y:scroll;scrollbar-gutter:stable;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 15px 35px #0f172a33}.an-library:before{display:none;position:absolute;top:-7px;right:80px;width:12px;height:12px;border-top:1px solid var(--app-contour-color);border-left:1px solid var(--app-contour-color);background:#fff;content:"";transform:rotate(45deg)}.an-library header{margin:-12px -12px 10px;padding:11px 12px;border-bottom:1px solid var(--app-contour-color)}.an-library header strong{display:block;color:#303030;font-size:11px}.an-library header small{display:block;margin-top:3px;color:#64748b;font-size:8px}.an-library header button{width:24px;height:24px;padding:0;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#475569;font-size:15px;line-height:1}.an-library::-webkit-scrollbar{width:8px}.an-library::-webkit-scrollbar-thumb{border-radius:8px;background:#94a3b8}.an-library::-webkit-scrollbar-track{background:#f1f5f9}.an-library input{box-sizing:border-box;width:100%;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px}.an-library h4{margin:12px 0 4px;color:#64748b;font-size:9px;text-transform:uppercase}.an-library>button{display:flex;justify-content:space-between;width:100%;margin:4px 0;padding:7px 8px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155;text-align:left}.an-library>button:hover{border-color:var(--app-contour-color);background:#F1F1F1}.an-library.is-readonly>button{cursor:not-allowed;opacity:.58}.an-library.is-readonly>button:hover{border-color:var(--app-contour-color);background:#fff}.an-library.is-readonly>button b{display:none}.an-library>button b{color:#3A3A3A}.analytics-freeform--honesty :is(.an-header,.an-tabs,.an-canvas,.an-widget,.an-library){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}.an-canvas.is-editing .an-widget{border-style:dashed;border-color:var(--app-contour-color);cursor:grab}.an-canvas.is-editing .an-widget:active{cursor:grabbing}.an-canvas.is-drop-target{border-color:var(--app-contour-color);background:#F1F1F1}.an-drop-placeholder{position:absolute;z-index:2;display:none;width:110px;height:44px;border:2px dashed var(--app-contour-color);border-radius:6px;background:#E7E7E788;color:#3A3A3A;font-size:8px;font-weight:700;place-items:center;pointer-events:none}.an-drop-placeholder.is-visible{display:grid}.an-library [draggable="true"]{cursor:grab}.an-library [draggable="true"]:active{cursor:grabbing}@media(max-width:760px){.an-canvas{grid-template-columns:1fr}.an-widget:nth-child(1),.an-widget:nth-child(2),.an-widget:nth-child(3),.an-widget:nth-child(4){grid-column:span 1}.an-library{position:fixed;top:90px;right:16px;max-width:calc(100vw - 32px)}}.an-personal-views-menu,.an-personal-builder,.an-personal-manager,.an-library,.an-widget-filter,.ip-upload-popover,.ip-notes,.ip-research-popover{background:#F1F1F1}
.market-freeform{max-width:1120px;margin:auto;padding:14px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px;position:relative}.market-freeform>header{display:flex;justify-content:space-between;align-items:end}.market-freeform header span{font-size:9px;font-weight:800;color:#3A3A3A;text-transform:uppercase}.market-freeform h2{margin:3px 0;font-size:23px}.market-quant-button,.market-toolbar>button,.market-tabs button,.market-quant button{border:1px solid var(--app-contour-color);border-radius:5px;padding:6px 8px;background:#fff;color:#334155;font:inherit}.market-quant-button small{display:none}.market-tabs{display:flex;align-items:center;gap:0;margin-top:18px;border-bottom:1px solid var(--app-contour-color);padding:0}.market-tabs button{margin-bottom:-1px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#475569;padding:8px 14px;font:700 10px/1 inherit}.market-tabs .is-active{border-bottom:3px solid #3A3A3A;border-radius:6px 6px 0 0;background:#3A3A3A;color:#fff}.market-tabs button:disabled{cursor:not-allowed;opacity:.55}.market-toolbar{display:flex;align-items:end;gap:9px;padding:15px 0 10px}.market-toolbar strong{margin-right:0;align-self:center;white-space:nowrap;color:#64748b;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.market-sort-panel{position:absolute;z-index:12;top:4px;right:0;width:min(560px,calc(100vw - 48px));margin:0;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#F1F1F1;color:#334155;box-shadow:0 15px 35px #0f172a33}.market-sort-panel header,.market-sort-panel footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-sort-panel header strong{color:#3A3A3A;font-size:12px}.market-sort-panel header button{border:0;background:transparent;color:#3A3A3A;font-size:16px;cursor:pointer}.market-sort-level{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(125px,.55fr) auto;align-items:center;gap:6px;margin-top:7px;padding:6px;background:#fff;border:1px solid var(--app-contour-color);border-radius:5px}.market-sort-level b{color:#3A3A3A;text-align:center}.market-sort-level select{min-width:0;padding:5px;border:1px solid var(--app-contour-color);border-radius:4px;background:#fff;color:#334155;font:10px/1 inherit}.market-sort-level button,.market-sort-add,.market-sort-panel footer button{border:1px solid var(--app-contour-color);border-radius:4px;padding:5px 7px;background:#fff;color:#303030;font:700 9px/1 inherit;cursor:pointer}.market-sort-panel footer{justify-content:flex-end;margin-top:9px}.market-sort-panel p{margin:7px 0;color:#64748b;font-size:9px}.market-table .market-sort{margin-left:3px;color:#94a3b8;font-size:9px}.market-table .market-sort.is-active{color:#3A3A3A}.market-table .market-grid--head button{border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.market-table .market-grid--head button:disabled{cursor:default}.market-toolbar>input,.market-search-actions input{width:clamp(150px,10vw,220px);min-width:150px;height:29px;box-sizing:border-box;border:1px solid var(--app-contour-color);border-radius:5px;padding:0 8px;color:#475569;font:10px/1 inherit}.market-search-actions{display:flex;align-items:center;gap:5px}.market-search-actions button{height:29px;box-sizing:border-box;padding:0 9px;cursor:pointer}.market-toolbar>span{flex:0 0 auto}.market-toolbar .market-filter-anchor>span{flex:none}.market-filter-actions{display:flex;align-items:end;gap:6px}.market-view-popover-anchor{position:relative;z-index:15}.market-view-builder,.market-view-manager{position:absolute;top:4px;right:0;width:min(760px,calc(100vw - 48px));max-width:calc(100vw - 32px);max-height:calc(100vh - 96px);box-sizing:border-box;overflow:auto;margin:0;box-shadow:0 12px 28px #0f172a22}.market-view-columns{display:block;margin-top:10px;padding-top:8px;border-top:1px solid var(--app-contour-color)}.market-view-columns h3{margin:0 0 6px;color:#3A3A3A;font-size:10px;text-transform:uppercase}.market-view-columns>label{display:inline-flex;width:calc(50% - 7px);box-sizing:border-box;align-items:center;justify-content:flex-start;gap:5px;margin:2px 10px 2px 0;color:#475569;font-size:9px;font-weight:600;vertical-align:top}.market-view-columns>label input{flex:0 0 16px;width:16px}.market-view-columns>label small{display:inline}.market-view-columns>label:nth-of-type(even){margin-right:0}.market-view-columns input{width:14px;height:14px;margin:0;padding:0;box-sizing:border-box;accent-color:#6F6F6F}.market-view-columns small{color:#94a3b8;font-size:8px;font-weight:500}.market-view-sort-config{display:block;margin-top:9px;padding-top:8px;border-top:1px solid var(--app-contour-color)}.market-view-sort-config h3{margin-bottom:5px}.market-view-sort-config .market-sort-level{grid-template-columns:22px minmax(0,1fr) minmax(125px,.55fr) auto}.market-view-sort-config .market-sort-add{display:inline-block;margin-top:7px}.market-view-name{display:grid;gap:4px;margin-top:10px;color:#475569;font-size:9px;font-weight:700}.market-view-name input{box-sizing:border-box;width:100%;padding:6px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155;font:inherit}.market-view-tabs{display:flex;gap:0;margin:0 0 8px;border-bottom:1px solid var(--app-contour-color)}.market-view-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:6px 10px;background:transparent;color:#64748b;font:700 9px/1 inherit}.market-view-tabs button.is-active{border-bottom-color:#3A3A3A;color:#3A3A3A}.market-toolbar>button{height:29px;box-sizing:border-box;padding:0 8px;cursor:pointer}.market-filter-actions>.market-filter-anchor>button{white-space:nowrap}.market-filter-anchor{position:relative}.market-filter-menu{z-index:20}.market-table{padding:10px;border:1px solid var(--app-contour-color);border-radius:8px;overflow-x:auto;background:#fff}.market-table>header{display:flex;justify-content:space-between;align-items:center;padding:0 0 7px}.market-table>header small{color:#64748b}.market-table-results{max-height:520px;overflow-y:scroll;scrollbar-gutter:stable}.market-grid{display:grid;grid-template-columns:repeat(var(--mcols),minmax(72px,1fr));gap:5px;min-width:850px;padding:5px 3px;background:#f1f5f9;color:#64748b;font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.market-grid--row{width:100%;border:0;border-top:1px solid var(--app-contour-color);background:#fff;color:#475569;font-size:10px;font-weight:400;text-align:left;font:inherit;text-transform:none;cursor:pointer}.market-grid--row>span{overflow:hidden;padding:5px 3px;text-overflow:ellipsis;white-space:nowrap}.market-grid--head>span{white-space:nowrap}.market-grid--funds{grid-template-columns:28px minmax(190px,1.8fr) minmax(115px,1fr) minmax(110px,1fr) 54px minmax(95px,1fr) 58px 72px 78px 74px;min-width:1020px}.market-grid--equities{grid-template-columns:28px minmax(180px,1.8fr) 68px 92px 105px 110px 72px 78px;min-width:835px}.market-grid--notes{grid-template-columns:28px minmax(190px,1.8fr) 125px 88px 125px 78px 78px;min-width:760px}.market-grid--funds>span:nth-child(n+7),.market-grid--equities>span:nth-child(4),.market-grid--equities>span:nth-child(n+7),.market-grid--notes>span:nth-child(n+6){text-align:right}.market-grid--funds>span:nth-child(1),.market-grid--equities>span:nth-child(1),.market-grid--notes>span:nth-child(1){text-align:center}.market-grid--funds.market-grid--head>span:nth-child(n+7),.market-grid--equities.market-grid--head>span:nth-child(4),.market-grid--equities.market-grid--head>span:nth-child(n+7),.market-grid--notes.market-grid--head>span:nth-child(n+6){text-align:right}.market-grid--row:hover{background:#F1F1F1}.market-empty{padding:20px;color:#64748b;text-align:center}.market-link{color:#3A3A3A;font-weight:800}.market-scrim{position:absolute;inset:0;z-index:2;display:flex;justify-content:center;padding-top:75px;background:#0f172a66;border-radius:12px}.market-scrim>section{overflow:auto}.market-quant{width:900px;max-height:520px;padding:14px;border-radius:9px;background:#fff;box-shadow:0 10px 28px #0f172a44}.market-quant>header{display:flex;justify-content:space-between}.mq-body{display:grid;grid-template-columns:30% 1fr;gap:12px;margin-top:12px}.mq-body aside{border-right:1px solid var(--app-contour-color);padding-right:10px}.mq-body input{width:100%;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px}.mq-body aside button{display:block;width:100%;margin-top:7px;text-align:left}.mq-body aside button small{display:block;color:#64748b}.mq-body aside .is-active{border-color:#3A3A3A;background:#F1F1F1}.mq-body h3,.mq-body h4{margin:4px 0}.mq-body p{color:#64748b}.mq-grid{display:grid;grid-template-columns:35px 1.2fr .5fr .4fr .8fr 1fr;gap:5px;padding:7px;border-top:1px solid var(--app-contour-color)}.mq-dropped{display:flex;gap:14px;margin-top:12px;padding:9px;background:#fef3c7}.market-freeform--honesty :is(header,.market-tabs,.market-toolbar,.market-table,.market-quant){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}.ip-freeform{max-width:1120px;margin:auto;padding:18px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px;position:relative}.ip-header{display:flex;justify-content:space-between;align-items:end}.ip-header h2{margin:3px 0;font-size:22px}.ip-header>div>span{color:#3A3A3A;text-transform:uppercase;font-size:9px;font-weight:800}.ip-header>div:last-child{display:flex;align-items:center;gap:6px}.ip-header-meta{display:flex;align-items:center;gap:10px;margin-right:4px}.ip-dd-status{padding:5px 8px;border-radius:999px;background:#E7E7E7;color:#3A3A3A;white-space:nowrap}.ip-dd-status b{font-weight:700}.ip-header small{color:#64748b;white-space:nowrap}.ip-header button,.ip-tabs button,.ip-rail button,.ip-canvas button,.ip-monitor button,.ip-comp button,.ip-docs button,.ip-notes button{border:1px solid var(--app-contour-color);border-radius:5px;padding:6px 8px;background:#fff;color:#334155;font:inherit}.ip-tabs{display:flex;align-items:center;gap:0;margin:16px 0;border-bottom:1px solid var(--app-contour-color);padding:0}.ip-tabs button{margin-bottom:-1px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#475569;padding:8px 14px;font:700 10px/1 inherit}.ip-tabs .is-active{border-bottom:3px solid #3A3A3A;border-radius:6px 6px 0 0;background:#3A3A3A;color:#fff}.ip-profile{display:grid;grid-template-columns:275px 1fr;gap:12px}.ip-profile--rail-collapsed{grid-template-columns:52px 1fr}.ip-rail--collapsed{padding:8px}.ip-rail--collapsed>h4,.ip-rail--collapsed>dl,.ip-rail--collapsed>.ip-score,.ip-rail--collapsed>button:not(.ip-collapse){display:none}.ip-rail--collapsed .ip-identity h3,.ip-rail--collapsed .ip-identity span,.ip-rail--collapsed .ip-identity p{display:none}.ip-rail--collapsed .ip-identity{margin-top:34px;text-align:center}.ip-rail--collapsed .ip-logo{width:28px}.ip-rail,.ip-canvas,.ip-monitor article,.ip-compare-widget,.ip-doc-table{padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.ip-comparison-canvas{grid-column:1/-1;margin-top:10px;padding:10px;border:1px solid var(--app-contour-color);border-radius:7px;background:#fff}.ip-comparison-canvas>header{display:flex;justify-content:space-between;align-items:center}.ip-comparison-canvas>header span{display:flex;gap:4px;color:#64748b;font-size:8px}.ip-comparison-canvas>header button{padding:4px 6px;font-size:8px}.ip-comparison-widgets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.ip-comparison-widgets article{min-height:0;padding:8px;border:1px solid var(--app-contour-color);border-radius:5px}.ip-comparison-widgets article header{display:flex;justify-content:space-between;color:#64748b;font-size:8px}.ip-comparison-widgets article header strong{color:#0f172a;font-size:9px}.ip-comparison-bars{display:grid;gap:5px;margin-top:9px}.ip-comparison-bars>div{display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:5px;font-size:8px}.ip-comparison-bars i{height:6px;background:#e2e8f0}.ip-comparison-bars b{display:block;height:100%;background:#3A3A3A}.ip-component-comparison{display:grid;grid-template-columns:1fr auto;margin:9px 0;gap:7px;font-size:9px}.ip-component-comparison dt{color:#64748b}.ip-component-comparison dd{margin:0;font-weight:700}.ip-component-comparison small{margin-left:4px;color:#64748b;font-weight:400}.ip-rail{position:relative}.ip-rail>.ip-collapse{position:absolute;top:12px;right:12px;z-index:1;display:grid;width:28px;height:28px;margin:0;padding:4px!important;border:0!important;background:transparent!important;place-items:center;color:#475569}.ip-rail>.ip-collapse:hover{background:#f1f5f9!important;color:#3A3A3A}.ip-rail-toggle-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ip-logo{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#3A3A3A;color:#fff}.ip-rail h3{margin:5px 0}.ip-rail p i{margin-right:4px;padding:3px;background:#e2e8f0;border-radius:4px;font-style:normal}.ip-tag-row{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:7px}.ip-tag-row>span{width:100%;color:#64748b;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ip-rail .ip-tag{width:auto;margin:0;padding:3px 6px;border-radius:999px;font-size:9px}.ip-tag--gold{border-color:#fde68a!important;background:#fef9c3!important;color:#854d0e!important}.ip-tag--teal{border-color:var(--app-contour-color)!important;background:#F1F1F1!important;color:#303030!important}.ip-tag--blue{border-color:#bfdbfe!important;background:#eff6ff!important;color:#1d4ed8!important}.ip-tag--empty{border-style:dashed!important;color:#3A3A3A!important}.ip-tag-picker{position:absolute;z-index:4;top:100%;left:0;width:272px;padding:0;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a2e;overflow:hidden}.ip-tag-picker header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:11px 12px;border-bottom:1px solid var(--app-contour-color)}.ip-tag-picker header strong{font-size:12px}.ip-tag-picker header button{width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#64748b!important;font-size:17px;line-height:1}.ip-tag-options{max-height:178px;overflow-y:auto}.ip-tag-options label{display:grid;grid-template-columns:18px 12px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:10px 12px;border-bottom:1px solid var(--app-contour-color);color:#334155;font-size:10px;font-weight:600;white-space:nowrap}.ip-tag-options label:hover{background:#f8fafc}.ip-tag-options label input{width:15px;height:15px;margin:0;accent-color:#3A3A3A}.ip-tag-swatch{width:10px;height:10px;border-radius:50%}.ip-tag-swatch--gold{background:#ca8a04}.ip-tag-swatch--teal{background:#3A3A3A}.ip-tag-swatch--blue{background:#2563eb}.ip-tag-swatch--red{background:#dc2626}.ip-tag-swatch--purple{background:#7c3aed}.ip-tag-swatch--slate{background:#64748b}.ip-tag-swatch--green{background:#777777}.ip-tag-picker>button{width:calc(100% - 24px)!important;margin:10px 12px!important;border-color:var(--app-contour-color)!important;background:#3A3A3A!important;color:#fff!important;font-weight:700}.ip-rail h4{display:flex;justify-content:space-between;margin:12px 0 5px;border-top:1px solid var(--app-contour-color);padding-top:8px}.ip-rail dl{display:grid;grid-template-columns:38% 62%;gap:5px 10px;margin:0}.ip-rail dt{color:#64748b}.ip-rail dd{margin:0;color:#0f172a;font-weight:600}.ip-score-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;margin:12px 0 6px;border-top:1px solid var(--app-contour-color);padding-top:8px}.ip-score-summary strong{font-size:12px}.ip-score-summary b{font-size:16px}.ip-score-summary small{justify-self:end;color:#334155;font-weight:700}.ip-score-legend{display:flex;justify-content:flex-end;gap:10px;margin:-2px 0 6px;color:#64748b;font-size:7px;font-weight:700;text-transform:uppercase}.ip-score-legend span{display:flex;align-items:center;gap:3px}.ip-score-legend i{width:9px;height:4px;background:#3A3A3A}.ip-score-legend b{width:7px;height:7px;border:2px solid var(--app-contour-color);border-radius:50%;background:#fff}.ip-score{display:grid;grid-template-columns:minmax(0,1fr) 112px 24px 34px;align-items:center;gap:6px;margin:6px 0}.ip-score strong{color:#3A3A3A;text-align:right;font-size:11px}.ip-score-track{position:relative;height:6px;overflow:visible;background:#e2e8f0}.ip-score-track b{display:block;height:100%;background:#3A3A3A}.ip-score-track em{position:absolute;top:-2px;width:10px;height:10px;border:2px solid var(--app-contour-color);border-radius:50%;background:#fff;transform:translateX(-50%);font-style:normal}.ip-score-benchmark{display:flex;align-items:center;justify-content:flex-end;gap:3px;color:#64748b!important;font-size:9px!important;font-weight:700}.ip-score-benchmark i{width:6px;height:6px;border:1px solid var(--app-contour-color);border-radius:50%;background:#fff}.ip-indicators{margin-top:12px;border-top:1px solid var(--app-contour-color);padding-top:8px}.ip-indicators h4{margin:0 0 5px!important;border:0!important;padding:0!important}.ip-indicators>button,.ip-indicators>div{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;min-height:29px;margin:0;padding:5px 0;border:0;border-top:1px solid var(--app-contour-color);border-radius:0;background:transparent;text-align:left;color:#334155;font:inherit}.ip-indicators>button{cursor:pointer}.ip-indicators>button:hover span{color:#3A3A3A;text-decoration:underline}.ip-indicators span{color:#64748b}.ip-indicators strong{font-size:10px;text-align:right}.ip-rail>button{display:block;width:100%;margin:4px 0;text-align:left}.ip-canvas{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ip-canvas>nav{grid-column:1/-1;display:flex;align-items:center;gap:0;padding:0;border-bottom:1px solid var(--app-contour-color)}.ip-canvas>nav strong{margin-right:8px;color:#64748b;font-size:8px;letter-spacing:.05em;text-transform:uppercase}.ip-canvas>nav>button:not(.ip-edit-mode){margin-bottom:-1px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#475569;padding:7px 10px;font:700 9px/1 inherit}.ip-canvas>nav>button.is-active{border-bottom-color:#3A3A3A;border-radius:5px 5px 0 0!important;background:#3A3A3A!important;color:#fff!important}.ip-canvas>nav span{flex:1}.ip-canvas>nav .ip-edit-mode{margin:0 0 4px}.ip-canvas section{min-height:110px;padding:9px;border:1px solid var(--app-contour-color);border-radius:6px;align-self:start}.ip-canvas section:nth-of-type(n+3){min-height:0}.ip-canvas section header,.ip-monitor article>header,.ip-notes header{display:flex;justify-content:space-between}.ip-widget-actions{display:flex;gap:3px}.ip-canvas .ip-widget-actions button{padding:3px 5px;border:0;background:transparent;color:#64748b;font-size:8px}.ip-canvas section>b{display:block;margin-top:22px;font-size:18px;color:#3A3A3A}.ip-price-widget{grid-column:span 1!important;padding:8px!important}.ip-price-widget header{align-items:center}.ip-periods{display:flex;justify-content:flex-end;gap:4px;margin:5px 0}.ip-canvas .ip-periods button{min-width:30px;padding:3px 7px;border:0;border-radius:999px;background:#e5e7eb;color:#475569;font-size:8px}.ip-canvas .ip-periods button.is-active{background:#dc2626;color:#fff}.ip-price-value{display:block;margin:3px 0 4px;font-size:16px}.ip-price-widget svg{width:100%;height:210px}.ip-price-returns{display:grid;grid-template-columns:repeat(2,1fr);margin-top:7px;padding-top:7px;border-top:1px solid var(--app-contour-color);color:#64748b;text-align:center;font-size:8px}.ip-price-returns span{display:grid;gap:3px}.ip-price-returns b{color:#0f172a;font-size:10px}.ip-mini-chart{display:grid;gap:4px;margin-top:10px}.ip-chart-meta{display:flex;align-items:baseline;justify-content:space-between}.ip-chart-meta strong{font-size:15px;color:#0f172a}.ip-chart-meta span{color:#64748b;font-size:8px;font-weight:800;letter-spacing:.05em}.ip-mini-chart svg{width:100%;height:118px}.ip-mini-chart--growth{margin-top:9px}.ip-mini-chart--growth svg{height:210px}.ip-mini-chart--growth .ip-price-returns{margin-top:3px;padding-top:6px}.ip-chart-grid{fill:none;stroke:#e2e8f0;stroke-width:1}.ip-chart-axis{fill:none;stroke:#94a3b8;stroke-width:1}.ip-chart-area{fill:#3A3A3A18}.ip-chart-line{fill:none;stroke:#3A3A3A;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ip-growth-bars rect{fill:#3A3A3A}.ip-chart-endpoint{fill:#3A3A3A;stroke:#fff;stroke-width:2}.ip-chart-label{fill:#64748b;font-size:13px;font-family:Inter,Arial,sans-serif}.ip-mini-chart small{color:#64748b;font-size:8px}.ip-widget-table-head{display:grid;grid-template-columns:1fr auto;gap:10px;width:min(100%,300px);margin-top:10px;padding:0 0 5px;border-bottom:1px solid var(--app-contour-color);color:#64748b;font-size:7px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ip-widget-table-head span:last-child{text-align:right}.ip-widget-metrics{display:grid;grid-template-columns:1fr auto;gap:4px 10px;width:min(100%,300px);margin:5px 0 0}.ip-widget-metrics dt{color:#64748b}.ip-widget-metrics dd{margin:0;font-weight:700;text-align:right}.ip-widget-note{display:block;margin-top:8px;color:#64748b;font-size:8px;line-height:1.35}.ip-alert{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:6px;background:#fef2f2;color:#991b1b}.ip-alert strong{font-size:12px}.ip-alert span{flex:1;color:#7f1d1d}.ip-severity-group{padding:3px 0 5px}.ip-severity-group+.ip-severity-group{border-top:1px solid #e2e8f0}.ip-severity-group h4{display:flex;align-items:center;gap:6px;margin:7px 0 2px;color:#475569;font-size:9px;letter-spacing:.06em}.ip-severity-dot{width:8px;height:8px;border-radius:50%;background:#dc2626}.ip-severity-group:nth-of-type(3) .ip-severity-dot{background:#f59e0b}.ip-severity-group:nth-of-type(4) .ip-severity-dot{background:#0ea5e9}.ip-trigger{display:grid;grid-template-columns:64px minmax(150px,1fr) 2fr;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--app-contour-color)}.ip-toggle{display:flex!important;align-items:center;gap:5px;width:58px;padding:3px 5px!important;border:0!important;border-radius:999px!important;background:#e2e8f0!important;color:#64748b!important;font-size:7px!important}.ip-toggle b{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a44}.ip-toggle.is-on{justify-content:flex-end;background:#3A3A3A!important;color:#fff!important}.ip-toggle.is-locked{background:#e2e8f0!important;color:#64748b!important;opacity:.9}.ip-trigger-copy{display:grid;gap:2px}.ip-trigger-copy strong{font-size:10px}.ip-trigger-copy span{color:#64748b;font-size:8px}.ip-heatmap{display:grid;grid-template-columns:repeat(var(--heat-cells,16),minmax(3px,1fr));gap:2px;height:18px}.ip-heatmap i{display:block;border-radius:2px;background:#fef3c7}.ip-heatmap i.watch{background:#fed7aa}.ip-heatmap i.building{background:#fb923c}.ip-heatmap i.near{background:#ea580c}.ip-heatmap i.fired{background:#dc2626}.ip-monitor article>header .ip-monitor-periods{display:flex;flex-direction:column;align-items:flex-end;gap:3px;margin:0;color:#64748b;font-size:8px;line-height:1.2}.ip-monitor .mon-analytics-footer>div{display:flex;border:1px solid var(--app-contour-color);border-radius:12px;overflow:hidden}.ip-monitor .mon-analytics-footer button{border:0;border-radius:0;padding:4px 9px}.ip-monitor .mon-analytics-footer button.is-active{background:#3A3A3A;color:#fff}.ip-monitor .mon-analytics-footer>span{white-space:nowrap}.ip-monitor-legend{display:flex;align-items:center;gap:12px;margin-top:7px;color:#64748b;font-size:8px}.ip-monitor-legend span{display:flex;align-items:center;gap:4px}.ip-monitor-legend i{display:inline-block;width:22px;height:8px;border-radius:2px;background:#fef3c7}.ip-monitor-legend i.watch{background:#fed7aa}.ip-monitor-legend i.building{background:#fb923c}.ip-monitor-legend i.near{background:#ea580c}.ip-monitor-legend i.fired{background:#dc2626}.ip-monitor-legend small{margin-left:auto;color:#94a3b8}.ip-hist,.ip-doc-table{display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin-top:8px}.ip-hist span,.ip-doc-table>span{padding:7px 5px;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.ip-hist>button{padding:7px 5px!important;border:0!important;border-radius:0!important;background:#f1f5f9!important;color:#64748b!important;font-size:8px!important;font-weight:800!important;text-align:left;text-transform:uppercase}.ip-hist b{padding:8px 5px;border-top:1px solid var(--app-contour-color);color:#334155;font-weight:500}.ip-hist .ip-sev-cell{color:#b91c1c;font-weight:800}.ip-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ip-tiles article{min-height:95px;padding:10px;border:1px solid var(--app-contour-color);border-radius:7px;background:#fff}.ip-tiles .is-primary{border:2px solid var(--app-contour-color)}.ip-tiles article>*{display:block;margin:4px 0}.ip-comparable-identity{display:flex;align-items:center;gap:6px;min-height:29px}.ip-comparable-logo{display:grid!important;flex:0 0 25px;place-items:center;width:25px;height:25px;margin:0!important;border-radius:50%;background:#e2e8f0;color:#475569;font-size:10px}.ip-comparable-identity strong{font-size:10px}.ip-comparable-identity small{display:block;color:#64748b;font-size:8px}.ip-comparable-score{position:absolute;top:9px;right:9px;color:#0f172a;font-size:14px;font-weight:800}.ip-comparable-score small{display:block;color:#64748b;font-size:7px;font-weight:500;text-align:right}.ip-tiles article{position:relative}.ip-tiles article dl{display:grid;grid-template-columns:1fr auto;gap:3px 5px;margin:7px 0;font-size:8px}.ip-tiles article dt{color:#64748b}.ip-tiles article dd{margin:0;font-weight:700}.ip-comparable-badges{color:#3A3A3A!important;font-size:8px!important}.ip-tiles article button{padding:3px 6px;font-size:8px}.ip-replace-panel{display:grid;gap:5px;margin:10px 0;padding:9px;border:1px solid var(--app-contour-color);border-radius:6px;background:#F1F1F1}.ip-replace-panel strong{font-size:10px}.ip-replace-panel span{color:#64748b;font-size:8px}.ip-replace-panel button{width:max-content;padding:4px 7px;font-size:8px}.ip-custom{display:flex;gap:8px;align-items:center;margin:10px 0;padding:9px;background:#fef3c7}.ip-custom span{flex:1;color:#64748b}.ip-docs{padding:10px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.ip-doc-toolbar{display:flex;align-items:center;gap:5px;margin:0 0 9px;padding-bottom:9px;border-bottom:1px solid var(--app-contour-color)}.ip-doc-toolbar input{min-width:180px;flex:1;padding:7px 8px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155}.ip-doc-type-tabs{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ip-doc-type-tabs button{padding:6px 8px;border-color:var(--app-contour-color);border-radius:5px;font-size:8px;white-space:nowrap}.ip-doc-type-tabs button.is-active{border-color:#3A3A3A;background:#F1F1F1;color:#3A3A3A;font-weight:700}.ip-upload{background:#3A3A3A!important;color:#fff!important}.ip-doc-table.dd-table{display:block;overflow:hidden;border:1px solid var(--app-contour-color);border-radius:6px}.ip-doc-table .dd-grid--ipdocs{display:grid;grid-template-columns:34px minmax(180px,2fr) minmax(110px,1.1fr) minmax(100px,1fr) minmax(110px,1fr) 46px 62px 48px;column-gap:0;align-items:center}.ip-doc-table .dd-grid--ipdocs.dd-head{border:0;border-radius:0}.ip-doc-table .dd-grid--ipdocs:not(.dd-head){min-height:39px;border-top:1px solid var(--app-contour-color)}.ip-doc-table .dd-grid--ipdocs>span,.ip-doc-table .dd-grid--ipdocs>label,.ip-doc-table .dd-grid--ipdocs>.ip-doc-name,.ip-doc-table .dd-grid--ipdocs>b{min-width:0;border-top:0!important}.ip-doc-table .dd-grid--ipdocs>.ip-doc-action{min-width:0}.ip-doc-table b{font-weight:400}.ip-doc-table .dd-grid--ipdocs.dd-head>span{padding:8px 7px;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;letter-spacing:.03em;white-space:nowrap;text-transform:uppercase}.ip-doc-table label{display:flex;align-items:center;padding:8px 7px}.ip-doc-table label input{margin:0}.ip-doc-name{padding:8px 7px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#3A3A3A!important;font-size:10px!important;text-align:left}.ip-doc-name small{display:inline-block;margin-left:5px;color:#92400e;font-size:8px}.ip-doc-action{display:grid;place-items:center;justify-self:center;width:23px;height:23px;padding:0!important;border:1px solid var(--app-contour-color)!important;border-radius:5px!important;background:#fff!important;color:#475569!important;font-size:11px!important}.ip-doc-action:hover{border-color:var(--app-contour-color)!important;color:#3A3A3A!important}.ip-doc-action--delete{color:#dc2626!important}.ip-doc-empty{margin:8px 0 0;padding:18px;color:#64748b;text-align:center}.ip-docs{position:relative}.ip-upload-popover{position:absolute;z-index:5;top:62px;right:10px;width:360px;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 15px 35px #0f172a33}.ip-upload-popover:before{display:none;position:absolute;top:-7px;right:82px;width:12px;height:12px;border-top:1px solid var(--app-contour-color);border-left:1px solid var(--app-contour-color);background:#fff;content:"";transform:rotate(45deg)}.ip-upload-popover header{display:flex;align-items:flex-start;justify-content:space-between;margin:0 0 10px;padding:0 0 9px;border-bottom:1px solid var(--app-contour-color)}.ip-upload-popover header strong{display:block;font-size:11px}.ip-upload-popover header small{display:block;margin-top:3px;color:#64748b;font-size:8px}.ip-upload-popover header button{padding:0;border:0;background:transparent;color:#64748b;font-size:17px;line-height:1}.ip-upload-drop{display:grid;gap:3px;padding:14px 10px;border:2px dashed var(--app-contour-color);border-radius:6px;background:#F1F1F1;color:#3A3A3A}.ip-upload-drop strong{font-size:10px}.ip-upload-drop span{color:#64748b;font-size:8px}.ip-upload-popover label{display:grid;gap:4px;margin-top:10px;color:#64748b;font-size:8px;font-weight:700;text-transform:uppercase}.ip-upload-popover select{padding:6px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155;font:inherit;text-transform:none}.ip-upload-popover footer{display:flex;justify-content:flex-end;gap:5px;margin-top:10px}.ip-upload-popover footer button{padding:6px 8px}.ip-upload-popover footer .ip-upload{border-color:var(--app-contour-color);background:#3A3A3A;color:#fff}.ip-doc-table i{padding:0;background:transparent;color:#334155;border-radius:0;font-style:normal}.ip-drop{padding:12px;border:2px dashed var(--app-contour-color);background:#F1F1F1}.ip-drop span{display:block;margin-top:7px}.ip-notes{position:absolute;z-index:7;right:18px;top:75px;width:300px;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 15px 35px #0f172a33}.ip-notes header{display:flex;align-items:center;justify-content:space-between;margin:-12px -12px 10px;padding:11px 12px;border-bottom:1px solid var(--app-contour-color)}.ip-notes header strong{color:#303030;font-size:11px}.ip-notes header button{width:24px;height:24px;padding:0;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#475569;font-size:15px;line-height:1}.ip-notes p{margin:7px 0;padding:8px;background:#f8fafc;color:#334155}.ip-notes p b{color:#3A3A3A}.ip-notes textarea{box-sizing:border-box;width:100%;height:58px;padding:8px;border:1px solid var(--app-contour-color);border-radius:5px;font:inherit}.ip-notes>button{margin-top:7px;border-color:var(--app-contour-color);background:#F1F1F1;color:#3A3A3A;font-weight:700}.ip-note-confirm{display:grid;gap:5px;margin-top:9px;padding:9px;border:1px solid var(--app-contour-color);border-radius:6px;background:#F1F1F1}.ip-note-confirm strong{color:#303030;font-size:10px}.ip-note-confirm span{color:#64748b;font-size:8px}.ip-note-confirm footer,.ip-research-popover footer{display:flex;justify-content:flex-end;gap:5px;margin-top:5px}.ip-note-primary{border-color:var(--app-contour-color)!important;background:#3A3A3A!important;color:#fff!important}.ip-research-popover{position:absolute;z-index:8;top:75px;right:18px;width:360px;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 15px 35px #0f172a33}.ip-research-popover:before{display:none;position:absolute;top:-7px;right:108px;width:12px;height:12px;border-top:1px solid var(--app-contour-color);border-left:1px solid var(--app-contour-color);background:#fff;content:"";transform:rotate(45deg)}.ip-research-popover header{display:flex;justify-content:space-between;margin:-12px -12px 10px;padding:11px 12px;border-bottom:1px solid var(--app-contour-color)}.ip-research-popover header strong{color:#303030}.ip-research-popover header button{padding:0;border:0;background:transparent;color:#64748b;font-size:17px}.ip-research-popover label{display:grid;gap:4px;margin:9px 0;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.ip-research-popover input,.ip-research-popover textarea{box-sizing:border-box;width:100%;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px;font:inherit;text-transform:none}.ip-research-popover textarea{height:100px;resize:vertical}.ip-freeform--honesty :is(.ip-header,.ip-tabs,.ip-profile,.ip-monitor,.ip-comp,.ip-docs,.ip-notes){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}@media(max-width:760px){.ip-header{align-items:flex-start;gap:12px;flex-direction:column}.ip-header>div:last-child{flex-wrap:wrap}.ip-profile,.ip-profile--rail-collapsed{grid-template-columns:1fr}.ip-profile--rail-collapsed .ip-rail{min-height:52px}.ip-canvas{grid-template-columns:1fr}.ip-canvas>nav{flex-wrap:wrap}.ip-canvas>nav span{display:none}.ip-tiles{grid-template-columns:1fr 1fr}.ip-comparison-widgets{grid-template-columns:1fr}.ip-doc-toolbar{flex-wrap:wrap}.ip-doc-toolbar input{flex-basis:100%}}
.settings-freeform{max-width:980px;margin:auto;padding:20px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px}.settings-freeform>header span,.set-content>span{color:#3A3A3A;font-size:9px;font-weight:800;text-transform:uppercase}.settings-freeform h2{margin:3px 0;font-size:23px}.settings-freeform main{display:grid;grid-template-columns:210px 1fr;gap:14px;margin-top:16px}.set-nav,.set-content{padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff}.set-avatar{margin-bottom:12px;padding:9px;background:#3A3A3A;border-radius:6px;color:#fff;font-weight:800}.set-nav button{display:block;width:100%;padding:9px;border:0;border-radius:5px;background:transparent;text-align:left;color:#475569;font:inherit;cursor:pointer}.set-nav .is-active{background:#F1F1F1;color:#3A3A3A;font-weight:800}.set-content{position:relative}.set-content h3{margin:3px 0 6px;font-size:18px}.set-content p,.set-content small{color:#64748b}.set-content h4{margin:18px 0 7px}.set-logo-upload{margin:18px 0;max-width:440px}.set-logo-upload h4{margin:0 0 7px}.set-logo-upload p{margin:0 0 12px;line-height:1.45}.set-logo-drop{position:relative;display:grid;place-items:center;gap:5px;min-height:96px;padding:16px;border:2px dashed #93c5fd;border-radius:12px;background:#eff6ff;color:#0f172a;font-size:12px;line-height:1.35;text-align:center;cursor:pointer}.set-logo-drop b{font-size:20px;line-height:1}.set-logo-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.set-logo-preview{display:grid;justify-items:start;gap:8px;margin-top:12px}.set-logo-preview img{display:block;box-sizing:border-box;max-width:300px;max-height:300px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;object-fit:contain}.set-logo-preview button{padding:6px 9px;border:1px solid #fecaca;border-radius:5px;background:#fff;color:#b91c1c;font:inherit;cursor:pointer}.set-logo-file,.set-logo-resize{display:block;margin-top:8px}.set-logo-resize{font-style:italic}.set-theme{display:flex;gap:8px}.set-theme button,.set-password button,.set-primary,.set-create button{border:1px solid var(--app-contour-color);border-radius:5px;padding:8px 10px;background:#fff;color:#334155;font:inherit}.set-theme .is-active{border-color:var(--app-contour-color);background:#F1F1F1;color:#3A3A3A}.set-password{max-width:400px}.set-password label,.set-account label{display:block;margin:8px 0;color:#475569}.set-password input,.set-account input,.set-rule input,.set-rule select,.set-create input{box-sizing:border-box;width:100%;margin-top:3px;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px}.set-password button,.set-primary{margin-top:6px;border-color:var(--app-contour-color);background:#3A3A3A;color:#fff}.set-account{margin-top:20px}.set-account small{margin-left:5px}.set-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0}.set-account-summary div{padding:8px 10px;border:1px solid var(--app-contour-color);border-radius:6px;background:#f8fafc}.set-account-summary dt{color:#64748b;font-size:9px}.set-account-summary dd{margin:3px 0 0;color:#0f172a;font-weight:700}.set-upload{display:grid;gap:4px;padding:12px;border-left:3px solid var(--app-contour-color);background:#F1F1F1}.set-grid{display:grid;grid-template-columns:1.2fr .8fr 2fr;gap:0;border:1px solid var(--app-contour-color);border-radius:7px;overflow:hidden}.set-grid>*{padding:9px;border-top:1px solid var(--app-contour-color)}.set-grid>span{border-top:0;background:#f1f5f9;color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.set-grid b{font-weight:400}.set-excl{grid-template-columns:minmax(130px,1fr) minmax(100px,.9fr) minmax(220px,1.5fr) minmax(82px,auto)}.set-excl-actions{display:flex;gap:4px;align-items:center;padding:0!important}.set-excl-actions button{min-width:0;padding:4px 7px;border:1px solid var(--app-contour-color);border-radius:4px;background:#fff;color:#475569;font:inherit;font-size:10px;font-weight:700;white-space:nowrap}.set-excl-actions button:last-child{color:#b91c1c;border-color:#fecaca}.set-excl-actions button:hover{text-decoration:underline}.set-rule,.set-create{margin-top:12px;padding:11px;border:1px dashed var(--app-contour-color);border-radius:7px;background:#F1F1F1}.set-rule{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:6px;align-items:end}.set-rule h4{grid-column:1/-1;margin:0}.set-popover{position:absolute;z-index:10;left:12px;right:12px;padding:14px;border:1px solid var(--app-contour-color);border-radius:9px;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.14)}.set-popover--exclusion{top:150px}.set-popover--tag{top:245px}.set-popover header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.set-popover header strong,.set-popover header small{display:block}.set-popover header small{margin-top:3px;color:#64748b}.set-popover header button{border:0;background:transparent;color:#64748b;font-size:18px}.set-popover label{display:block;margin:8px 0;color:#475569;font-weight:700}.set-popover label input,.set-popover label select{display:block;box-sizing:border-box;width:100%;margin-top:4px;padding:7px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff}.set-popover footer{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.set-popover footer button{box-sizing:border-box;height:34px;min-height:34px;margin:0;padding:7px 12px;border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155;font:inherit;line-height:18px}.set-popover footer .set-primary{border-color:var(--app-contour-color);background:#3A3A3A;color:#fff}.set-tags{grid-template-columns:minmax(220px,1.5fr) 90px minmax(140px,1fr) minmax(155px,auto)}.set-tags > b{min-width:0;padding-top:9px;padding-bottom:9px}.set-tags > span{min-width:0;background:#fff;color:inherit}.set-tags > .set-tag-color-cell{display:flex;align-items:center;padding:9px!important;align-self:stretch;border-top:1px solid var(--app-contour-color);background:#fff}.set-tag-color-cell i{box-sizing:border-box;width:22px;height:22px;flex:0 0 22px;padding:0!important;border-radius:4px;background-clip:padding-box}.set-tags > .set-tag-actions{display:flex;gap:4px;align-items:center;padding:0 9px!important;align-self:stretch;border-top:1px solid var(--app-contour-color);background:#fff;color:inherit}.set-palette{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin:8px 0}.set-palette button{flex:0 0 auto}.set-custom-color{display:inline-flex!important;align-items:center;gap:8px;margin-left:10px!important;font-weight:700!important;color:#475569}.set-custom-color input{width:34px!important;height:24px!important;margin:0!important;padding:1px!important;border:1px solid var(--app-contour-color);border-radius:4px}.tag-teal{background:#3A3A3A}.tag-gold{background:#ca8a04}.tag-red{background:#dc2626}.tag-blue{background:#2563eb}.set-create div{display:flex;gap:6px;margin:8px 0}.set-create div i,.set-palette button{width:22px;height:20px;border-radius:4px}.set-palette button{border:1px solid #cbd5e1;cursor:pointer}.set-palette button.is-active,.set-palette button.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #3A3A3A}.set-palette button:focus{outline:2px solid #3A3A3A;outline-offset:2px}.set-tag-actions{display:flex;gap:4px;align-items:center}.set-tag-actions button{min-height:28px;padding:4px 7px;border:1px solid var(--app-contour-color);border-radius:4px;background:#fff;color:#475569}.set-tag-actions button:last-child{color:#b91c1c;border-color:#fecaca}.set-notice{display:block;margin-top:8px;color:#3A3A3A!important;font-weight:700}.settings-freeform--popover .set-content{min-height:720px}.settings-freeform--honesty :is(header,.set-nav,.set-content,.set-rule,.set-create){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}@media (max-width:700px){.settings-freeform main{grid-template-columns:1fr}.set-nav{display:flex;gap:4px;overflow-x:auto}.set-nav .set-avatar{display:none}.set-nav button{min-width:max-content}.set-grid{overflow-x:auto;min-width:520px}.set-rule{grid-template-columns:1fr}.set-content{overflow-x:auto}.settings-freeform--popover .set-content{min-height:860px}}
.ask-ai-freeform{max-width:1100px;margin:auto;padding:18px;border:1px solid var(--app-contour-color);border-radius:12px;background:#f8fafc;color:#0f172a;font-size:11px}.ask-ai-freeform>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--app-contour-color);padding-bottom:10px}.ask-ai-freeform h2{margin:0;font-size:21px}.ask-ai-freeform button{border:1px solid var(--app-contour-color);border-radius:5px;padding:6px 8px;background:#fff;color:#334155;font:inherit}.ask-ai-freeform main{display:grid;grid-template-columns:205px 1fr;min-height:500px}.ai-rail{padding:12px 10px;border-right:1px solid var(--app-contour-color);display:flex;flex-direction:column;min-height:0}.ai-rail>span{display:block;margin:15px 4px 6px;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase}.ai-rail>button{display:block;width:100%;margin:4px 0;text-align:left;flex:none}.ai-history-list{overflow-y:auto;max-height:460px;min-height:0}.ai-history-list button{display:block;width:100%;margin:4px 0;text-align:left}.ai-history-list button[data-ai-history]{min-height:44px}.ai-history-list button[data-ai-history] b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-history-list button[data-ai-history] small{white-space:nowrap}.ai-new{border-color:var(--app-contour-color)!important;color:#3A3A3A!important;font-weight:800!important}.ai-rail button b,.ai-rail button small{display:block}.ai-rail button small{margin-top:3px;color:#64748b}.ai-rail .is-active{background:#F1F1F1;border-color:#3A3A3A}.ai-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.ai-orb{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#D0D0D0,#3A3A3A);color:#fff;font-size:23px}.ai-welcome h2{max-width:420px;margin:15px 0;text-align:center;font-size:23px}.ai-input{display:flex;align-items:end;gap:7px;width:min(620px,100%);padding:8px;border:1px solid var(--app-contour-color);border-radius:9px;background:#fff}.ai-input textarea{flex:1;min-height:28px;border:0;resize:none;font:inherit;outline:none}.ai-input button,.ai-primary{background:#3A3A3A!important;border-color:var(--app-contour-color)!important;color:#fff!important}.ai-welcome-subtitle{margin:-6px 0 14px;color:#64748b;text-align:center}.ai-suggested-label{margin:4px 0;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.ai-prompts{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px;margin:13px 0}.ai-prompts button{max-width:280px;min-width:0;text-align:left;border-radius:18px}.ai-prompts button i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#3A3A3A}.ai-prompts button.ai-prompt--book i{background:#9333ea}.ai-prompts button.ai-prompt--workflow i{background:#d97706}.ai-welcome>small,.ai-history-note{color:#64748b}.ai-history-note{display:block;margin:18px 4px 4px;font-size:9px;font-style:italic;flex:none}.ai-positive{color:#3A3A3A!important}.ai-thread{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px 12%;min-height:500px}.ai-thread .ai-input{position:sticky;bottom:0;margin-top:auto;width:100%;z-index:2}.ai-input textarea{color:#0f172a}.ai-input textarea::placeholder{color:#64748b}.ai-message{max-width:88%;padding:10px 12px;border-radius:9px}.ai-message--user{align-self:end;background:#3A3A3A;color:#fff}.ai-message--bot{display:flex;gap:8px;align-self:start;background:#fff;border:1px solid var(--app-contour-color)}.ai-message--bot>i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#E7E7E7;color:#3A3A3A;font-style:normal}.ai-message--bot section{margin-top:9px}.ai-message--bot section button{margin-right:5px}.ai-message--bot section em{display:block;margin-top:8px;color:#64748b;font-size:9px}.ai-message--bot section button small{margin-left:5px;padding:2px 5px;border-radius:8px;background:#3A3A3A;color:#fff;font-size:8px}.ai-confirm--action strong{color:#b45309}.ai-result b{white-space:nowrap}.ai-message--bot .is-default{border-color:var(--app-contour-color);background:#F1F1F1}.ai-confirm{min-width:390px;padding:12px;border-left:3px solid var(--app-contour-color);background:#F1F1F1}.ai-confirm--action{border-color:#d97706;background:#fffbeb}.ai-confirm dl{display:grid;grid-template-columns:100px 1fr;gap:7px;margin:10px 0}.ai-confirm dt{color:#64748b}.ai-confirm dd{margin:0;font-weight:700}.ai-confirm footer{display:flex;justify-content:flex-end;gap:6px}.ai-action{border-color:#d97706!important;background:#d97706!important;color:#fff!important}.ai-result{display:grid;grid-template-columns:1.5fr 1.2fr .7fr .8fr;gap:6px;margin:8px 0;border:1px solid var(--app-contour-color);padding:7px;overflow-x:auto;min-width:0}.ai-result span{color:#64748b;font-size:8px;font-weight:800;text-transform:uppercase}.ai-link{margin-top:4px;color:#3A3A3A!important;border:0!important;background:transparent!important;padding:0!important}.ai-success{color:#3A3A3A;font-weight:700}.ai-no-result{color:#64748b}.ai-illustrative-answer{min-width:360px}.ai-illustrative-answer strong{display:block;color:#3A3A3A;font-size:12px}.ai-illustrative-answer p{margin:8px 0;color:#334155}.ai-illustrative-answer small{color:#64748b;font-style:italic}.ask-ai-freeform--honesty :is(header,.ai-rail,.ai-welcome,.ai-thread,.ai-message,.ai-confirm){outline:2px solid color-mix(in srgb,var(--required) 65%,transparent);outline-offset:2px}@media (max-width:700px){.ask-ai-freeform main{grid-template-columns:1fr}.ai-rail{border-right:0;border-bottom:1px solid var(--app-contour-color);max-height:190px}.ai-thread{padding:14px 4%}.ai-prompts{grid-template-columns:1fr}.ai-confirm{min-width:0}.ai-message{max-width:100%}}

/* Monitoring visual reconciliation: product mock plus a clearly non-product B12 review aid. */
.monitoring-freeform{position:relative;max-width:1100px;padding:24px;background:#0a0a0a;color:#f8fafc;border-color:var(--app-contour-color);border-radius:14px;font-size:11px}
.monitoring-freeform button,.monitoring-freeform input{background:#111827;color:#f8fafc;border-color:var(--app-contour-color)}
.mon-page-header{padding:0 0 14px}.mon-page-header>div:last-child{display:flex;align-items:center;gap:8px}.monitoring-freeform header>div>span{color:#5fc9e0}.monitoring-freeform header p{color:#94a3b8}.monitoring-freeform header>div:last-child>button:first-child{border-color:var(--app-contour-color);color:#5fc9e0}
.monitoring-tiles{gap:10px;margin:0 0 16px;padding:14px;border:1px solid var(--app-contour-color);border-radius:8px;background:#111827}.mon-tile{min-height:62px;padding:10px 12px!important;background:#111827!important;border-width:1px!important}.mon-tile span{color:#94a3b8;text-transform:uppercase;font-size:8px;font-weight:800;letter-spacing:.05em}.mon-tile strong{color:#f8fafc;margin:5px 0 2px;font-size:18px}.mon-tile small{color:#94a3b8}.mon-tile--0{border-color:#ef4444!important;background:#1a1013!important}.mon-tile--1{border-color:#c2410c!important;background:#1a1410!important}.mon-tile--2{border-color:var(--app-contour-color)!important;background:#0c1a1e!important}.mon-tile--3{border-color:#3b82f6!important;background:#101a2e!important}
.monitoring-tabs{gap:8px;border:0;margin-bottom:10px}.monitoring-tabs button{min-width:120px;border:1px solid var(--app-contour-color);border-radius:16px;background:#0a0a0a}.monitoring-tabs .is-active{border:1px solid #777777;background:#3A3A3A;color:#E7E7E7}.mon-work{grid-template-columns:32% 1fr;gap:12px;margin-top:0}.mon-work aside,.mon-work article,.mon-alerts{background:#111827;border-color:var(--app-contour-color)}.mon-work aside>header,.mon-work article>header{display:flex;align-items:center;justify-content:space-between}.mon-work h3{margin:0;color:#f8fafc;font-size:15px}.mon-work article header p{margin:4px 0 0;font-size:9px}.mon-work aside>header button{padding:3px 10px;font-size:8px}.mon-work aside>input{margin:10px 0;background:#0a0a0a}.mon-trigger-set{margin-top:12px}.mon-trigger-set h4{display:flex;gap:7px;align-items:center;margin:0 0 5px;color:#94a3b8;font-size:9px}.mon-trigger-set h4 i{width:7px;height:7px;border-radius:50%;background:currentColor}.mon-trigger-set button{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:5px;width:100%;margin:3px 0;padding:7px;text-align:left;background:#161b22}.mon-trigger-set button.is-selected{border-color:var(--app-contour-color);background:#132630}.mon-trigger-set button b{font-size:9px}.mon-trigger-set button em{color:#94a3b8;font-size:7px;font-style:normal}.mon-trigger-set button small{grid-column:2/4;color:#64748b;font-size:7px}.mon-switch{width:17px;height:10px;border-radius:9px;background:#2a3644;position:relative}.mon-switch:after{position:absolute;content:"";width:6px;height:6px;top:2px;left:2px;border-radius:50%;background:#8a94a3}.mon-switch.is-on{background:#777777}.mon-switch.is-on:after{left:9px;background:#f8fafc}.mon-session-note{display:block;margin-top:14px;color:#64748b;font-size:8px;font-style:italic}
.mon-filter{align-items:center}.mon-filter button{padding:5px 9px;color:#94a3b8}.mon-filter .is-active{border-color:#777777;background:#3A3A3A;color:#E7E7E7}.mon-filter .mon-sector{margin-left:auto}.mon-analytic-grid,.mon-alert-grid{border-color:var(--app-contour-color);color:#cbd5e1}.mon-head{background:#1a2530;color:#94a3b8}.mon-analytic-grid button,.mon-alert-grid button{padding:0;border:0;background:transparent;color:#f8fafc;text-align:left}.mon-sev--sev1{color:#f87171}.mon-sev--sev2{color:#fb923c}.mon-sev--sev3{color:#5fc9e0}.mon-heat i{width:14px;height:13px;background:#241f16}.mon-heat .hot{background:#c2410c}.mon-heat .fire{background:#ef4444}.mon-analytics-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#94a3b8;font-size:8px}.mon-analytics-footer div{display:flex;border:1px solid var(--app-contour-color);border-radius:12px;overflow:hidden}.mon-analytics-footer button{border:0;border-radius:0;padding:4px 9px}.mon-analytics-footer button.is-active{background:#777777;color:#3A3A3A}.mon-heat-legend{display:flex;align-items:center;gap:4px}.mon-heat-legend i{display:inline-block;width:18px;height:8px;border-radius:2px;background:#fef3c7;vertical-align:middle}.mon-heat-legend i.watch{background:#fed7aa}.mon-heat-legend i.building{background:#fb923c}.mon-heat-legend i.near{background:#ea580c}.mon-heat-legend i.fired{background:#dc2626}
.mon-alerts{margin-top:0}.mon-alert-undo{display:flex;justify-content:space-between;align-items:center;margin:7px 0;padding:6px 8px;border:1px solid var(--app-contour-color);border-radius:6px;background:#F1F1F1;color:#475569;font-size:8px}.mon-alert-undo button{border-color:var(--app-contour-color)!important;color:#3A3A3A!important}.mon-alert-grid{grid-template-columns:76px 1.1fr 38px 2fr .7fr .7fr .65fr .7fr 30px;gap:11px;padding:10px}.mon-alert-grid.mon-head>*{white-space:nowrap}.mon-alert-grid>:nth-child(3){justify-self:center;text-align:center}.mon-alert-grid>:nth-child(3) input{display:block;margin:0 auto}.mon-alert-grid>:is(:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8)){justify-self:end;text-align:right}.mon-analytic-grid>:is(:nth-child(2),:nth-child(3)){justify-self:end;text-align:right}.mon-alert-status-tabs{gap:0;border-bottom:1px solid #cbd5e1}.mon-alert-status-tabs button{padding:5px 8px!important;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;color:#475569!important;font-size:8px!important}.mon-alert-status-tabs button.is-active{border-bottom-color:#3A3A3A!important;color:#3A3A3A!important}.mon-alert-filter-builder{position:relative;z-index:2;display:grid;gap:8px;margin:8px 0;padding:10px;border:1px solid var(--app-contour-color);border-radius:7px;background:#F1F1F1;font-size:8px}.mon-alert-filter-builder header,.mon-alert-filter-builder footer{display:flex;justify-content:space-between;align-items:center}.mon-alert-filter-builder label,.mon-alert-filter-builder div{display:flex;align-items:center;gap:6px}.mon-alert-sort-builder div em{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#D4D4D4;color:#3A3A3A;font-size:8px;font-style:normal;font-weight:800}.mon-alert-sort-builder footer small{color:#64748b}.mon-alert-notes-state{display:block;margin-top:3px;color:#64748b;font-size:8px}.mon-alert-filter-builder select{font-size:8px}.mon-alert-filter-builder div span{font-weight:700;color:#475569}.mon-alert-filter-builder div b{color:#64748b}.mon-alert-filter-builder div button.is-active{border-color:#6F6F6F;color:#3A3A3A;background:#E7E7E7}.mon-alert-sort{color:#475569;text-align:left}.mon-alert-sort:hover{color:#3A3A3A}.mon-alert-panel{position:relative;margin-top:10px;padding:12px;border:1px solid var(--app-contour-color);border-radius:8px;background:#fff;box-shadow:0 10px 24px #0f172a1a}.mon-alert-panel header{display:flex;justify-content:space-between}.mon-alert-panel header span{display:block;color:#6F6F6F;font-size:8px;font-weight:800;text-transform:uppercase}.mon-alert-panel header strong{display:flex;align-items:center;gap:5px;font-size:11px}.mon-alert-panel-detail{padding:8px 0;border-bottom:1px solid var(--app-contour-color)}.mon-alert-panel p{color:#475569;font-size:9px}.mon-alert-panel-security{padding:0!important;border:0!important;color:#3A3A3A!important;background:transparent!important;font-size:8px!important}.mon-alert-applet{margin-top:9px;padding:9px;border-radius:6px;background:#f8fafc}.mon-alert-applet h4{font-size:9px}.mon-alert-panel textarea{box-sizing:border-box;width:100%;min-height:60px}.mon-alert-panel footer{display:flex;justify-content:flex-end;margin-top:8px}.mon-alert-panel footer button{border-color:var(--app-contour-color);color:#3A3A3A}.mon-alert-grid .mon-alert-security{display:flex;align-items:center;gap:6px;color:#3A3A3A;text-align:left}.mon-alert-security i{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#e2e8f0;color:#475569;font-size:8px;font-style:normal;font-weight:800}.mon-alert-grid .mon-alert-view{display:grid;place-items:center;width:26px;height:24px;padding:4px;border:1px solid var(--app-contour-color)!important;border-radius:5px!important;background:#fff!important;color:#475569!important}.mon-alert-view:hover{border-color:var(--app-contour-color)!important;color:#3A3A3A!important}.mon-alert-view svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}.mon-bulk{display:flex;align-items:center;gap:14px;border:1px solid var(--app-contour-color);border-radius:7px;background:#111827;color:#f8fafc}.mon-bulk small{flex:1;color:#64748b;font-size:8px}.mon-bulk button{background:#777777;color:#04141a;border:0;border-radius:12px;padding:5px 14px}
.mon-review-toggle{position:relative;border-color:var(--app-contour-color)!important;color:#E7E7E7!important;background:#3A3A3A!important}.mon-review-toggle b{display:inline-grid;place-items:center;min-width:15px;height:15px;margin-left:3px;border-radius:50%;background:#777777;color:#3A3A3A;font-size:8px}.mon-review-popover{position:absolute;z-index:4;right:24px;top:62px;width:min(450px,calc(100% - 48px));padding:14px;border:1px solid var(--app-contour-color);border-radius:9px;background:#111827;box-shadow:0 15px 40px #000b}.mon-review-popover header{display:flex;justify-content:space-between;align-items:start}.mon-review-popover header span{font-size:8px;color:#9A9A9A;text-transform:uppercase;font-weight:800}.mon-review-popover h3{margin:3px 0;color:#f8fafc;font-size:14px}.mon-review-popover header button{padding:2px 7px;font-size:16px}.mon-review-popover>p,.mon-review-popover small{color:#94a3b8;font-size:9px}.mon-review-popover ul{display:grid;gap:8px;max-height:320px;margin:11px 0;padding:0;overflow-y:auto;scrollbar-gutter:stable;list-style:none}.mon-review-popover li{padding:8px;border-left:2px solid var(--app-contour-color);background:#161b22}.mon-review-popover li strong,.mon-review-popover li span{display:block}.mon-review-popover li strong{color:#9A9A9A;font-size:8px}.mon-review-popover li span{margin-top:3px;color:#e2e8f0;font-size:9px}.mon-review-popover code{color:#9A9A9A}.monitoring-freeform--honesty :is(.mon-page-header,.monitoring-tiles,.monitoring-tabs,.mon-work,.mon-alerts){outline-color:color-mix(in srgb,var(--required) 65%,transparent)}
/* Monitoring trigger list: independently expandable, collapsible, or hidden. */
.mon-work--expanded{grid-template-columns:32% 1fr}
.mon-work--rail{grid-template-columns:44px 1fr}
.mon-work--hidden{grid-template-columns:1fr}
.mon-trigger-list{min-height:0;max-height:520px;overflow-y:auto}
.mon-trigger-list>header span{display:flex;gap:5px}
.mon-trigger-list>header button{padding:3px 7px;font-size:8px}
.mon-trigger-list>input{position:sticky;top:0;z-index:1}
.mon-trigger-empty{padding:10px;color:#64748b;font-size:9px}
.mon-trigger-assets{color:#3A3A3A;font-weight:700}
.mon-trigger-rail{display:grid;grid-template-rows:auto repeat(3,1fr);gap:8px;height:100%;min-height:260px}
.mon-trigger-rail button{padding:4px!important;font-size:17px!important;line-height:1}
.mon-trigger-rail i{display:block;width:100%;min-height:42px;border-radius:4px;background:#cbd5e1}
.mon-trigger-rail .mon-sev--sev1{background:#dc2626}.mon-trigger-rail .mon-sev--sev2{background:#ea580c}.mon-trigger-rail .mon-sev--sev3{background:#777777}
.mon-work--hidden article{min-width:0}
.mon-analytics-filter{display:flex;align-items:center;gap:8px;margin:10px 0;position:relative}
.mon-analytics-tabs{flex:1;gap:0;border-bottom:1px solid var(--app-contour-color)}
.mon-analytics-tabs button{margin-bottom:-1px;padding:7px 10px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;background:transparent!important;color:#475569!important;font:700 9px/1 inherit!important}
.mon-analytics-tabs button.is-active{border-bottom-color:#3A3A3A!important;border-radius:5px 5px 0 0!important;background:#3A3A3A!important;color:#fff!important}
.mon-sector-anchor{position:relative}.mon-sector-anchor>.mon-sector{white-space:nowrap}
.mon-sector-menu{position:absolute;z-index:3;right:0;top:calc(100% + 5px);display:grid;min-width:170px;padding:5px;border:1px solid var(--app-contour-color);border-radius:7px;background:#fff;box-shadow:0 10px 24px #0f172a26}
.mon-sector-menu button{border:0!important;background:transparent!important;color:#475569!important;text-align:left}.mon-sector-menu button:hover,.mon-sector-menu button.is-active{background:#E7E7E7!important;color:#3A3A3A!important}.mon-analytics-summary{margin:-4px 0 7px;color:#64748b;font-size:8px}.mon-analytics-summary span{color:#94a3b8}.mon-analytic-grid button.is-trigger-disabled{color:#94a3b8;font-weight:500;opacity:.72}.mon-analytics-empty{padding:16px;color:#64748b;font-size:9px;text-align:center}.mon-analytic-grid.mon-head .mon-analytic-sort,.mon-alert-grid.mon-head .mon-alert-sort{padding:0;border:0;background:transparent;color:#64748b;font:800 8px/1 inherit;letter-spacing:.04em;text-align:left;text-transform:uppercase;cursor:pointer}.mon-analytic-grid.mon-head .mon-analytic-sort:hover,.mon-alert-grid.mon-head .mon-alert-sort:hover{color:#3A3A3A}.mon-heat{display:grid;grid-template-columns:repeat(var(--heat-cells, 8), minmax(3px, 1fr));gap:1px}.mon-heat i{width:auto;height:12px}.mon-heat i.fire{box-shadow:inset 0 0 0 1px #7f1d1d}
@media(max-width:760px){.monitoring-tiles,.mon-work{grid-template-columns:1fr}.mon-page-header,.mon-page-header>div:last-child,.mon-analytics-footer{align-items:start;flex-direction:column}.mon-alert-grid{min-width:840px}.mon-alerts{overflow:auto}.mon-review-popover{top:110px}.mon-filter{flex-wrap:wrap}.mon-filter .mon-sector{margin-left:0}}

/* Monitoring uses the same light visual system as Book of Business. */
.monitoring-review-aid{position:relative;display:flex;align-items:center}.monitoring-review-aid .mon-review-popover{top:calc(100% + 8px);right:0;width:min(450px,calc(100vw - 56px))}.monitoring-freeform{background:#f8fafc;color:#0f172a;border-color:var(--app-contour-color)}.monitoring-freeform button,.monitoring-freeform input{background:#fff;color:#475569;border-color:var(--app-contour-color)}.monitoring-freeform header>div>span{color:#3A3A3A}.monitoring-freeform header p{color:#64748b}.monitoring-freeform header>div:last-child>button:first-child{border-color:var(--app-contour-color);color:#475569}.monitoring-tiles{background:transparent;border:0;padding:0}.mon-tile{background:#fff!important;border-color:var(--app-contour-color)!important}.mon-tile strong{color:#0f172a}.mon-tile--0{border-top:3px solid #dc2626!important;background:#fff!important}.mon-tile--1{border-top:3px solid #ea580c!important;background:#fff!important}.mon-tile--2{border-top:3px solid var(--app-contour-color)!important;background:#fff!important}.mon-tile--3{border-top:3px solid #2563eb!important;background:#fff!important}.monitoring-tabs button{background:transparent;color:#475569}.monitoring-tabs .is-active{border-color:#3A3A3A;background:#3A3A3A;color:#fff}.mon-work aside,.mon-work article,.mon-alerts{background:#fff;border-color:var(--app-contour-color)}.mon-work aside>input{background:#fff;color:#475569;border-color:var(--app-contour-color)}.mon-work h3{color:#0f172a}.mon-trigger-set button{background:#fff;color:#475569;border-color:var(--app-contour-color)}.mon-trigger-set button.is-selected{background:#F1F1F1;border-color:var(--app-contour-color)}.mon-trigger-set button b{color:#0f172a}.mon-trigger-set button small,.mon-session-note{color:#64748b}.mon-switch{background:#cbd5e1}.mon-switch.is-on{background:#777777}.mon-filter .is-active{border-color:#3A3A3A;background:#E7E7E7;color:#3A3A3A}.mon-analytic-grid,.mon-alert-grid{border-color:var(--app-contour-color);color:#475569}.mon-head{background:#f1f5f9;color:#64748b}.mon-analytic-grid button,.mon-alert-grid button{color:#3A3A3A}.mon-sev--sev1{color:#b91c1c}.mon-sev--sev2{color:#9a3412}.mon-sev--sev3{color:#5E5E5E}.mon-heat i{background:#fef3c7}.mon-heat i.watch{background:#fed7aa}.mon-heat i.building{background:#fb923c}.mon-heat i.near{background:#ea580c}.mon-heat i.fired{position:relative}.mon-heat i.fired b{position:absolute;top:50%;left:50%;transform:translate(-50%,-57%);color:#fff;font-size:8px;line-height:1;text-shadow:0 1px 1px #7f1d1d;font-weight:900}.mon-analytics-footer{color:#64748b}.mon-heat-legend i.clear{background:#fef3c7}.mon-heat-legend i.watch{background:#fed7aa}.mon-heat-legend i.building{background:#fb923c}.mon-heat-legend i.near{background:#ea580c}.mon-heat-legend i.fired{background:#dc2626}.mon-analytics-footer div{border-color:var(--app-contour-color)}.mon-analytics-footer button.is-active{background:#3A3A3A;color:#fff}.mon-bulk{background:#F1F1F1;border-color:var(--app-contour-color);color:#0f172a}.mon-bulk button{background:#fff;color:#5E5E5E;border:1px solid var(--app-contour-color)}.mon-review-toggle{border-color:var(--app-contour-color)!important;background:#fff!important;color:#3A3A3A!important}.mon-review-toggle b{background:#3A3A3A;color:#fff}.mon-review-popover{background:#fff;border-color:var(--app-contour-color);box-shadow:0 15px 40px #0f172a33}.mon-review-popover header span,.mon-review-popover li strong,.mon-review-popover code{color:#3A3A3A}.mon-review-popover h3{color:#0f172a}.mon-review-popover>p,.mon-review-popover small{color:#64748b}.mon-review-popover li{background:#f8fafc;border-left-color:var(--app-contour-color)}.mon-review-popover li span{color:#334155}.mon-review-popover li em{margin-left:4px;color:#64748b;font-size:8px;font-style:normal;font-weight:400;text-transform:uppercase}.mon-review-popover li small{display:block;margin-top:4px;color:#64748b;font-size:8px}.mon-review-popover footer{display:flex;justify-content:flex-end;margin-top:10px}.mon-review-popover footer button{border-color:var(--app-contour-color);color:#3A3A3A;font-size:9px}
/* Dashboard and Monitoring result surfaces show ten data rows, then scroll internally. */
.mock-stage--freeform .home-scroll,
.app-preview .home-scroll {
  height: 340px;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}
.mock-stage--freeform .home-scroll--alerts,
.app-preview .home-scroll--alerts {
  height: auto;
  max-height: 340px;
  overflow-y: auto;
}
.mock-stage--freeform .home-alert-row,
.app-preview .home-alert-row { cursor: pointer; }
.mock-stage--freeform .home-alert-row:hover,
.app-preview .home-alert-row:hover { background: var(--gds-app-row-hover); }
.mock-stage--freeform .home-scroll::-webkit-scrollbar,
.app-preview .home-scroll::-webkit-scrollbar,
.mock-stage--freeform .mon-alert-scroll::-webkit-scrollbar,
.app-preview .mon-alert-scroll::-webkit-scrollbar { width: 10px; }
.mock-stage--freeform .home-scroll::-webkit-scrollbar-thumb,
.app-preview .home-scroll::-webkit-scrollbar-thumb,
.mock-stage--freeform .mon-alert-scroll::-webkit-scrollbar-thumb,
.app-preview .mon-alert-scroll::-webkit-scrollbar-thumb { background: var(--gds-app-border-strong); border-radius: 8px; }
.mock-stage--freeform .mon-alert-scroll,
.app-preview .mon-alert-scroll {
  height: 390px;
  overflow-y: scroll;
  scrollbar-gutter: stable;
}
.mock-stage--freeform .mon-alert-scroll .mon-alert-grid,
.app-preview .mon-alert-scroll .mon-alert-grid { min-height: 39px; }
.dd-manage-views{max-width:640px}.dd-manage-views header{display:flex;justify-content:space-between}.dd-manage-views>div{display:flex;align-items:center;gap:6px;padding:7px 0;border-top:1px solid var(--app-contour-color)}.dd-manage-views>div span{margin-right:auto;color:#64748b;font-size:9px}.dd-manage-views>div button,.dd-manage-views footer button{border:1px solid var(--app-contour-color);border-radius:4px;background:#fff;padding:4px 6px;color:#303030;font:inherit}.dd-manage-views footer{display:flex;justify-content:flex-end;border-top:1px solid var(--app-contour-color);padding-top:8px}.dd-manage-views footer button{border-color:var(--app-contour-color);background:#3A3A3A;color:#fff}
/* Shared popover surface: keep Analytics, Investment Profile, and Due Diligence consistent. */
.an-personal-views-menu,.an-personal-builder,.an-personal-manager,.an-library,.an-widget-filter,.ip-upload-popover,.ip-notes,.ip-research-popover,.dd-personal-views-menu,.mon-review-popover,.mon-sector-menu,.ip-tag-picker{border:1px solid var(--app-contour-color);border-radius:8px;background:#F1F1F1;box-shadow:0 15px 35px #0f172a33}
.an-personal-views-menu:before,.an-personal-builder:before,.an-personal-manager:before,.an-library:before,.ip-upload-popover:before,.ip-research-popover:before{display:none}.dd-personal-views-menu:before,.mon-review-popover:before,.mon-sector-menu:before,.ip-tag-picker:before{display:none}
/* Popover contents use the same Due Diligence treatment everywhere. */
.an-personal-views-menu>button,.an-personal-builder button,.an-personal-manager button,.an-library>button,.dd-personal-views-menu>button,.mon-sector-menu button{border:1px solid var(--app-contour-color);border-radius:5px;background:#fff;color:#334155}
/* Analytics follows the thumbnail: the library is a workspace column, not a popover. */
.an-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:10px;align-items:stretch}.an-workspace .an-library{position:static;top:auto;right:auto;width:auto;max-height:522px;min-height:0;overflow-y:auto}.an-workspace .an-canvas{min-width:0}.an-workspace .an-library:before{display:none}@media(max-width:760px){.an-workspace{grid-template-columns:1fr}.an-workspace .an-library{max-height:420px}}

.an-personal-views-menu>button:hover,.an-library>button:hover{border-color:var(--app-contour-color);background:#fff}
.an-personal-views-menu hr,.an-personal-manager>div{border-color:var(--app-contour-color)}
.an-personal-views-menu header button,.an-personal-builder header button,.an-personal-manager header button,.an-library header button{border:0;background:transparent;color:#3A3A3A}

/* Monochrome app/preview normalization
   Preview-only visual contract: the authored app mock should stay minimalist and neutral.
   This block intentionally neutralizes the historical teal/green accent layer without
   changing behavior or data. It applies to the center app canvas and fullscreen preview. */
:root {
  --required: #9A9A9A;
  --proposed: #8C8C8C;
  --unanswered: #747474;
}
html[data-theme="light"] {
  --required: #777777;
  --proposed: #888888;
  --unanswered: #5E5E5E;
}
.mock-stage--freeform {
  --mono-ink: #303030;
  --mono-muted: #6F6F6F;
  --mono-line: #C8C8C8;
  --mono-line-strong: #9A9A9A;
  --mono-soft: #F1F1F1;
  --mono-soft-2: #E7E7E7;
  --mono-accent: #3A3A3A;
  --mono-accent-ink: #FFFFFF;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform {
  --mono-ink: #ECECEC;
  --mono-muted: #B8B8B8;
  --mono-line: #4A4A4A;
  --mono-line-strong: #777777;
  --mono-soft: #242424;
  --mono-soft-2: #303030;
  --mono-accent: #D0D0D0;
  --mono-accent-ink: #151515;
}
.mock-stage--freeform .mock-page-wrap {
  filter: grayscale(1) saturate(0);
}
.mock-stage--freeform :is(
  .dd-freeform header span,.an-header>div>span,.market-freeform header span,
  .settings-freeform>header span,.set-content>span,.ask-ai-freeform>header span,
  .monitoring-freeform header>div>span,.ai-link,.market-link,.dd-doc-name,
  .dd-head .dd-sort b,.dd-builder-quick strong,.dd-save-view>strong,
  .an-library>button b,.an-placeholder,.mon-trigger-assets,
  .mon-review-popover header span,.mon-review-popover li strong,.mon-review-popover code,
  .ai-illustrative-answer strong,.ai-positive,.ai-success
) { color: var(--mono-ink) !important; }
.mock-stage--freeform :is(
  .dd-drop,.dd-filter-builder,.dd-save-view,.an-canvas.is-editing .an-widget,
  .an-canvas.is-drop-target,.an-drop-placeholder,.set-rule,.set-create,.set-popover,
  .market-sort-panel,.market-sort-level,.market-view-name input,.market-view-columns input,
  .market-view-sort-config,.mon-alert-panel,.mon-review-popover,.mon-sector-menu,
  .ip-tag-picker,.ip-upload-popover,.ip-research-popover,.an-library,.an-widget-filter
) { border-color: var(--mono-line-strong) !important; }
.mock-stage--freeform :is(
  .dd-active-filters button:last-child,.dd-add-filter,.market-table .market-sort.is-active,
  .market-view-tabs button.is-active,.mon-alert-status-tabs button.is-active,
  .mon-alert-panel-security,.mon-alert-grid .mon-alert-security,.mon-alert-view:hover,
  .set-notice,.set-custom-color,.an-widget-drag-handle,.an-library>button:hover,
  .an-library>button b,.ip-doc-name,.ip-tag,.ai-prompts button i
) { color: var(--mono-ink) !important; border-color: var(--mono-line-strong) !important; background-color: transparent !important; }
.mock-stage--freeform :is(svg .ip-chart-line,.ip-chart-line,.an-chart polyline,.model-line-chart polyline) {
  stroke: var(--mono-ink) !important;
}
.mock-stage--freeform :is(.ip-chart-area,.model-donut,.an-scatter i,.ip-score-track b,.ip-growth-bars rect) {
  fill: var(--mono-muted) !important;
  background: var(--mono-muted) !important;
}
.mock-stage--freeform :is(.mon-heat i,.mon-heat-legend i,.ip-severity-dot,.mon-switch.is-on) {
  background: var(--mono-soft-2) !important;
  color: var(--mono-ink) !important;
}
.mock-stage--freeform :is(.an-personal-views-menu hr,.an-personal-manager>div,.dd-saved-views,.market-view-columns,.market-view-sort-config) {
  border-color: var(--mono-line) !important;
}
.mock-stage--freeform :is(.tag-gray,.tag-zinc,.tag-stone,.ip-tag--gray,.ip-tag--zinc,.ip-tag--stone,.ip-tag-swatch--gray,.ip-tag-swatch--zinc,.ip-tag-swatch--stone) {
  background: var(--mono-soft-2) !important;
  color: var(--mono-ink) !important;
  border-color: var(--mono-line) !important;
}
/* Preview-only shell: the Buckler app navigation is a fixed rail while the
   mock application content scrolls independently down the page. */
.app-preview .preview-app-menu {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  overflow-y: auto;
}
.fullscreen-preview.app-preview {
  height: 100vh;
  overflow: hidden;
}
.fullscreen-preview.app-preview .preview-app-menu {
  position: fixed !important;
  inset: 0 auto 0 0;
  width: var(--menu-width);
  height: 100vh;
  overflow-y: auto;
}
.fullscreen-preview.app-preview .preview-app-stage {
  height: 100vh;
  overflow: hidden;
}
.fullscreen-preview.app-preview .preview-app-menu { z-index: 30; }
.fullscreen-preview.app-preview {
  display: block !important;
  box-sizing: border-box;
  padding-left: var(--menu-width);
}
/* Preview-only Ask AI layout: keep the chat rail divider full-height and center
   the empty-state composer inside the remaining content pane. */
.fullscreen-preview .ask-ai-freeform {
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}
.fullscreen-preview .ask-ai-freeform main {
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
}
.fullscreen-preview .ask-ai-freeform .ai-rail {
  min-height: 100%;
  height: auto;
}
.fullscreen-preview .ask-ai-freeform .ai-welcome {
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
  justify-content: center;
}
.fullscreen-preview .ask-ai-freeform {
  padding-bottom: 0 !important;
}
/* Dark-mode Investment Profile corrections.
   The light-mode IP document/comparison surfaces use literal whites; neutralize
   them only in dark mock mode so preview/app chrome stays consistently dark. */
.mock-stage[data-mock-theme="dark"].mock-stage--freeform :is(
  .ip-comparison-canvas,
  .ip-comparison-widgets article,
  .ip-docs,
  .ip-doc-table.dd-table,  .ip-doc-table .dd-grid--ipdocs:not(.dd-head)
) {
  background: #151515 !important;
  color: #F5F5F5 !important;
  border-color: var(--app-contour-color) !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform :is(
  .ip-comparison-canvas > header,
  .ip-doc-toolbar,
  .ip-doc-table .dd-grid--ipdocs.dd-head,
  .ip-doc-table .dd-grid--ipdocs.dd-head > span
) {
  background: #242424 !important;
  color: #E8E8E8 !important;
  border-color: var(--app-contour-color) !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform :is(
  .ip-comparison-widgets article header strong,
  .ip-comparison-bars strong,
  .ip-component-comparison dd,
  .ip-doc-table b,
  .ip-doc-name,
  .ip-doc-table i
) {
  color: #F5F5F5 !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform :is(
  .ip-comparison-widgets article header,
  .ip-comparison-widgets article header span,
  .ip-comparison-bars span,
  .ip-component-comparison dt,
  .ip-component-comparison small,
  .ip-doc-toolbar input::placeholder
) {
  color: #CFCFCF !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-comparison-bars i {
  background: #303030 !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-comparison-bars b {
  background: #D0D0D0 !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-doc-toolbar input {
  background: #151515 !important;
  color: #F5F5F5 !important;
  border-color: var(--app-contour-color) !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform :is(.ip-doc-type-tabs button, .ip-doc-action) {
  background: #151515 !important;
  color: #F5F5F5 !important;
  border-color: var(--app-contour-color) !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-doc-type-tabs button.is-active,
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-upload {
  background: #F5F5F5 !important;
  color: #151515 !important;
  border-color: #F5F5F5 !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .ip-doc-name small {
  color: #CFCFCF !important;
}
/* Ask AI preview: show the saved-chat rail as one full-height column instead
   of a short independently scrolling list. */
.fullscreen-preview .ask-ai-freeform .ai-history-list {
  max-height: none !important;
  overflow: visible !important;
  flex: 0 0 auto;
}
.fullscreen-preview .ask-ai-freeform .ai-rail {
  overflow: hidden;
}

/* Buckler / Goodness pilot skin for B04 preview mocks.
   Scope: authored app mocks only (center canvas + fullscreen preview), not Mockument chrome.
   Book of Business is the first implementation target; shared Personal View
   primitives are normalized here so repeated components converge across screens. */
.mock-stage--freeform[data-mock-theme="light"],
.app-preview[data-mock-theme="light"] {
  --gds-app-bg: #F7F7F4;
  --gds-app-surface: #FFFFFF;
  --gds-app-surface-2: #F0F0ED;
  --gds-app-surface-3: #E8E8E4;
  --gds-app-border: #D8D8D2;
  --gds-app-border-strong: #BEBEB7;
  --gds-app-text: #191918;
  --gds-app-muted: #666660;
  --gds-app-faint: #8A8A82;
  --gds-app-accent: #2E2E2B;
  --gds-app-accent-ink: #FFFFFF;
  --gds-app-fill-tint: color-mix(in srgb, var(--gds-app-text) 76%, var(--gds-app-surface));
  --gds-app-fill-ink: color-mix(in srgb, var(--gds-app-bg) 92%, var(--gds-app-surface));
  --gds-app-row-hover: #F2F2EE;
  --gds-app-overlay: #FFFFFF;
  --gds-app-shadow: 0 18px 44px rgba(25, 25, 24, .12);
}
.mock-stage--freeform[data-mock-theme="dark"],
.app-preview[data-mock-theme="dark"] {
  --gds-app-bg: #11110F;
  --gds-app-surface: #191917;
  --gds-app-surface-2: #22221F;
  --gds-app-surface-3: #2B2B27;
  --gds-app-border: #34342F;
  --gds-app-border-strong: #4A4A44;
  --gds-app-text: #F4F4EF;
  --gds-app-muted: #BDBDB4;
  --gds-app-faint: #8D8D84;
  --gds-app-accent: #ECECE5;
  --gds-app-accent-ink: #171714;
  --gds-app-fill-tint: color-mix(in srgb, var(--gds-app-text) 76%, var(--gds-app-surface));
  --gds-app-fill-ink: color-mix(in srgb, var(--gds-app-bg) 92%, var(--gds-app-surface));
  --gds-app-row-hover: #20201D;
  --gds-app-overlay: #1D1D1A;
  --gds-app-shadow: 0 18px 44px rgba(0, 0, 0, .34);
}
.mock-stage--freeform,
.app-preview {
  --gds-radius-sm: 6px;
  --gds-radius-md: 10px;
  --gds-radius-lg: 14px;
  --gds-space-1: 4px;  --gds-space-2: 8px;
  --gds-space-3: 12px;
  --gds-space-4: 16px;
  --gds-space-5: 20px;
  --gds-space-6: 24px;
  --gds-font-xs: 10px;
  --gds-font-sm: 12px;
  --gds-font-md: 13px;
  --gds-font-lg: 16px;
  --gds-font-xl: 24px;
  --gds-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

/* GDS pre-QA polish: doors stay quiet, value-holding controls keep their shape;
   badges spend fill sparingly; favorite stars stop becoming repeated texture. */.mock-stage--freeform[data-mock-theme="dark"],
.app-preview[data-mock-theme="dark"] {
  --gds-app-text: #E8E8E2;
  --gds-app-muted: #B8B8AF;
  --gds-app-faint: #8A8A82;
  --gds-app-accent: #E2E2DC;
}

/* Dark mode contrast trim: avoid pure-white-feeling typography in the Book preview. */
.mock-stage--freeform[data-mock-theme="dark"],
.app-preview[data-mock-theme="dark"] {
  --gds-app-text: #DADAD2;
  --gds-app-muted: #A8A8A0;
  --gds-app-faint: #777770;
  --gds-app-accent: #DADAD2;
}

/* Preview exit is an invisible top-right hit area, not a visible icon control. */
.preview-exit,
.preview-exit:hover,
.preview-exit:focus {
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  color: transparent !important;
  box-shadow: none !important;
}
.preview-exit:focus-visible {
  outline: 1px solid color-mix(in srgb, var(--mock-muted) 35%, transparent);
  outline-offset: -4px;
}

/* Goodness semantic aliases: approved warning/danger palette, not selection colors. */
.mock-stage--freeform,
.app-preview { --color-warning: #8f6737; --color-danger: #c64545; }
.mock-stage--freeform[data-mock-theme="dark"],
.app-preview[data-mock-theme="dark"] { --color-warning: #e8a55a; --color-danger: #d56b6b; }











/* Home / Dashboard: apply the same quiet, compact Zen language. */
.mock-stage--freeform .home-freeform,
.app-preview .home-freeform {
  max-width: none !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: 12px !important;
}
.mock-stage--freeform .home-utility,
.app-preview .home-utility {
  gap: 10px !important;
  margin-bottom: 10px !important;
  color: var(--gds-app-muted) !important;
  font-size: 11px !important;
}
.mock-stage--freeform .home-utility button,
.app-preview .home-utility button {
  min-height: 26px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-muted) !important;
  font-size: 11px !important;
  font-weight: 560 !important;
}
.mock-stage--freeform .home-notifications,
.app-preview .home-notifications {
  gap: 6px !important;
  margin-top: 0 !important;
}.mock-stage--freeform .home-notification,
.app-preview .home-notification {
  grid-template-columns: 18px minmax(0, 1fr) auto 18px !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--gds-app-surface-2) 78%, transparent) !important;
  color: var(--gds-app-muted) !important;
  font-size: 11px !important;
}
.mock-stage--freeform .home-notification-icon,
.app-preview .home-notification-icon {
  width: 16px !important;
  height: 16px !important;
  background: var(--gds-app-muted) !important;
  color: var(--gds-app-overlay) !important;
  font-size: 10px !important;
}
.mock-stage--freeform .home-notification p strong,
.app-preview .home-notification p strong {
  color: var(--gds-app-text) !important;
}
.mock-stage--freeform .home-team,
.app-preview .home-team,
.mock-stage--freeform .home-stats,
.app-preview .home-stats,
.mock-stage--freeform .home-tables,
.app-preview .home-tables,
.mock-stage--freeform .home-bottom,
.app-preview .home-bottom {
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .home-team,
.app-preview .home-team {
  gap: 0 !important;
  margin-top: 10px !important;
  padding: 12px 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .home-team > div,
.app-preview .home-team > div {
  padding: 0 16px !important;
  border-left: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .home-team > div:first-child,
.app-preview .home-team > div:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
.mock-stage--freeform .home-team span,
.app-preview .home-team span,
.mock-stage--freeform .home-tile span,
.app-preview .home-tile span,
.mock-stage--freeform .home-tables h3,
.app-preview .home-tables h3,
.mock-stage--freeform .home-bottom h3,
.app-preview .home-bottom h3 {
  color: var(--gds-app-muted) !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform .home-team strong,
.app-preview .home-team strong {
  color: var(--gds-app-text) !important;
  font-size: 15px !important;
  font-weight: 680 !important;
}
.mock-stage--freeform .home-team small,
.app-preview .home-team small,
.mock-stage--freeform .home-tile small,
.app-preview .home-tile small,
.mock-stage--freeform .home-bottom p,
.app-preview .home-bottom p {
  color: var(--gds-app-muted) !important;
}
.mock-stage--freeform .home-stats,
.app-preview .home-stats {
  gap: 0 !important;
  margin: 0 !important;
  padding: 12px 0 !important;
}
.mock-stage--freeform .home-tile,
.app-preview .home-tile {
  min-height: 64px !important;
  gap: 4px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-left: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .home-tile:first-child,
.app-preview .home-tile:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
.mock-stage--freeform .home-tile strong,
.app-preview .home-tile strong {
  color: var(--gds-app-text) !important;
  font-size: 20px !important;
  font-weight: 720 !important;
  letter-spacing: -.02em !important;
}
.mock-stage--freeform .home-tile--sev1,
.mock-stage--freeform .home-tile--sev2,
.app-preview .home-tile--sev1,
.app-preview .home-tile--sev2 {
  border-color: var(--app-contour-color) !important;
}
.mock-stage--freeform .home-tile--sev1 strong,
.mock-stage--freeform .home-tile--sev2 strong,.app-preview .home-tile--sev1 strong,
.app-preview .home-tile--sev2 strong {
  color: var(--gds-app-text) !important;
}
.mock-stage--freeform .home-tables,
.app-preview .home-tables {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px !important;
  padding: 12px 0 !important;
}
.mock-stage--freeform .home-bottom,
.app-preview .home-bottom {
  gap: 0 !important;
  padding: 12px 0 !important;
}
.mock-stage--freeform .home-tables article,
.app-preview .home-tables article {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 2.4%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 5%, var(--gds-app-surface));
  padding: 0 !important;
  border: 1px solid var(--gds-app-border) !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-surface) !important;
  box-shadow: none !important;
  overflow: auto !important;
}
.mock-stage--freeform .home-bottom article,
.app-preview .home-bottom article {
  padding: 0 16px !important;
  border: 0 !important;
  border-left: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .home-bottom article:first-child,
.app-preview .home-bottom article:first-child {
  padding-left: 0 !important;
  border-left: 0 !important;
}
.mock-stage--freeform .home-tables h3,
.app-preview .home-tables h3 {
  margin: 0 !important;
  padding: 14px var(--gds-space-4) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-md) !important;
  font-weight: 620 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.mock-stage--freeform .home-bottom h3,
.app-preview .home-bottom h3 {
  margin: 0 0 8px !important;
}
.mock-stage--freeform .home-grid,
.app-preview .home-grid {
  gap: var(--gds-space-2) !important;
  min-height: 34px !important;
  padding: 0 var(--gds-space-4) !important;
  border-top: 1px solid var(--gds-app-border) !important;
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-sm) !important;
}
.mock-stage--freeform .home-grid--head,
.app-preview .home-grid--head {
  min-height: 34px !important;
  margin-bottom: 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
}
.mock-stage--freeform .home-grid > :is(span, strong),
.app-preview .home-grid > :is(span, strong) {
  min-width: 0 !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.mock-stage--freeform .home-grid--head > :is(span, strong),
.app-preview .home-grid--head > :is(span, strong) {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}
.mock-stage--freeform .home-grid:not(.home-grid--head):nth-of-type(odd),
.app-preview .home-grid:not(.home-grid--head):nth-of-type(odd) {
  background: var(--bob-row-guide-bg) !important;
}
.mock-stage--freeform .home-grid:not(.home-grid--head):hover,
.app-preview .home-grid:not(.home-grid--head):hover,
.mock-stage--freeform .home-grid:not(.home-grid--head):nth-of-type(odd):hover,
.app-preview .home-grid:not(.home-grid--head):nth-of-type(odd):hover {
  background: var(--bob-row-guide-hover-bg) !important;
}
.mock-stage--freeform .home-grid strong,
.app-preview .home-grid strong {
  color: var(--gds-app-text) !important;
  font-weight: 600 !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .home-tables article,
.app-preview[data-mock-theme="dark"] .home-tables article {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 3.2%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 7%, var(--gds-app-surface));
}
.mock-stage--freeform .home-tier,
.app-preview .home-tier {
  border-radius: 999px !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-muted) !important;
  font-size: 9px !important;
  font-weight: 650 !important;
}
.mock-stage--freeform .home-bottom,
.app-preview .home-bottom {  margin-top: 10px !important;
}
.mock-stage--freeform .home-page-header,
.app-preview .home-page-header {
  margin-bottom: 14px !important;
  padding-bottom: 13px !important;
}
.mock-stage--freeform .home-page-header .home-utility,
.app-preview .home-page-header .home-utility {
  align-self: start !important;
  margin: 0 !important;
  padding-top: 5px !important;
}

/* Monitoring: same page-title and top-right summary pattern as Book of Business. */
.mock-stage--freeform .monitoring-freeform,
.app-preview .monitoring-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}
.mock-stage--freeform .mon-page-header h2,
.app-preview .mon-page-header h2 {
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.mock-stage--freeform .mon-page-header p,
.app-preview .mon-page-header p {
  margin: 4px 0 0 !important;
  color: var(--gds-app-muted) !important;
  font-size: 11px !important;
}
.monitoring-tiles--header,
.mock-stage--freeform .monitoring-tiles--header,
.app-preview .monitoring-tiles--header {
  display: grid !important;
  grid-template-columns: minmax(145px, 173px) repeat(3, minmax(83px, 106px)) minmax(130px, 154px) !important;
  align-items: start !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.monitoring-tiles--header :is(.mon-header-tile, .mon-tile),
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile),
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) {
  display: grid !important;
  grid-template-rows: 10px 18px 8px !important;
  row-gap: 4px !important;
  align-content: start !important;
  justify-items: start !important;
  text-align: left !important;
  min-height: 0 !important;
  padding: 0 13px !important;
  border: 0 !important;
  border-left: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: var(--gds-app-muted) !important;
  box-shadow: none !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile):first-child,
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile):first-child {
  border-left: 0 !important;
  padding-left: 0 !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile):last-child,
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile):last-child {
  padding-right: 0 !important;
}
.monitoring-tiles--header :is(.mon-header-tile,.mon-header-tile--advisor,.mon-header-tile--0,.mon-header-tile--1,.mon-header-tile--2,.mon-header-tile--3,.mon-tile,.mon-tile--advisor,.mon-tile--0,.mon-tile--1,.mon-tile--2,.mon-tile--3),
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile,.mon-header-tile--advisor,.mon-header-tile--0,.mon-header-tile--1,.mon-header-tile--2,.mon-header-tile--3,.mon-tile,.mon-tile--advisor,.mon-tile--0,.mon-tile--1,.mon-tile--2,.mon-tile--3),
.app-preview .monitoring-tiles--header :is(.mon-header-tile,.mon-header-tile--advisor,.mon-header-tile--0,.mon-header-tile--1,.mon-header-tile--2,.mon-header-tile--3,.mon-tile,.mon-tile--advisor,.mon-tile--0,.mon-tile--1,.mon-tile--2,.mon-tile--3) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) span,
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) span {
  display: block !important;
  justify-self: start !important;
  margin: 0 !important;
  color: var(--gds-app-faint) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) strong,
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) strong {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-self: start !important;
  text-align: left !important;
  gap: 5px !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.02em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) small,
.app-preview .monitoring-tiles--header :is(.mon-header-tile, .mon-tile) small {
  justify-self: start !important;
  color: var(--gds-app-muted) !important;
  font-size: 10px !important;
  font-weight: 430 !important;
  line-height: 1 !important;
  text-align: left !important;
}
.mock-stage--freeform .monitoring-tiles--header :is(.mon-header-tile--advisor, .mon-tile--advisor) small,
.app-preview .monitoring-tiles--header :is(.mon-header-tile--advisor, .mon-tile--advisor) small {
  color: color-mix(in srgb, var(--gds-app-faint) 82%, transparent) !important;
  font-family: var(--gds-mono);
  font-weight: 430 !important;
  letter-spacing: -.02em !important;
  white-space: nowrap !important;
}
.mock-stage--freeform .monitoring-tabs,
.app-preview .monitoring-tabs {
  margin-top: 0 !important;
}
.mock-stage--freeform .mon-work,
.app-preview .mon-work {
  gap: 0 !important;
  margin-top: 12px !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .mon-work aside,
.mock-stage--freeform .mon-work article,
.app-preview .mon-work aside,
.app-preview .mon-work article {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .mon-work article,
.app-preview .mon-work article {
  border-left: 1px solid var(--gds-app-border) !important;
}

/* Due Diligence: same title/top-right summary and section rhythm. */
.mock-stage--freeform .dd-freeform,
.app-preview .dd-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}
.mock-stage--freeform .dd-page-header h2,
.app-preview .dd-page-header h2 {
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.mock-stage--freeform .dd-header-summary,
.app-preview .dd-header-summary {
  display: grid !important;
  grid-template-columns: minmax(145px, 173px) repeat(2, minmax(83px, 106px)) !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .dd-tabs,
.app-preview .dd-tabs {
  margin-top: 0 !important;
}
.mock-stage--freeform .dd-toolbar,
.app-preview .dd-toolbar,
.mock-stage--freeform .dd-view-tabs,
.app-preview .dd-view-tabs {
  margin: 0 !important;
  padding: 12px 0 !important;  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .dd-table,
.app-preview .dd-table {
  margin-top: 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .dd-grid,
.app-preview .dd-grid {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.mock-stage--freeform .dd-head,
.app-preview .dd-head {
  background: transparent !important;
  color: var(--gds-app-muted) !important;
}
/* Due Diligence tables use the same table system as Book of Business. */
.mock-stage--freeform .dd-table,
.app-preview .dd-table {
  --bob-row-min-height: 34px;
  --bob-row-cell-pad-y: 6px;
  --bob-row-cell-pad-x: 4px;
  --bob-head-min-height: 34px;
  --bob-head-cell-pad-y: 7px;
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 2.4%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 5%, var(--gds-app-surface));
  margin-top: 12px !important;
  padding: 0 !important;
  border: 1px solid var(--gds-app-border) !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-surface) !important;
  overflow: auto !important;
}
.mock-stage--freeform .dd-table-title,
.app-preview .dd-table-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: var(--gds-space-4) !important;
  margin: 0 !important;
  padding: 14px var(--gds-space-4) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-md) !important;
  font-weight: 620 !important;
}
.mock-stage--freeform .dd-table-title span,
.app-preview .dd-table-title span {
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 560 !important;
}
.mock-stage--freeform .dd-grid,
.app-preview .dd-grid {
  min-height: var(--bob-row-min-height) !important;
  gap: var(--gds-space-2) !important;
  padding: 0 var(--gds-space-4) !important;
  border-top: 1px solid var(--gds-app-border) !important;
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-sm) !important;
}
.mock-stage--freeform .dd-head,
.app-preview .dd-head {
  min-height: var(--bob-head-min-height) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform .dd-grid > :is(span, strong, button),
.app-preview .dd-grid > :is(span, strong, button) {
  min-width: 0 !important;
  padding-top: var(--bob-row-cell-pad-y) !important;
  padding-bottom: var(--bob-row-cell-pad-y) !important;
}
.mock-stage--freeform .dd-head > :is(span, strong, button),
.app-preview .dd-head > :is(span, strong, button) {
  padding-top: var(--bob-head-cell-pad-y) !important;
  padding-bottom: var(--bob-head-cell-pad-y) !important;
}
.mock-stage--freeform .dd-grid:not(.dd-head):nth-of-type(even),
.app-preview .dd-grid:not(.dd-head):nth-of-type(even) {
  background: var(--bob-row-guide-bg) !important;
}
.mock-stage--freeform .dd-grid:not(.dd-head):hover,
.app-preview .dd-grid:not(.dd-head):hover,
.mock-stage--freeform .dd-grid:not(.dd-head):nth-of-type(even):hover,
.app-preview .dd-grid:not(.dd-head):nth-of-type(even):hover {
  background: var(--bob-row-guide-hover-bg) !important;
}
.mock-stage--freeform .dd-grid strong,
.app-preview .dd-grid strong,
.mock-stage--freeform .dd-doc-name,
.app-preview .dd-doc-name {
  color: var(--gds-app-text) !important;
  font-weight: 600 !important;
}
.mock-stage--freeform .dd-head .dd-sort,
.app-preview .dd-head .dd-sort {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: inherit !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;  letter-spacing: inherit !important;
  text-align: inherit !important;
  text-transform: inherit !important;
}
.mock-stage--freeform .dd-grid :is(input[type="checkbox"]),
.app-preview .dd-grid :is(input[type="checkbox"]) {
  accent-color: #6F6F6F;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .dd-table,
.app-preview[data-mock-theme="dark"] .dd-table {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 3.2%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 7%, var(--gds-app-surface));
}

/* Analytics: same title/top-right summary and flatter section rhythm. */
.mock-stage--freeform .analytics-freeform,
.app-preview .analytics-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}
.mock-stage--freeform .an-header h2,
.app-preview .an-header h2 {
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.mock-stage--freeform .an-header-summary,
.app-preview .an-header-summary {
  display: grid !important;
  grid-template-columns: minmax(145px, 173px) repeat(3, minmax(83px, 106px)) !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .an-tabs,
.app-preview .an-tabs {
  margin: 0 0 12px !important;
}
.mock-stage--freeform .an-workspace,
.app-preview .an-workspace {
  gap: 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .an-canvas,
.app-preview .an-canvas {
  padding: 12px 16px 12px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .an-workspace .an-library,
.app-preview .an-workspace .an-library {
  padding: 12px 0 12px 16px !important;
  border: 0 !important;
  border-left: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .an-widget,
.app-preview .an-widget {
  border-color: var(--app-contour-color) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--gds-app-overlay) 97%, var(--gds-app-bg)) !important;
  box-shadow: none !important;
}

/* Models: same title/top-right summary and flatter table sections. */
.mock-stage--freeform .models-freeform,
.app-preview .models-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}.mock-stage--freeform .models-header h2,
.app-preview .models-header h2 {
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.mock-stage--freeform .models-header-summary,
.app-preview .models-header-summary {
  display: grid !important;
  grid-template-columns: minmax(145px, 173px) repeat(3, minmax(83px, 106px)) !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .models-toolbar,
.app-preview .models-toolbar {
  margin: 0 !important;
  padding: 12px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
}
.mock-stage--freeform .models-table,
.app-preview .models-table {
  margin-top: 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .models-table-title,
.app-preview .models-table-title {
  padding: 0 0 8px !important;
}
.mock-stage--freeform .models-grid,
.app-preview .models-grid {
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.mock-stage--freeform .models-grid--head,
.app-preview .models-grid--head {
  background: transparent !important;
  color: var(--gds-app-muted) !important;
}
/* Models table uses the same table system as Book of Business. */
.mock-stage--freeform .models-table,
.app-preview .models-table {
  --bob-row-min-height: 34px;
  --bob-row-cell-pad-y: 6px;
  --bob-row-cell-pad-x: 4px;
  --bob-head-min-height: 34px;
  --bob-head-cell-pad-y: 7px;
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 2.4%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 5%, var(--gds-app-surface));
  margin-top: 12px !important;
  padding: 0 !important;
  border: 1px solid var(--gds-app-border) !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-surface) !important;
  overflow: auto !important;
}
.mock-stage--freeform .models-table-title,
.app-preview .models-table-title {
  padding: 14px var(--gds-space-4) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-md) !important;
  font-weight: 620 !important;
}
.mock-stage--freeform .models-table-title span,
.app-preview .models-table-title span {
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 560 !important;
}
.mock-stage--freeform .models-grid,
.app-preview .models-grid {
  min-height: var(--bob-row-min-height) !important;
  gap: var(--gds-space-2) !important;
  padding: 0 var(--gds-space-4) !important;
  border-top: 1px solid var(--gds-app-border) !important;
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-sm) !important;
}
.mock-stage--freeform .models-grid--head,
.app-preview .models-grid--head {
  min-height: var(--bob-head-min-height) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform .models-grid > :is(span, strong, button),
.app-preview .models-grid > :is(span, strong, button) {
  min-width: 0 !important;
  padding-top: var(--bob-row-cell-pad-y) !important;
  padding-bottom: var(--bob-row-cell-pad-y) !important;
}
.mock-stage--freeform .models-grid--head > :is(span, strong, button),
.app-preview .models-grid--head > :is(span, strong, button) {
  padding-top: var(--bob-head-cell-pad-y) !important;
  padding-bottom: var(--bob-head-cell-pad-y) !important;
}
.mock-stage--freeform .models-grid--row:nth-of-type(even),
.app-preview .models-grid--row:nth-of-type(even) {
  background: var(--bob-row-guide-bg) !important;
}
.mock-stage--freeform .models-grid--row:hover,.app-preview .models-grid--row:hover,
.mock-stage--freeform .models-grid--row:nth-of-type(even):hover,
.app-preview .models-grid--row:nth-of-type(even):hover {
  background: var(--bob-row-guide-hover-bg) !important;
}
.mock-stage--freeform .models-name,
.app-preview .models-name,
.mock-stage--freeform .models-grid--row strong,
.app-preview .models-grid--row strong {
  color: var(--gds-app-text) !important;
  font-weight: 600 !important;
}
.mock-stage--freeform .models-delete,
.app-preview .models-delete {
  border: 0 !important;
  background: transparent !important;
  color: var(--gds-app-muted) !important;
}
.mock-stage[data-mock-theme="dark"].mock-stage--freeform .models-table,
.app-preview[data-mock-theme="dark"] .models-table {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 3.2%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 7%, var(--gds-app-surface));
}

/* Securities and Ask AI: same title/top-right summary convention. */
.mock-stage--freeform .market-freeform,
.app-preview .market-freeform,
.mock-stage--freeform .ask-ai-freeform,
.app-preview .ask-ai-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}
.mock-stage--freeform :is(.market-page-header, .ai-page-header) h2,
.app-preview :is(.market-page-header, .ai-page-header) h2 {
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary),
.app-preview :is(.market-header-summary, .ai-header-summary) {
  display: grid !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .market-header-summary,
.app-preview .market-header-summary {
  grid-template-columns: minmax(150px, 1.35fr) repeat(2, minmax(78px, 1fr)) auto !important;
  min-width: 520px !important;
}
.mock-stage--freeform .ai-header-summary,
.app-preview .ai-header-summary {
  grid-template-columns: minmax(120px, 1fr) minmax(78px, .65fr) minmax(150px, 1.15fr) auto !important;
  min-width: 520px !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) > :is(div, button),
.app-preview :is(.market-header-summary, .ai-header-summary) > :is(div, button) {
  padding: 0 14px !important;
  border-left: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) > :first-child,
.app-preview :is(.market-header-summary, .ai-header-summary) > :first-child {
  border-left: 0 !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) span,
.app-preview :is(.market-header-summary, .ai-header-summary) span {
  display: block !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) strong,
.app-preview :is(.market-header-summary, .ai-header-summary) strong {
  display: block !important;
  margin-top: 3px !important;
  color: var(--gds-app-text) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) small,
.app-preview :is(.market-header-summary, .ai-header-summary) small {
  display: block !important;
  margin-top: 1px !important;
  color: var(--gds-app-muted) !important;
  font-size: 10px !important;
}
.mock-stage--freeform :is(.market-header-summary, .ai-header-summary) > button,
.app-preview :is(.market-header-summary, .ai-header-summary) > button {
  align-self: center !important;
  border: 0 !important;
  border-radius: 9px !important;  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-muted) !important;
}
.mock-stage--freeform .market-toolbar,
.app-preview .market-toolbar {
  margin: 0 !important;
  padding: 12px 0 9px !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
}
.mock-stage--freeform .market-tabs,
.app-preview .market-tabs {
  margin-top: 0 !important;
}
.mock-stage--freeform .market-table,
.app-preview .market-table {
  --bob-row-min-height: 34px;
  --bob-row-cell-pad-y: 6px;
  --bob-row-cell-pad-x: 4px;
  --bob-head-min-height: 34px;
  --bob-head-cell-pad-y: 7px;
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 2.4%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 5%, var(--gds-app-surface));
  margin-top: 12px !important;
  padding: 0 !important;
  border: 1px solid var(--gds-app-border) !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-surface) !important;
  overflow: auto !important;
}
.mock-stage--freeform .market-table > header,
.app-preview .market-table > header {
  padding: 14px var(--gds-space-4) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-md) !important;
  font-weight: 620 !important;
}
.mock-stage--freeform .market-table > header small,
.app-preview .market-table > header small {
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 560 !important;
}
.mock-stage--freeform .market-table-results,
.app-preview .market-table-results {
  max-height: 520px !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}
.mock-stage--freeform .market-grid,
.app-preview .market-grid {
  min-height: var(--bob-row-min-height) !important;
  gap: var(--gds-space-2) !important;
  padding: 0 var(--gds-space-4) !important;
  border-top: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
  color: var(--gds-app-muted) !important;
  font-size: var(--gds-font-sm) !important;
}
.mock-stage--freeform .market-grid--head,
.app-preview .market-grid--head {
  min-height: var(--bob-head-min-height) !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform .market-grid > :is(span, strong, button),
.app-preview .market-grid > :is(span, strong, button) {
  min-width: 0 !important;
  padding-top: var(--bob-row-cell-pad-y) !important;
  padding-bottom: var(--bob-row-cell-pad-y) !important;
}
.mock-stage--freeform .market-grid--head > :is(span, strong, button),
.app-preview .market-grid--head > :is(span, strong, button) {
  padding-top: var(--bob-head-cell-pad-y) !important;
  padding-bottom: var(--bob-head-cell-pad-y) !important;
}
.mock-stage--freeform .market-grid--row:nth-of-type(even),
.app-preview .market-grid--row:nth-of-type(even) {
  background: var(--bob-row-guide-bg) !important;
}
.mock-stage--freeform .market-grid--row:hover,
.app-preview .market-grid--row:hover,
.mock-stage--freeform .market-grid--row:nth-of-type(even):hover,
.app-preview .market-grid--row:nth-of-type(even):hover {
  background: var(--bob-row-guide-hover-bg) !important;
}
.mock-stage--freeform .market-grid--row strong,
.app-preview .market-grid--row strong,
.mock-stage--freeform .market-link,
.app-preview .market-link {
  color: var(--gds-app-text) !important;
  font-weight: 600 !important;
}
.mock-stage--freeform .market-grid--head button,
.app-preview .market-grid--head button {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: inherit !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-align: inherit !important;
  text-transform: inherit !important;
}.mock-stage[data-mock-theme="dark"].mock-stage--freeform .market-table,
.app-preview[data-mock-theme="dark"] .market-table {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 3.2%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 7%, var(--gds-app-surface));
}
.mock-stage--freeform .ask-ai-freeform > header,
.app-preview .ask-ai-freeform > header {
  align-items: start !important;
}
.mock-stage--freeform .ask-ai-freeform main,
.app-preview .ask-ai-freeform main {
  border-top: 0 !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .ai-rail,
.app-preview .ai-rail {
  border-right: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
}

/* Settings and Investment Profile: same title/top-right summary convention. */
.mock-stage--freeform .settings-freeform,
.app-preview .settings-freeform,
.mock-stage--freeform .ip-freeform,
.app-preview .ip-freeform {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: var(--gds-space-6) !important;
  border: 0 !important;
  border-radius: var(--gds-radius-lg) !important;
  background: var(--gds-app-bg) !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-sm) !important;
  line-height: 1.45 !important;
}
.mock-stage--freeform :is(.settings-page-header, .ip-page-header) h2,
.app-preview :is(.settings-page-header, .ip-page-header) h2 {
  min-width: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: var(--gds-app-text) !important;
  font-size: var(--gds-font-xl) !important;
  font-weight: 620 !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary),
.app-preview :is(.settings-header-summary, .ip-header-summary) {
  display: grid !important;
  align-self: start !important;
  justify-self: end !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .settings-header-summary,
.app-preview .settings-header-summary {
  grid-template-columns: minmax(170px, 1.35fr) minmax(92px, .75fr) minmax(70px, .55fr) !important;
  min-width: 390px !important;
}
.mock-stage--freeform .ip-header-summary,
.app-preview .ip-header-summary {
  grid-template-columns: minmax(150px, 1.25fr) minmax(118px, .8fr) minmax(90px, .7fr) auto !important;
  min-width: 640px !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary) > :is(div, span),
.app-preview :is(.settings-header-summary, .ip-header-summary) > :is(div, span) {
  padding: 0 14px !important;
  border-left: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary) > :first-child,
.app-preview :is(.settings-header-summary, .ip-header-summary) > :first-child {
  border-left: 0 !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary) span:not(.ip-header-actions),
.app-preview :is(.settings-header-summary, .ip-header-summary) span:not(.ip-header-actions) {
  display: block !important;
  color: var(--gds-app-faint) !important;
  font-size: var(--gds-font-xs) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary) strong,
.app-preview :is(.settings-header-summary, .ip-header-summary) strong {
  display: block !important;
  margin-top: 3px !important;
  color: var(--gds-app-text) !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: -.025em !important;
}
.mock-stage--freeform :is(.settings-header-summary, .ip-header-summary) small,
.app-preview :is(.settings-header-summary, .ip-header-summary) small {
  display: block !important;
  margin-top: 1px !important;
  color: var(--gds-app-muted) !important;
  font-size: 10px !important;
}
.mock-stage--freeform .settings-freeform main,
.app-preview .settings-freeform main,
.mock-stage--freeform .ip-profile,
.app-preview .ip-profile {  gap: 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .set-nav,
.app-preview .set-nav,
.mock-stage--freeform .ip-rail,
.app-preview .ip-rail {
  border-right: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.mock-stage--freeform .set-content,
.app-preview .set-content,
.mock-stage--freeform .ip-canvas,
.app-preview .ip-canvas {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .ip-tabs,
.app-preview .ip-tabs {
  margin-top: 0 !important;
}
.mock-stage--freeform .ip-header-actions,
.app-preview .ip-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.mock-stage--freeform .ip-header-actions button,
.app-preview .ip-header-actions button {
  white-space: nowrap !important;
}
/* Investment Profile: remove card chrome; use thin section separators only. */
.mock-stage--freeform .ip-canvas,
.app-preview .ip-canvas,
.mock-stage--freeform .ip-monitor,
.app-preview .ip-monitor,
.mock-stage--freeform .ip-comp,
.app-preview .ip-comp,
.mock-stage--freeform .ip-docs,
.app-preview .ip-docs {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .ip-canvas section,
.app-preview .ip-canvas section,
.mock-stage--freeform .ip-monitor article,
.app-preview .ip-monitor article,
.mock-stage--freeform .ip-compare-widget,
.app-preview .ip-compare-widget,
.mock-stage--freeform .ip-comparison-canvas,
.app-preview .ip-comparison-canvas,
.mock-stage--freeform .ip-doc-table,
.app-preview .ip-doc-table {
  border: 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .ip-canvas section,
.app-preview .ip-canvas section {
  padding: 12px 0 !important;
}
.mock-stage--freeform .ip-canvas section:first-of-type,
.app-preview .ip-canvas section:first-of-type,
.mock-stage--freeform .ip-monitor article:first-of-type,
.app-preview .ip-monitor article:first-of-type {
  border-top: 0 !important;
}
.mock-stage--freeform .ip-canvas > nav,
.app-preview .ip-canvas > nav,
.mock-stage--freeform .ip-doc-toolbar,
.app-preview .ip-doc-toolbar {
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .ip-tiles,
.app-preview .ip-tiles {
  gap: 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .ip-tiles article,
.app-preview .ip-tiles article {
  border: 0 !important;
  border-left: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .ip-tiles article:first-child,
.app-preview .ip-tiles article:first-child {
  border-left: 0 !important;
}
/* Investment Profile content switcher is a menu, not data-filter tabs. */
.mock-stage--freeform .ip-tabs,
.app-preview .ip-tabs {
  display: flex !important;
  gap: 4px !important;
  margin: 0 0 12px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .ip-tabs button,
.app-preview .ip-tabs button {
  margin: 0 !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--gds-app-muted) !important;
  font-size: 12px !important;
  font-weight: 560 !important;
}.mock-stage--freeform .ip-tabs button.is-active,
.app-preview .ip-tabs button.is-active {
  background: var(--gds-app-surface-2) !important;
  color: var(--gds-app-text) !important;
  font-weight: 620 !important;
}
/* Overall IP layout reads as three columns: rail, canvas left, canvas right. */
.mock-stage--freeform .ip-canvas,
.app-preview .ip-canvas {
  column-gap: 0 !important;
}
.mock-stage--freeform .ip-canvas section:nth-of-type(even),
.app-preview .ip-canvas section:nth-of-type(even) {
  padding-left: 16px !important;
  border-left: 1px solid var(--gds-app-border) !important;
}
.mock-stage--freeform .ip-canvas section:nth-of-type(odd),
.app-preview .ip-canvas section:nth-of-type(odd) {
  padding-right: 16px !important;
}

/* Quant Screens is a page workspace, not the former floating panel. */
.mock-stage--freeform .quant-screens-workspace,
.app-preview .quant-screens-workspace {
  width: 100%;
  max-height: none;
  box-sizing: border-box;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.quant-screens-workspace .mq-body { margin-top: 0; }

/* One contour contract for page structure and controls in both themes.
   Deliberately replaces the old distinction between quiet and strong lines. */
.app-preview,
.mock-stage--freeform { --app-contour-width: 1px; }
.app-preview[data-mock-theme="dark"],
/* Theme-specific contour colors are owned by assets/contours.css. */
.app-preview .preview-app-menu {
  border-right: var(--app-contour-width) solid var(--app-contour-color) !important;
}
/* Reviews has different columns, not a different table treatment. */
.dd-table--reviews { overflow: auto !important; }
.dd-table--reviews .dd-grid--reviews {
  min-width: 1100px;
  grid-template-columns: minmax(200px,1.7fr) minmax(120px,1fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(105px,.8fr) minmax(140px,1fr) minmax(55px,.45fr) minmax(160px,1.2fr);
}

/* Demo readability pass: Investment Profile Comparables only.
   Keep the existing comparison layout; eliminate legacy 7–9px content. */
.mock-stage.mock-stage--freeform .ip-comp,
.app-preview .ip-comp { font-size: 12px; line-height: 1.5; }.mock-stage.mock-stage--freeform .ip-comp .ip-tiles article,
.app-preview .ip-comp .ip-tiles article { padding: var(--gds-space-4); }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparable-identity,
.app-preview .ip-comp .ip-comparable-identity {
  display: flex; align-items: center; gap: 8px; padding-right: 64px; min-height: 42px;
}
.mock-stage.mock-stage--freeform .ip-comp .ip-comparable-identity strong,
.app-preview .ip-comp .ip-comparable-identity strong { font-size: 14px; line-height: 1.4; font-weight: 600; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparable-logo,
.app-preview .ip-comp .ip-comparable-logo { font-size: 12px; width: 30px; height: 30px; flex-basis: 30px; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparable-score,
.app-preview .ip-comp .ip-comparable-score { top: 16px; right: 16px; font-size: 20px; line-height: 1.2; }
.mock-stage.mock-stage--freeform .ip-comp :is(.ip-comparable-identity small,.ip-comparable-score small,.ip-comparable-badges),
.app-preview .ip-comp :is(.ip-comparable-identity small,.ip-comparable-score small,.ip-comparable-badges) {
  font-size: 12px !important; line-height: 1.5; color: var(--gds-app-muted) !important;
}
.mock-stage.mock-stage--freeform .ip-comp .ip-tiles article dl,
.app-preview .ip-comp .ip-tiles article dl { font-size: 12px; line-height: 1.5; gap: 6px 12px; margin: 12px 0; }
.mock-stage.mock-stage--freeform .ip-comp button,
.app-preview .ip-comp button { font-size: 12px; line-height: 1.5; min-height: 30px; padding: 4px 10px; }
.mock-stage.mock-stage--freeform .ip-comp :is(.ip-tiles dt,.ip-comparison-widgets article header span,.ip-component-comparison dt,.ip-component-comparison small),
.app-preview .ip-comp :is(.ip-tiles dt,.ip-comparison-widgets article header span,.ip-component-comparison dt,.ip-component-comparison small) {
  font-size: 12px; line-height: 1.5; color: var(--gds-app-muted) !important;
}
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-canvas > header strong,
.app-preview .ip-comp .ip-comparison-canvas > header strong { font-size: 14px; line-height: 1.5; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-widgets article,
.app-preview .ip-comp .ip-comparison-widgets article { padding: 12px; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-widgets article header,
.app-preview .ip-comp .ip-comparison-widgets article header { gap: 12px; flex-wrap: wrap; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-widgets article header strong,
.app-preview .ip-comp .ip-comparison-widgets article header strong { font-size: 13px; line-height: 1.5; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-bars,
.app-preview .ip-comp .ip-comparison-bars { gap: 8px; }
.mock-stage.mock-stage--freeform .ip-comp .ip-comparison-bars > div,
.app-preview .ip-comp .ip-comparison-bars > div { font-size: 12px; line-height: 1.5; grid-template-columns: 48px 1fr 28px; gap: 8px; }
.mock-stage.mock-stage--freeform .ip-comp .ip-component-comparison,
.app-preview .ip-comp .ip-component-comparison { font-size: 12px; line-height: 1.5; gap: 10px; }

.mock-stage.mock-stage--freeform .alerts-freeform .alerts-status-tabs,
.app-preview .alerts-freeform .alerts-status-tabs { min-height: 37px; margin: 0 !important; padding: 0 !important; }
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alerts,
.app-preview .alerts-freeform .mon-alerts {
  position: relative; margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important; background: transparent !important;
}
.alerts-freeform :is(.mon-alert-filter-builder,.mon-alert-sort-builder) {
  position: absolute; z-index: 25; right: 0; top: 38px;
  width: min(480px, 100%); max-height: 60vh; overflow: auto;
}
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alert-view,
.app-preview .alerts-freeform .mon-alert-view {
  background: transparent !important; color: var(--gds-app-muted) !important;
  border-color: var(--gds-app-border-strong) !important;
}
.alerts-table {
  --bob-row-guide-bg: color-mix(in srgb, var(--gds-app-text) 2.4%, var(--gds-app-surface));
  --bob-row-guide-hover-bg: color-mix(in srgb, var(--gds-app-text) 5%, var(--gds-app-surface));
}
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alert-scroll,
.app-preview .alerts-freeform .mon-alert-scroll { height: auto; max-height: 60vh; overflow: auto; scrollbar-gutter: auto; }
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alert-grid,
.app-preview .alerts-freeform .mon-alert-grid {
  min-width: 1200px; gap: 8px; padding: 0 18px 0 0; min-height: 34px;
  grid-template-columns: 110px minmax(180px,1.1fr) 55px minmax(250px,2fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(110px,.65fr) minmax(95px,.7fr) 40px;
  border-top: 0 !important; border-bottom: 1px solid transparent;
  font-size: 12px; line-height: 1.45;
}
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alert-grid > *,
.app-preview .alerts-freeform .mon-alert-grid > * { min-width: 0; padding: 6px 4px; }
.mock-stage.mock-stage--freeform .alerts-freeform .mon-alert-grid > :first-child,
.app-preview .alerts-freeform .mon-alert-grid > :first-child { padding-left: var(--gds-space-4); }

/* Models consumes the same table rail, cell geometry and row treatment. */
.mock-stage.mock-stage--freeform .models-freeform .models-table,
.app-preview .models-freeform .models-table {
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.mock-stage.mock-stage--freeform .models-freeform .models-grid,
.app-preview .models-freeform .models-grid { padding: 0 18px 0 0 !important; }
.mock-stage.mock-stage--freeform .models-freeform .models-grid > :is(span,strong,button),
.app-preview .models-freeform .models-grid > :is(span,strong,button) {
  padding-left: var(--bob-row-cell-pad-x) !important;
  padding-right: var(--bob-row-cell-pad-x) !important;
}
.mock-stage--freeform .models-status-tabs,
.app-preview .models-status-tabs { min-height: 37px !important; }
.models-toolbar > .models-create { margin-left: auto; align-self: end; }
.mock-stage.mock-stage--freeform .models-freeform .models-name,
.app-preview .models-freeform .models-name { background: transparent !important; }

/* Reviews status rail meets the table directly, like Book of Business. */
.mock-stage--freeform .dd-review-tabs,
.app-preview .dd-review-tabs { min-height: 37px !important; }
.mock-stage--freeform .dd-table--reviews,
.app-preview .dd-table--reviews {
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.mock-stage--freeform .dd-table--reviews .dd-head,
.app-preview .dd-table--reviews .dd-head { padding: 0 18px 0 0 !important; }
.mock-stage[data-mock-theme="dark"] .dd-table--reviews .dd-head {
  background: var(--mock-surface-alt) !important;
}
.mock-stage--freeform[data-mock-theme="dark"] .dd-review-tabs,
.app-preview[data-mock-theme="dark"] .dd-review-tabs { --gds-app-text: #D0D0C8; }
.mock-stage--freeform .dd-table--reviews .dd-head > :is(button, span),
.app-preview .dd-table--reviews .dd-head > :is(button, span) {
  padding: var(--bob-head-cell-pad-y) 4px !important;
}

/* Shared All filters: DD reuses the Book of Business segmented-control styles. */
.mock-stage--freeform .dd-toolbar--all-filters,
.app-preview .dd-toolbar--all-filters,
.mock-stage--freeform .models-toolbar,
.app-preview .models-toolbar {
  padding-top: 0 !important;
  gap: var(--gds-space-3) !important;
}
.dd-toolbar--all-filters .dd-toolbar-search { margin-left: auto; flex: 1 1 160px; min-width: 160px; }
.dd-toolbar--all-filters .dd-search-control input { width: 100%; min-width: 0; }
.dd-personal-view-loaded .dd-all-filter { display: none; }

/* Navigation-only groups never create an empty specification page. */
:root { --page-section-color: var(--text-3); }
.app-preview { --page-section-color: color-mix(in srgb, var(--mock-muted) 65%, var(--mock-stage)); }
.app-nav-group__title {
  min-height: 27px;
  padding: 5.4px 9px;
}
.app-nav-group__children {
  margin-left: 16px;
  padding-left: 6px;
  border-left: 0;
}
.app-nav-group > .submenu { border-left: 0; }

/* Shared owner identity across page headers; Book of Business is the baseline. */
.mock-stage--freeform :is(.dd-header-summary, .settings-header-summary),
.app-preview :is(.dd-header-summary, .settings-header-summary) {
  grid-template-columns: repeat(2, minmax(83px, 106px)) 220px !important;
}
.mock-stage--freeform :is(.an-header-summary, .models-header-summary),
.app-preview :is(.an-header-summary, .models-header-summary) {
  grid-template-columns: repeat(3, minmax(83px, 106px)) 220px !important;
}
.mock-stage--freeform .monitoring-tiles--header,
.app-preview .monitoring-tiles--header {
  grid-template-columns: repeat(3, minmax(70px, 96px)) minmax(110px, 130px) 220px !important;
}
.home-header-right { display: flex; align-items: start; gap: 24px; }
/* Settings: quiet app surface, no card contour, no high-contrast sub-menu blocks. */
.mock-stage--freeform .settings-freeform main,
.app-preview .settings-freeform main {
  margin-top: 14px !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
}
.mock-stage--freeform .set-nav,
.app-preview .set-nav {
  padding: 10px 12px 12px 10px !important;
  border: 0 !important;
  border-right: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .set-avatar,
.app-preview .set-avatar {
  margin: 0 0 12px !important;
  padding: 8px 10px !important;
  border: 1px solid var(--gds-app-border) !important;
  border-radius: 8px !important;
  background: color-mix(in srgb, var(--gds-app-text) 5%, transparent) !important;
  color: var(--gds-app-text) !important;
  font-weight: 650 !important;
}
.mock-stage--freeform .set-nav button,
.app-preview .set-nav button {
  min-height: 30px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: var(--gds-app-muted) !important;
  font-weight: 500 !important;
}
.mock-stage--freeform .set-nav button:hover,.app-preview .set-nav button:hover {
  background: color-mix(in srgb, var(--gds-app-text) 4%, transparent) !important;
  color: var(--gds-app-text) !important;
}
.mock-stage--freeform .set-nav .is-active,
.app-preview .set-nav .is-active {
  background: var(--gds-app-fill-tint) !important;
  color: var(--gds-app-text) !important;
  font-weight: 650 !important;
}
.mock-stage--freeform .set-content,
.app-preview .set-content {
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.mock-stage--freeform .set-content p,
.app-preview .set-content p,
.mock-stage--freeform .set-content small,
.app-preview .set-content small {
  color: var(--gds-app-muted) !important;
}
.mock-stage--freeform .set-grid,
.app-preview .set-grid {
  border: 0 !important;
  border-top: 1px solid var(--gds-app-border) !important;
  border-bottom: 1px solid var(--gds-app-border) !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.mock-stage--freeform .set-grid > *,
.app-preview .set-grid > * {
  border-top: 1px solid var(--gds-app-border) !important;
  background: transparent !important;
}
.mock-stage--freeform .set-grid > span,
.app-preview .set-grid > span {
  border-top: 0 !important;
  color: var(--gds-app-faint) !important;
  background: transparent !important;
  font-weight: 650 !important;
}
.mock-stage--freeform .set-tags > span,
.app-preview .set-tags > span,
.mock-stage--freeform .set-tags > .set-tag-color-cell,
.app-preview .set-tags > .set-tag-color-cell,
.mock-stage--freeform .set-tags > .set-tag-actions,
.app-preview .set-tags > .set-tag-actions {
  background: transparent !important;
  border-top-color: var(--gds-app-border) !important;
}
.mock-stage--freeform .set-tag-color-cell i,
.app-preview .set-tag-color-cell i {
  border: 1px solid var(--gds-app-border) !important;
  background: color-mix(in srgb, var(--gds-app-text) 10%, transparent) !important;
}
.mock-stage--freeform :is(.set-primary, .set-password button, .set-theme button, .set-tag-actions button, .set-excl-actions button, .set-popover footer button),
.app-preview :is(.set-primary, .set-password button, .set-theme button, .set-tag-actions button, .set-excl-actions button, .set-popover footer button) {
  border: 1px solid var(--gds-app-border) !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: var(--gds-app-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.mock-stage--freeform :is(.set-primary, .set-password button, .set-theme button, .set-tag-actions button, .set-excl-actions button, .set-popover footer button):hover,
.app-preview :is(.set-primary, .set-password button, .set-theme button, .set-tag-actions button, .set-excl-actions button, .set-popover footer button):hover {
  background: color-mix(in srgb, var(--gds-app-text) 4%, transparent) !important;
}
.mock-stage--freeform .set-theme .is-active,
.app-preview .set-theme .is-active,
.mock-stage--freeform .set-popover footer .set-primary,
.app-preview .set-popover footer .set-primary {
  background: var(--gds-app-fill-tint) !important;
  border-color: var(--gds-app-border) !important;
  color: var(--gds-app-text) !important;
}
.mock-stage--freeform .set-logo-drop,
.app-preview .set-logo-drop,
.mock-stage--freeform .set-rule,
.app-preview .set-rule,
.mock-stage--freeform .set-create,
.app-preview .set-create,
.mock-stage--freeform .set-upload,
.app-preview .set-upload {
  border-color: var(--gds-app-border) !important;
  background: color-mix(in srgb, var(--gds-app-text) 3%, transparent) !important;
  color: var(--gds-app-text) !important;
}
/* Settings final paint override: use preview/mock tokens so the quiet style applies even when GDS aliases are unavailable. */
.mock-stage--freeform .settings-freeform,
.app-preview .settings-freeform {
  --settings-line: var(--mock-border, #d4d4d4);
  --settings-ink: var(--mock-text, #171717);
  --settings-muted-ink: var(--mock-muted, #525252);
  --settings-soft-fill: color-mix(in srgb, var(--settings-ink) 5%, transparent);
  --settings-active-fill: color-mix(in srgb, var(--settings-ink) 8%, transparent);
}
.mock-stage--freeform .set-avatar,
.app-preview .set-avatar,
.mock-stage--freeform .set-nav .is-active,
.app-preview .set-nav .is-active,
.mock-stage--freeform .set-theme .is-active,
.app-preview .set-theme .is-active,
.mock-stage--freeform :is(.set-primary, .set-password button),
.app-preview :is(.set-primary, .set-password button) {
  background: var(--settings-active-fill) !important;
  border-color: var(--settings-line) !important;
  color: var(--settings-ink) !important;
  box-shadow: none !important;
}
.mock-stage--freeform .set-nav button,
.app-preview .set-nav button {
  color: var(--settings-muted-ink) !important;
}
.mock-stage--freeform .set-nav button:hover,
.app-preview .set-nav button:hover {  background: var(--settings-soft-fill) !important;
  color: var(--settings-ink) !important;
}
.mock-stage--freeform .settings-freeform main,
.app-preview .settings-freeform main,
.mock-stage--freeform .set-grid,
.app-preview .set-grid {
  border-color: var(--settings-line) !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.mock-stage--freeform .set-grid > *,
.app-preview .set-grid > *,
.mock-stage--freeform .set-tags > .set-tag-color-cell,
.app-preview .set-tags > .set-tag-color-cell,
.mock-stage--freeform .set-tags > .set-tag-actions,
.app-preview .set-tags > .set-tag-actions {
  background: transparent !important;
  border-top-color: var(--settings-line) !important;
}

/* Research uses the Book table and controls; only its scroll container is local.
   Header and rows scroll together so column hiding/reordering cannot misalign them. */
:is(.mock-stage.mock-stage--freeform, .app-preview) .research-table { overflow: hidden !important; }
.research-table-scroll { max-height: 520px; overflow: auto; scrollbar-gutter: stable; }
.research-table .research-grid { width: 100%; box-sizing: border-box; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .research-table .research-grid { padding-right: 9px !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .research-table .research-grid > :nth-child(2) { justify-self: start !important; text-align: left !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .research-table .research-grid > span { justify-self: stretch !important; text-align: left !important; font-family: inherit !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .research-table .research-grid > .research-numeric { text-align: right !important; }

/* Reviews workflow form: readable identity and controls, no changes to upload/delete dialogs. */
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-notes { margin-top: 0; }
.dd-record-metadata { display: flex; flex-wrap: wrap; gap: 20px 48px; padding: 16px 0; margin: 0; border-bottom: 1px solid var(--app-contour-color); }
.dd-record-metadata dt { font-size: 12px; color: var(--gds-app-muted); }
.dd-record-metadata dd { margin: 4px 0 0; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.dd-finalization, .dd-record-attestation { margin-right: auto; }
.dd-finalization strong, .dd-record-attestation strong { font-size: 14px; font-weight: 600; }
.dd-finalization p, .dd-record-attestation p { margin: 4px 0; font-size: 12px; color: var(--gds-app-muted); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-record-notes { border-left: 0; padding: 0; }
.dd-record-body p { white-space: pre-wrap; overflow-wrap: anywhere; margin: 10px 0; }
.dd-record-body ul { list-style: none; padding: 0; margin: 10px 0 16px; }
.dd-record-body li { margin-bottom: 8px; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form {
  font-size: 14px; line-height: 1.5; color: var(--gds-app-text) !important;
  background: var(--gds-app-surface) !important;
  max-height: calc(100dvh - 64px); overflow: auto;
}
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form > header { gap: 24px; flex-wrap: wrap; border-color: var(--app-contour-color); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form h3 { margin: 0 0 6px; font-size: 24px !important; line-height: 1.08; font-weight: 600; color: var(--gds-app-text) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-review-kind { font-size: 14px; font-weight: 600; color: var(--gds-app-text) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-review-mode { margin-top: 4px; font-size: 12px; color: var(--gds-app-muted) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-review-header-actions { gap: 24px; align-items: flex-start; }
.dd-review-date { display: grid; gap: 2px; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-review-date > span { font-size: 12px; font-weight: 500; text-transform: none; color: var(--gds-app-muted) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-review-date > strong { font-size: 14px; color: var(--gds-app-text) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form main { grid-template-columns: minmax(0,1.7fr) minmax(0,1fr) minmax(0,1fr); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form :is(label, main strong, button, textarea, input) { font-size: 14px !important; color: var(--gds-app-text); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form :is(label small, .dd-validation) { font-size: 12px; color: var(--gds-app-muted) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form :is(textarea, input:not([type=checkbox]):not([type=radio]), button:not(.dd-complete)) { background: var(--gds-app-surface) !important; border-color: var(--app-contour-color) !important; color: var(--gds-app-text) !important; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form :is(textarea, input) { font-weight: 400; }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form .dd-check input { width: 16px; height: 16px; vertical-align: middle; accent-color: var(--gds-app-text); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form :is(footer, main > section) { border-color: var(--app-contour-color); }
:is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form footer { flex-wrap: wrap; }
@media(max-width: 900px) {
  :is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form main { grid-template-columns: 1fr; }
  :is(.mock-stage.mock-stage--freeform, .app-preview) .dd-review-form main > section { border-left: 0; padding: 0; }
}
