/* Acatian task-focused workspace: one next action, progressive detail, no duplicate guidance. */
body.authenticated .workflow-guide-summary {
  grid-template-columns: 34px minmax(250px, 1.35fr) minmax(230px, .8fr) auto !important;
}

body.authenticated .workflow-guide-toggle {
  min-width: 68px;
  text-align: right;
}

/* Per-screen input contract: task, edit location, completion and next step. */
body.authenticated #workflowGuide .workflow-guide-location {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding-left: 14px;
  border-left: 1px solid #d6deea;
}

body.authenticated #workflowGuide .workflow-guide-location small,
body.authenticated #workflowGuide .workflow-task-bar > :where(section, button) > span {
  color: #50647f;
  font-size: 9px;
  font-weight: 820;
  line-height: 1.25;
  text-transform: uppercase;
}

body.authenticated #workflowGuide .workflow-guide-location strong {
  overflow: hidden;
  color: #071d33;
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.authenticated #workflowGuide .workflow-guide-next-preview {
  display: grid;
  min-width: 0;
  gap: 2px;
  padding-left: 14px;
  border-left: 1px solid #d6deea;
}

body.authenticated #workflowGuide .workflow-guide-next-preview small,
body.authenticated #workflowGuide .workflow-route-actions small {
  color: #50647f;
  font-size: 9px;
  font-weight: 820;
  line-height: 1.25;
  text-transform: uppercase;
}

body.authenticated #workflowGuide .workflow-guide-next-preview strong {
  overflow: hidden;
  color: #173d9f;
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.authenticated #workflowGuide .workflow-route-actions {
  display: grid;
  grid-template-columns: minmax(180px, .75fr) minmax(200px, 1fr) minmax(220px, .9fr);
  border-bottom: 1px solid #d6deea;
  background: #f4f7fb;
}

body.authenticated #workflowGuide .workflow-route-actions > :where(button, span) {
  display: grid;
  min-width: 0;
  gap: 3px;
  align-content: center;
  min-height: 58px;
  padding: 10px 16px;
  border: 0;
  border-right: 1px solid #d6deea;
  border-radius: 0;
  color: #071d33;
  background: transparent;
  text-align: left;
}

body.authenticated #workflowGuide .workflow-route-actions button {
  cursor: pointer;
}

body.authenticated #workflowGuide .workflow-route-actions button:hover,
body.authenticated #workflowGuide .workflow-route-actions button:focus-visible {
  background: #e7edf9;
}

body.authenticated #workflowGuide .workflow-route-actions .is-next {
  color: #ffffff;
  background: #244bc5;
}

body.authenticated #workflowGuide .workflow-route-actions .is-next small {
  color: #dce6ff;
}

body.authenticated #workflowGuide .workflow-route-actions strong {
  overflow: hidden;
  font-size: 12px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.authenticated #workflowGuide .workflow-task-bar {
  grid-template-columns: minmax(260px, 1.2fr) minmax(240px, 1fr) minmax(220px, .9fr) !important;
}

body.authenticated #workflowGuide .workflow-task-bar > section {
  display: grid;
  min-width: 0;
  align-content: start;
  padding: 14px 16px;
  border-right: 1px solid #d6deea;
  background: #ffffff;
}

body.authenticated #workflowGuide .workflow-task-bar section > strong {
  margin-top: 10px;
  color: #071d33;
  font-size: 10px;
}

body.authenticated #workflowGuide .workflow-task-bar section > p {
  margin: 5px 0 0;
  color: #304963;
  font-size: 10px;
  line-height: 1.45;
}

body.authenticated #workflowGuide .workflow-task-bar ul {
  display: grid;
  gap: 4px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}

body.authenticated #workflowGuide .workflow-task-bar li {
  position: relative;
  padding-left: 12px;
  color: #304963;
  font-size: 10px;
  line-height: 1.35;
}

body.authenticated #workflowGuide .workflow-task-bar li::before {
  position: absolute;
  top: .62em;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #2858d8;
  content: "";
}

body.authenticated #workflowGuide .workflow-task-bar > .workflow-next > span,
body.authenticated #workflowGuide .workflow-task-bar > .workflow-next > small {
  color: #e7edff;
  -webkit-text-fill-color: #e7edff;
}

body.authenticated #workflowGuide .workflow-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

body.authenticated #workflowGuide .workflow-edit-actions button {
  min-height: 30px;
  padding: 6px 9px;
  border: 1px solid #aebed2;
  border-radius: 7px;
  color: #173d8f;
  background: #f7f9fc;
  font-size: 9px;
  font-weight: 780;
  text-align: left;
}

body.authenticated #workflowGuide .workflow-edit-actions button:hover,
body.authenticated #workflowGuide .workflow-edit-actions button:focus-visible {
  border-color: #5275dd;
  color: #071d33;
  background: #e9efff;
}

body.authenticated #workflowGuide .workflow-edit-actions .workflow-fix-primary {
  border-color: #315bcb;
  color: #ffffff;
  background: #244bc5;
}

body.authenticated #workflowGuide .workflow-edit-actions .workflow-fix-primary:hover,
body.authenticated #workflowGuide .workflow-edit-actions .workflow-fix-primary:focus-visible {
  color: #ffffff;
  background: #173d8f;
}

body.authenticated #workflowGuide .workflow-now[data-stage-status="blocked"] {
  box-shadow: inset 4px 0 #52657d;
}

body.authenticated #workflowGuide .workflow-deliverable {
  color: #173d8f !important;
  font-weight: 720;
}

/* Model-state authority: the five steps describe readiness, not page history. */
body.authenticated #workflowGuide .workflow-stage-rail button.is-complete:not(.is-current) {
  color: #173d8f;
  background: #edf2fb;
}

body.authenticated #workflowGuide .workflow-stage-rail button.is-screening:not(.is-current),
body.authenticated #workflowGuide .workflow-stage-rail button.is-attention:not(.is-current) {
  color: #203d67;
  background: #f7f8fb;
}

body.authenticated #workflowGuide .workflow-stage-rail button.is-blocked:not(.is-current) {
  color: #071d33;
  background: #e9edf4;
  box-shadow: inset 0 3px #52657d;
}

body.authenticated #workflowGuide .workflow-exit[data-stage-status="blocked"] {
  background: #f2f4f8;
}

body.authenticated #workflowGuide .workflow-stage-gaps {
  display: grid;
  gap: 5px;
  margin-top: 9px;
}

body.authenticated #workflowGuide .workflow-stage-gaps button {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #b8c5d6;
  border-radius: 7px;
  color: #071d33;
  background: #ffffff;
  text-align: left;
}

body.authenticated #workflowGuide .workflow-stage-gaps button:hover,
body.authenticated #workflowGuide .workflow-stage-gaps button:focus-visible {
  border-color: #5275dd;
  background: #e9efff;
}

body.authenticated #workflowGuide .workflow-stage-gaps small {
  color: #173d8f;
  font-size: 8px;
  font-weight: 820;
  text-transform: uppercase;
}

body.authenticated #workflowGuide .workflow-stage-gaps strong {
  overflow: hidden;
  color: #071d33;
  font-size: 9px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.authenticated #workflowGuide .workflow-stage-complete {
  margin-top: 9px;
  color: #173d8f;
  font-size: 9px;
}

body.authenticated #workflowGuide .workflow-ready-label {
  margin-top: 8px !important;
  color: #071d33 !important;
  font-size: 9px !important;
}

/* One focused workflow contract: task, required inputs, completion and one primary action. */
body.authenticated #workflowGuide .workflow-focus-card {
  display: grid;
  grid-template-columns: minmax(270px, 1.15fr) minmax(230px, .9fr) minmax(240px, .95fr);
  min-width: 0;
  background: #ffffff;
}

body.authenticated #workflowGuide .workflow-focus-card > :where(header, section) {
  min-width: 0;
  padding: 18px 20px;
  border-right: 1px solid #d6deea;
}

body.authenticated #workflowGuide .workflow-focus-copy {
  color: #ffffff;
  background: #071d33;
}

body.authenticated #workflowGuide .workflow-focus-card :where(header, section) > span,
body.authenticated #workflowGuide .workflow-after-task > span,
body.authenticated #workflowGuide .workflow-primary-task > span {
  display: block;
  color: #526985;
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.authenticated #workflowGuide .workflow-focus-copy > span { color: #c4d2e4; }

body.authenticated #workflowGuide .workflow-focus-copy h3 {
  margin: 7px 0 0;
  color: #ffffff;
  font-size: 18px;
  line-height: 1.25;
}

body.authenticated #workflowGuide .workflow-focus-copy p,
body.authenticated #workflowGuide .workflow-completion-check p {
  margin: 7px 0 0;
  color: #d5e0ed;
  font-size: 11px;
  line-height: 1.5;
}

body.authenticated #workflowGuide .workflow-required-inputs ul {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

body.authenticated #workflowGuide .workflow-required-inputs li {
  position: relative;
  padding-left: 22px;
  color: #203a57;
  font-size: 11px;
  line-height: 1.4;
}

body.authenticated #workflowGuide .workflow-required-inputs li::before {
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  width: 16px;
  height: 16px;
  place-items: center;
  border: 1px solid #91a4bb;
  border-radius: 4px;
  color: #173d8f;
  content: "";
}

body.authenticated #workflowGuide .workflow-completion-check {
  border-right: 0 !important;
  background: #f4f7fb;
}

body.authenticated #workflowGuide .workflow-completion-check p { color: #203a57; }

body.authenticated #workflowGuide .workflow-completion-check small {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #cbd6e2;
  color: #50647f;
  font-size: 10px;
  line-height: 1.45;
}

body.authenticated #workflowGuide .workflow-focus-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(260px, 1fr) minmax(190px, .7fr);
  min-width: 0;
  border-top: 1px solid #c8d3df;
  background: #eef2f7;
}

body.authenticated #workflowGuide .workflow-primary-task {
  display: grid;
  min-width: 0;
  min-height: 70px;
  align-content: center;
  gap: 2px;
  padding: 12px 20px;
  border: 0;
  border-radius: 0;
  color: #ffffff;
  background: #244bc5;
  text-align: left;
}

body.authenticated #workflowGuide .workflow-primary-task:hover,
body.authenticated #workflowGuide .workflow-primary-task:focus-visible { background: #173d8f; }
body.authenticated #workflowGuide .workflow-primary-task > span,
body.authenticated #workflowGuide .workflow-primary-task > small { color: #dce5ff; }
body.authenticated #workflowGuide .workflow-primary-task > strong { color: #ffffff; font-size: 13px; line-height: 1.3; }
body.authenticated #workflowGuide .workflow-primary-task > small { font-size: 9px; line-height: 1.3; }

body.authenticated #workflowGuide .workflow-after-task {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 3px;
  padding: 12px 20px;
  border-right: 1px solid #c8d3df;
}

body.authenticated #workflowGuide .workflow-after-task strong { color: #071d33; font-size: 12px; line-height: 1.3; }
body.authenticated #workflowGuide .workflow-after-task small { color: #50647f; font-size: 9px; line-height: 1.35; }

body.authenticated #workflowGuide .workflow-more-controls {
  min-width: 0;
  align-self: stretch;
  background: #ffffff;
}

body.authenticated #workflowGuide .workflow-more-controls > summary {
  display: grid;
  min-height: 70px;
  align-content: center;
  padding: 12px 18px;
  color: #173d8f;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}

body.authenticated #workflowGuide .workflow-more-controls > summary::-webkit-details-marker { display: none; }
body.authenticated #workflowGuide .workflow-more-controls > div { display: grid; gap: 5px; padding: 0 12px 12px; }
body.authenticated #workflowGuide .workflow-more-controls button { min-height: 34px; border: 1px solid #aebed2; border-radius: 6px; color: #173d8f; background: #ffffff; font-size: 9px; font-weight: 780; }
body.authenticated #workflowGuide .workflow-more-controls button:hover { background: #e9efff; }

@media (max-width: 1100px) and (min-width: 761px) {
  body.authenticated #workflowGuide .workflow-focus-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.authenticated #workflowGuide .workflow-focus-copy { grid-column: 1 / -1; }
  body.authenticated #workflowGuide .workflow-completion-check { border-top: 1px solid #d6deea; }
  body.authenticated #workflowGuide .workflow-focus-actions { grid-template-columns: 1fr 1fr; }
  body.authenticated #workflowGuide .workflow-more-controls { grid-column: 1 / -1; border-top: 1px solid #c8d3df; }
  body.authenticated #workflowGuide .workflow-more-controls > summary { min-height: 46px; }
}

body.authenticated .sidebar-settings.guide-focus {
  outline: 3px solid rgba(49, 107, 255, .32);
  outline-offset: 2px;
}

body.authenticated .new-model-intake {
  display: block;
  overflow: hidden;
  border: 1px solid #b9c7d9;
  border-radius: 12px;
  background: #ffffff;
}

body.authenticated .new-model-intake > summary {
  display: grid;
  grid-template-columns: minmax(180px, 0.45fr) minmax(320px, 1fr) auto;
  gap: 8px 20px;
  min-height: 72px;
  align-items: center;
  padding: 14px 18px;
  color: #071b34;
  cursor: pointer;
  list-style: none;
}

body.authenticated .new-model-intake > summary::-webkit-details-marker { display: none; }

body.authenticated .new-model-intake > summary::after {
  content: "Open setup";
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  padding: 8px 12px;
  border: 1px solid #aebed2;
  border-radius: 8px;
  color: #173d8f;
  background: #f6f8fc;
  font-size: 10px;
  font-weight: 760;
}

body.authenticated .new-model-intake[open] > summary::after { content: "Hide setup"; }

body.authenticated .new-model-intake > summary > span {
  color: #173d8f;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .new-model-intake > summary > strong {
  color: #071b34;
  font-size: 15px;
  line-height: 1.25;
}

body.authenticated .new-model-intake > summary > small {
  grid-column: 2;
  color: #53677f;
  font-size: 10px;
  line-height: 1.4;
}

body.authenticated .new-model-intake-body {
  display: grid;
  gap: 10px;
  padding: 0 12px 12px;
  border-top: 1px solid #d5dee9;
  background: #f5f7fb;
}

body.authenticated .new-model-intake-body > .intake-progress { margin-top: 12px; }

body.authenticated .start-hero.start-continue {
  min-height: 154px !important;
  background: #071b34 !important;
}

body.authenticated .start-hero.start-continue > div > p {
  color: #b9c9dc !important;
}

body.authenticated .start-hero.start-continue > div > h3 {
  color: #ffffff !important;
}

body.authenticated .start-hero.start-continue > div > span {
  color: #d8e2ef !important;
}

body.authenticated .start-decision-contract {
  overflow: hidden;
  color: #ffffff !important;
  background: #071b34 !important;
  border: 1px solid #25486e !important;
  border-radius: 8px !important;
}

body.authenticated .start-decision-contract > header {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .65fr);
  align-items: end;
  gap: 24px;
  padding: 18px 20px;
}

body.authenticated .start-decision-contract > header p,
body.authenticated .start-decision-flow article > span {
  margin: 0 0 6px;
  color: #b9c9dc !important;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .start-decision-contract > header h3 {
  margin: 0;
  color: #ffffff !important;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.1;
}

body.authenticated .start-decision-contract > header > span {
  color: #d8e2ef !important;
  font-size: 12px;
  line-height: 1.5;
}

body.authenticated .start-decision-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #25486e;
}

body.authenticated .start-decision-flow article {
  min-width: 0;
  padding: 16px 20px;
  border-right: 1px solid #25486e;
}

body.authenticated .start-decision-flow article:last-child { border-right: 0; }
body.authenticated .start-decision-flow strong { display: block; color: #ffffff !important; font-size: 13px; line-height: 1.35; }
body.authenticated .start-decision-flow p { margin: 6px 0 0; color: #c9d6e5 !important; font-size: 11px; line-height: 1.45; }

body.authenticated #flowsheetView .canvas-toolbar {
  grid-template-columns: minmax(150px, 0.58fr) minmax(230px, 0.8fr) minmax(300px, 1.35fr) !important;
  grid-template-rows: auto auto !important;
  gap: 8px 14px !important;
  align-items: stretch !important;
}

body.authenticated #flowsheetView .canvas-mode-switch {
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
}

body.authenticated #flowsheetView .canvas-task-status {
  grid-column: 3;
  grid-row: 1;
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr) auto;
  min-width: 0;
  gap: 10px;
  align-content: center;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid #c5d1df;
  border-radius: 9px;
  background: #ffffff;
}

body.authenticated #flowsheetView #editSelected {
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid #315bff;
  border-radius: 7px;
  color: #ffffff;
  background: #315bff;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

body.authenticated #flowsheetView #editSelected[hidden] { display: none !important; }

body.authenticated #flowsheetView .canvas-task-status > span {
  color: #5a6f87;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated #flowsheetView #modeHint {
  grid-column: 2 !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  padding: 0 !important;
  border: 0 !important;
  color: #071b34 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

body.authenticated #flowsheetView .canvas-task-status > span { grid-column: 1 !important; }
body.authenticated #flowsheetView #editSelected {
  grid-column: 3 !important;
  width: auto !important;
  min-width: max-content !important;
}

body.authenticated #flowsheetView .canvas-chemistry {
  grid-column: 3 !important;
  grid-row: 2 !important;
  border-color: #c9d5e3 !important;
  background: #edf2fa !important;
}

body.authenticated #flowsheetView .canvas-chemistry :where(span, strong) { color: #183653 !important; }
body.authenticated #flowsheetView .canvas-guide { display: none !important; }

body.authenticated #flowsheetView .canvas-health {
  grid-template-columns: minmax(230px, 0.75fr) minmax(330px, 1fr) auto !important;
}

body.authenticated #flowsheetView .canvas-health-summary,
body.authenticated #flowsheetView .canvas-health-stats {
  border-right: 1px solid #d5dee7 !important;
  border-bottom: 0 !important;
}

body.authenticated #flowsheetView .canvas-health-actions {
  grid-column: auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 6px !important;
  justify-content: flex-start !important;
  border-top: 0 !important;
}

body.authenticated #flowsheetView .canvas-health-actions button:last-child {
  grid-column: 1 / -1;
}

body.authenticated #flowsheetView .workbench-empty small {
  display: block;
  margin-top: 7px;
  color: #52677f;
  font-size: 9px;
  font-weight: 680;
  line-height: 1.45;
}

body.authenticated #flowsheetView .section-builder {
  color: #071d33 !important;
  background: #f4f7fb !important;
}

body.authenticated #flowsheetView .section-builder > summary :where(strong, span) {
  color: #17324f !important;
}

body.authenticated #flowsheetView .canvas-health-meter {
  grid-column: 1 / -1;
  height: 4px;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #dce5ee;
}

body.authenticated #flowsheetView .canvas-health-meter > b {
  display: block;
  width: var(--health-score);
  height: 100%;
  border-radius: inherit;
  background: #315bff;
}

body.authenticated #flowsheetView .unit-stream-primary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.authenticated #flowsheetView .canvas-workbench {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.authenticated #flowsheetView .unit-stream-primary button:first-child {
  border-color: #7995e7 !important;
  background: #edf2ff !important;
}

body.authenticated #flowsheetView .unit-stream-more {
  overflow: hidden;
  border: 1px solid #c8d3e0;
  border-radius: 10px;
  background: #f8fafc;
}

body.authenticated #flowsheetView .unit-stream-more > summary {
  min-height: 36px;
  padding: 9px 11px;
  color: #304963;
  cursor: pointer;
  font-size: 10px;
  font-weight: 750;
  list-style: none;
}

body.authenticated #flowsheetView .unit-stream-more > summary::before {
  content: "+";
  display: inline-block;
  width: 18px;
  color: #315bff;
  font-size: 14px;
}

body.authenticated #flowsheetView .unit-stream-more[open] > summary::before { content: "−"; }

body.authenticated #flowsheetView .unit-stream-more .unit-stream-actions {
  padding: 0 9px 9px;
}

body.authenticated #flowsheetView .unit-model-contract-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid #b8c7d8;
  border-radius: 8px;
  background: #f4f7fb;
}

body.authenticated #flowsheetView .unit-model-contract-summary span,
body.authenticated #flowsheetView .unit-port-requirements b {
  color: #52677f;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated #flowsheetView .unit-model-contract-summary strong {
  display: block;
  margin-top: 2px;
  color: #071b34;
  font-size: 12px;
}

body.authenticated #flowsheetView .unit-model-contract-summary p {
  margin: 3px 0 0;
  color: #40566d;
  font-size: 9px;
  line-height: 1.4;
}

body.authenticated #flowsheetView .unit-model-contract-summary > b {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid #315bff;
  border-radius: 50%;
  color: #071b34;
  background: #fff;
  font-size: 11px;
}

body.authenticated #flowsheetView .unit-port-requirements,
.context-port-contract {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin-top: 8px;
}

body.authenticated #flowsheetView .unit-port-requirements > span,
.context-port-contract article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #c5d0dc;
  border-left: 3px solid #315bff;
  border-radius: 6px;
  background: #fff;
}

body.authenticated #flowsheetView .unit-port-requirements > span.port-missing,
.context-port-contract article.port-missing { border-left-color: #a73832; }

body.authenticated #flowsheetView .unit-port-requirements strong,
.context-port-contract strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #071b34;
  font-size: 9px;
}

body.authenticated #flowsheetView .unit-port-requirements small {
  grid-column: 1 / -1;
  color: #53677f;
  font-size: 8px;
}

.context-port-contract article > div { min-width: 0; }
.context-port-contract article span,
.context-port-contract article small { display: block; color: #53677f; font-size: 8px; }
.context-port-contract article > b { color: #071b34; font-size: 11px; }
.context-model-parameters { margin-top: 12px; }
.context-model-parameters label > small { position: static; color: #5a6f87; font-size: 8px; line-height: 1.35; }
.context-equipment-calculation { display: grid; gap: 9px; }
.context-equipment-calculation .context-result-grid small {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #5a6f87;
  font: 500 8px/1.35 ui-monospace, monospace;
}
.context-equipment-calculation details { border: 1px solid #cbd6e0; border-radius: 6px; background: #fff; }
.context-equipment-calculation summary { padding: 10px 11px; color: #071b34; cursor: pointer; font-size: 10px; font-weight: 750; }
.context-equipment-calculation summary b { float: right; color: #315bff; }
.context-equation-list { display: grid; gap: 1px; padding: 0 9px 9px; }
.context-equation-list > article { display: grid; gap: 4px; padding: 8px; background: #f1f4f8; }
.context-equation-list > article strong { color: #071b34; font-size: 9px; }
.context-equation-list > article code { overflow-wrap: anywhere; color: #183653; font-size: 8px; line-height: 1.35; white-space: normal; }
.context-equation-list > article small { color: #53677f; font-size: 8px; line-height: 1.35; }
.context-equation-list > span { padding: 7px 8px; overflow-wrap: anywhere; background: #f1f4f8; color: #183653; font-size: 8px; line-height: 1.35; }
.context-model-contract > p { max-width: 62ch; }
.context-model-readiness {
  display: grid;
  grid-template-columns: minmax(112px, auto) minmax(0, 1fr);
  gap: 3px 12px;
  align-items: start;
  border: 1px solid #aebccd;
  border-left: 4px solid #315bff;
  border-radius: 6px;
  padding: 10px 12px;
  color: #071b34;
  background: #f7f9fc;
}
.context-model-readiness > span {
  grid-row: 1 / span 2;
  color: #4b6078;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}
.context-model-readiness > strong { color: #071b34; font-size: 12px; }
.context-model-readiness > p { grid-column: 2; margin: 0; color: #3d526a; font-size: 10px; line-height: 1.45; }
.context-model-readiness > details { grid-column: 1 / -1; margin-top: 5px; }
.context-model-readiness.readiness-not-ready,
.context-model-readiness.readiness-review { border-left-color: #a73832; background: #fff7f5; }
.context-model-readiness.readiness-screening { border-left-color: #b66b00; background: #fffaf0; }
.context-model-readiness.readiness-configured { border-left-color: #315bff; background: #f3f6ff; }

body.authenticated #flowsheetView .canvas-health-stats { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

/* The legal links close the public footer instead of floating in a navigation column. */
body.locked .public-route-footer .public-route-footer-meta {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  width: 100% !important;
  max-width: var(--clean-content, 1520px) !important;
  margin-top: 6px !important;
  padding-top: 20px !important;
  gap: 20px !important;
  border-top: 1px solid #284058 !important;
}

body.locked .public-route-footer .public-route-footer-meta > small {
  color: #9eb0c1 !important;
  -webkit-text-fill-color: #9eb0c1 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

body.locked .public-route-footer .public-route-footer-meta > nav {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  width: auto !important;
  gap: 18px !important;
}

body.locked .public-route-footer .public-route-footer-meta > nav a {
  color: #d7e1ea !important;
  -webkit-text-fill-color: #d7e1ea !important;
  font-size: 11px !important;
}

@media (max-width: 1500px) and (min-width: 761px) {
  body.authenticated #flowsheetView .canvas-health {
    grid-template-columns: minmax(220px, 0.75fr) minmax(300px, 1fr) auto !important;
  }
}

@media (max-width: 760px) {
  body.locked .public-route-footer {
    align-items: start !important;
    margin-top: 0 !important;
  }

  body.locked .public-route-footer > :where(div:not(.public-route-footer-meta), nav) {
    align-self: start !important;
  }

  body.locked .public-route-footer .public-route-footer-meta {
    align-self: end !important;
    align-items: flex-end !important;
    margin-top: 4px !important;
    padding-top: 18px !important;
  }

  body.locked .public-route-footer .public-route-footer-meta > nav {
    align-items: flex-end !important;
  }

  body.authenticated #workflowGuide .workflow-guide-summary {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    min-height: 72px !important;
  }

  body.authenticated #workflowGuide .workflow-guide-context {
    display: grid !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.authenticated #workflowGuide .workflow-guide-location {
    display: grid !important;
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
    padding: 6px 0 0 !important;
    border-top: 1px solid #d6deea !important;
    border-left: 0 !important;
  }

  body.authenticated #workflowGuide .workflow-guide-location strong {
    overflow: visible !important;
    font-size: 10px !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.authenticated #workflowGuide .workflow-guide-next {
    display: grid !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.authenticated #workflowGuide .workflow-guide-next small { font-size: 8px !important; }
  body.authenticated #workflowGuide .workflow-guide-next strong { white-space: normal !important; }
  body.authenticated #workflowGuide .workflow-guide-toggle { min-width: 58px !important; text-align: center !important; }

  body.authenticated #workflowGuide .workflow-stage-rail { display: none !important; }

  body.authenticated #workflowGuide .workflow-task-bar {
    grid-template-columns: 1fr !important;
  }

  body.authenticated #workflowGuide .workflow-task-bar > :where(section, button) {
    border-right: 0 !important;
    border-top: 1px solid #d6deea !important;
  }

  body.authenticated #workflowGuide .workflow-focus-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.authenticated #workflowGuide .workflow-focus-card > :where(header, section) {
    grid-column: 1 !important;
    padding: 15px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #d6deea !important;
  }

  body.authenticated #workflowGuide .workflow-focus-copy h3 {
    font-size: 16px !important;
  }

  body.authenticated #workflowGuide .workflow-focus-actions {
    grid-column: 1 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.authenticated #workflowGuide .workflow-primary-task,
  body.authenticated #workflowGuide .workflow-after-task,
  body.authenticated #workflowGuide .workflow-more-controls {
    grid-column: 1 !important;
    min-height: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid #c8d3df !important;
  }

  body.authenticated #workflowGuide .workflow-primary-task {
    min-height: 62px !important;
    padding: 11px 14px !important;
  }

  body.authenticated #workflowGuide .workflow-after-task {
    padding: 12px 14px !important;
  }

  body.authenticated #workflowGuide .workflow-more-controls > summary {
    min-height: 44px !important;
    padding: 10px 14px !important;
  }

  body.authenticated #workflowGuide .workflow-next {
    min-height: 88px !important;
  }

  body.authenticated #workflowGuide .workflow-next > :where(strong, small) {
    overflow: visible !important;
    white-space: normal !important;
  }

  body.authenticated:has(#workflowGuide[open]) .help-dock {
    visibility: hidden;
    pointer-events: none;
  }

  body.authenticated .new-model-intake > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 10px;
    min-height: 68px;
    padding: 11px 12px;
  }

  body.authenticated .new-model-intake > summary > span,
  body.authenticated .new-model-intake > summary > strong,
  body.authenticated .new-model-intake > summary > small { grid-column: 1; }

  body.authenticated .new-model-intake > summary::after {
    grid-column: 2;
    grid-row: 1 / 4;
  }

  body.authenticated .new-model-intake-body { padding: 0 8px 8px; }

  body.authenticated #flowsheetView .canvas-toolbar {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    gap: 8px !important;
  }

  body.authenticated #flowsheetView .canvas-tool-heading,
  body.authenticated #flowsheetView .canvas-mode-switch,
  body.authenticated #flowsheetView .canvas-task-status,
  body.authenticated #flowsheetView .canvas-chemistry {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.authenticated #flowsheetView .canvas-tool-heading { display: none !important; }

  body.authenticated #flowsheetView .canvas-task-status {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    min-height: 54px;
    padding: 9px 10px;
  }

  body.authenticated #flowsheetView .canvas-task-status > span {
    grid-column: 1 / -1;
    display: block !important;
    width: auto !important;
    margin-bottom: 4px;
  }

  body.authenticated #flowsheetView #editSelected {
    align-self: stretch;
    min-width: 104px;
  }

  body.authenticated #flowsheetView .canvas-health {
    order: 2 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary {
    grid-column: 1;
    border-right: 0 !important;
    border-bottom: 1px solid #d5dee7 !important;
  }

  body.authenticated #flowsheetView .canvas-health-stats { display: none !important; }

  body.authenticated #flowsheetView .canvas-health-actions {
    grid-column: 1 !important;
    grid-template-columns: 1fr !important;
    display: grid !important;
    align-content: center !important;
    padding: 8px !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions button:last-child { grid-column: 1; }

  body.authenticated #flowsheetView .canvas-health-actions button { width: 100% !important; }
  body.authenticated #flowsheetView .canvas-health-actions [data-health-action="open-streams"] { display: none !important; }
  body.authenticated #flowsheetView .canvas-health-queue { grid-column: 1 / -1; }

  body.authenticated #flowsheetView .flowsheet-canvas { order: 3 !important; }
  body.authenticated #flowsheetView .canvas-workbench { order: 4 !important; }
  body.authenticated #flowsheetView .canvas-options { order: 5 !important; }
  body.authenticated #flowsheetView .equation-spotlight { order: 6 !important; }

  body.authenticated #flowsheetView .canvas-workbench {
    grid-template-columns: 1fr !important;
    padding: 8px !important;
  }

  body.authenticated #flowsheetView .unit-stream-primary { grid-template-columns: 1fr 1fr !important; }
  body.authenticated #flowsheetView .unit-stream-more .unit-stream-actions { grid-template-columns: 1fr !important; }
}

/* Controlled equation register: source, units, numerical verification and use gate. */
body.authenticated #equationsView {
  background: #eef2f7;
  scroll-padding-top: 140px;
}

body.authenticated #equationsView .equation-toolbar {
  background: #f8fafc;
}

body.authenticated .equation-governance-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(360px, .8fr);
  gap: 20px;
  align-items: end;
  padding: 18px 20px;
  border-bottom: 1px solid #cad4e1;
  background: #071e35;
  color: #fff;
}

body.authenticated .equation-governance-summary > div {
  display: grid;
  gap: 5px;
}

body.authenticated .equation-governance-summary span {
  color: #a9c3ff !important;
  -webkit-text-fill-color: #a9c3ff !important;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .equation-governance-summary strong {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 18px;
}

body.authenticated .equation-governance-summary p {
  max-width: 760px;
  margin: 0;
  color: #dce7f4 !important;
  -webkit-text-fill-color: #dce7f4 !important;
  font-size: 12px;
  line-height: 1.5;
}

body.authenticated .equation-governance-summary dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border: 1px solid #36516d;
  border-radius: 8px;
  overflow: hidden;
}

body.authenticated .equation-governance-summary dl > div {
  display: grid;
  gap: 3px;
  padding: 11px;
  border-left: 1px solid #36516d;
}

body.authenticated .equation-governance-summary dl > div:first-child {
  border-left: 0;
}

body.authenticated .equation-governance-summary dt {
  color: #b9c9da !important;
  -webkit-text-fill-color: #b9c9da !important;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

body.authenticated .equation-governance-summary dd {
  margin: 0;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 15px;
  font-weight: 800;
}

body.authenticated #equationList {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 10px;
  align-items: start;
  padding: 14px;
}

body.authenticated #equationList .equation-card {
  min-height: 0;
  border-color: #c9d3df;
  border-radius: 8px;
  box-shadow: none;
}

body.authenticated .equation-card-heading {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

body.authenticated .equation-card-heading > div:first-child {
  display: grid;
  min-width: 0;
  gap: 3px;
}

body.authenticated #equationList .equation-card span {
  color: #315bd7;
}

body.authenticated .equation-statuses {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
  align-items: center;
}

body.authenticated .equation-status {
  padding: 4px 6px;
  border: 1px solid #b6c4d5;
  border-radius: 999px;
  background: #f3f6fa;
  color: #263c55;
  font-size: 8px;
  line-height: 1;
  text-transform: uppercase;
}

body.authenticated .equation-status.verification-passed,
body.authenticated .governance-passed {
  border-color: #9db3ef;
  background: #edf2ff;
  color: #173fa8;
}

body.authenticated .equation-status.verification-pending,
body.authenticated .governance-blocked {
  border-color: #d4bd87;
  background: #fff8e8;
  color: #624612;
}

body.authenticated .equation-governance-detail {
  border-top: 1px solid #dbe2eb;
  padding-top: 9px;
}

body.authenticated .equation-governance-detail > summary {
  color: #173fa8;
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  scroll-margin-top: 150px;
}

body.authenticated .equation-governance-detail dl {
  display: grid;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0;
  margin: 10px 0 0;
  border: 1px solid #d8e0ea;
  border-radius: 8px;
  overflow: hidden;
}

body.authenticated .equation-governance-detail dl > div {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  border-top: 1px solid #e2e8f0;
}

body.authenticated .equation-governance-detail dl > div:first-child {
  border-top: 0;
}

body.authenticated .equation-governance-detail dt,
body.authenticated .equation-governance-detail dd {
  margin: 0;
  padding: 8px 9px;
  color: #142b43;
  font-size: 10px;
  line-height: 1.45;
}

body.authenticated .equation-governance-detail dt {
  background: #f1f4f8;
  color: #41566e;
  font-weight: 800;
}

body.authenticated .equation-governance-detail dd {
  display: grid;
  gap: 4px;
  overflow-wrap: anywhere;
  background: #fff;
}

body.authenticated .equation-governance-detail dd small,
body.authenticated .equation-governance-detail dd span {
  display: block;
  color: #50657c;
  -webkit-text-fill-color: #50657c;
  font-size: 9px;
  letter-spacing: 0;
  text-transform: none;
}

.context-equation-gate {
  margin: 8px 0 0 !important;
  padding-top: 8px;
  border-top: 1px solid #cbd5e1;
  color: #344b63 !important;
  font-size: 9px !important;
  line-height: 1.45 !important;
}

@media (max-width: 760px) {
  body.authenticated .equation-governance-summary {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px;
  }

  body.authenticated .equation-governance-summary dl {
    grid-template-columns: 1fr;
  }

  body.authenticated .equation-governance-summary dl > div {
    grid-template-columns: 1fr auto;
    align-items: baseline;
    border-top: 1px solid #36516d;
    border-left: 0;
  }

  body.authenticated .equation-governance-summary dl > div:first-child {
    border-top: 0;
  }

  body.authenticated #equationList {
    display: grid !important;
    grid-template-columns: 1fr;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-rows: max-content !important;
    align-content: start !important;
    padding: 10px;
  }

  body.authenticated .equation-card-heading {
    display: grid;
  }

  body.authenticated .equation-statuses {
    flex-wrap: wrap;
  }

  body.authenticated .equation-governance-detail dl > div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 380px) {
  body.locked .public-route-footer .public-route-footer-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.locked .public-route-footer .public-route-footer-meta > nav {
    justify-content: flex-start !important;
    gap: 14px !important;
  }

  body.authenticated #flowsheetView .unit-stream-primary { grid-template-columns: 1fr !important; }
  body.authenticated #flowsheetView .canvas-health { grid-template-columns: 1fr !important; }
  body.authenticated #flowsheetView .canvas-health-summary { border-right: 0 !important; }
  body.authenticated #flowsheetView .canvas-health-actions { grid-column: 1 !important; }
}

/* Decision-led application guide, model context tools and engineering outputs. */
body.authenticated .application-guide {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid #c8d3df;
  border-radius: 8px;
  background: #f8fafc;
  color: #071b34;
}

body.authenticated .application-guide > header {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(360px, 1.2fr);
  align-items: end;
  gap: 32px;
}

body.authenticated .application-guide > header span,
body.authenticated .application-guide article > span,
body.authenticated .application-guide > footer > span,
body.authenticated .decision-cockpit header span,
body.authenticated .decision-paths article > span {
  color: #315bff !important;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .application-guide h3 {
  margin: 4px 0 0;
  color: #071b34 !important;
  font-size: 22px;
  line-height: 1.15;
}

body.authenticated .application-guide p,
body.authenticated .application-guide-grid p {
  margin: 5px 0 0;
  color: #425a73 !important;
  font-size: 12px;
  line-height: 1.55;
}

body.authenticated .application-guide-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid #d6dfe9;
}

body.authenticated .application-guide-grid article {
  min-width: 0;
  padding: 16px;
  border-right: 1px solid #d6dfe9;
}

body.authenticated .application-guide-grid article:first-child { padding-left: 0; }
body.authenticated .application-guide-grid article:last-child { border-right: 0; }
body.authenticated .application-guide-grid strong { display: block; margin-top: 7px; color: #071b34 !important; font-size: 14px; line-height: 1.35; }

body.authenticated .application-guide > footer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
}

body.authenticated .application-guide > footer strong { color: #071b34 !important; font-size: 12px; }
body.authenticated .application-guide button,
body.authenticated .decision-cockpit button,
body.authenticated .report-export-library button { min-height: 38px; border-radius: 6px !important; }

body.authenticated .decision-cockpit {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid #203d5b;
  border-radius: 8px;
  background: #071b34;
  color: #f8fbff;
}

body.authenticated .decision-cockpit > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 22px;
  border-bottom: 1px solid #29445e;
}

body.authenticated .decision-cockpit h3 { margin: 5px 0; color: #fff !important; font-size: 24px; }
body.authenticated .decision-cockpit header p { margin: 0; color: #b8c8d8 !important; }
body.authenticated .decision-status { text-align: right; }
body.authenticated .decision-status strong { display: block; color: #fff !important; font-size: 28px; }
body.authenticated .decision-status span { color: #b8c8d8 !important; font-size: 10px; text-transform: uppercase; }

body.authenticated .decision-answer {
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.25fr) minmax(260px, 1fr);
  overflow: hidden;
  border: 1px solid #b7c6d8;
  border-radius: 8px;
  background: #ffffff;
}

body.authenticated .decision-answer > article {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 7px;
  padding: 18px 20px;
  border-right: 1px solid #d5dee9;
}

body.authenticated .decision-answer > article:last-child { border-right: 0; }
body.authenticated .decision-answer span { color: #315bff !important; font-size: 9px; font-weight: 850; text-transform: uppercase; }
body.authenticated .decision-answer strong { color: #071b34 !important; font-size: 13px; line-height: 1.45; }
body.authenticated .decision-answer p { margin: 0; color: #4b6077 !important; font-size: 11px; line-height: 1.5; }
body.authenticated .decision-answer-result { background: #edf3ff; }
body.authenticated .decision-answer[data-answer-status="blocked"] .decision-answer-result { box-shadow: inset 4px 0 0 #9a4e5b; }
body.authenticated .decision-answer[data-answer-status="screening"] .decision-answer-result { box-shadow: inset 4px 0 0 #315bff; }
body.authenticated .decision-answer[data-answer-status="ready"] .decision-answer-result { box-shadow: inset 4px 0 0 #173b77; }
body.authenticated .decision-answer button {
  justify-self: start;
  min-height: 36px;
  margin-top: 3px;
  border: 1px solid #315bff !important;
  border-radius: 6px !important;
  padding: 0 13px;
  color: #ffffff !important;
  background: #315bff !important;
  font-size: 10px;
  font-weight: 800;
}

body.authenticated .decision-answer.is-embedded {
  border: 0;
  border-bottom: 1px solid #29445e;
  border-radius: 0;
  background: #0b223b;
}

body.authenticated .decision-answer.is-embedded > article { border-color: #29445e; }
body.authenticated .decision-answer.is-embedded .decision-answer-result { background: #102b47; }
body.authenticated .decision-answer.is-embedded strong { color: #ffffff !important; }
body.authenticated .decision-answer.is-embedded p { color: #b8c8d8 !important; }

body.authenticated .decision-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border-bottom: 1px solid #29445e;
}

body.authenticated .decision-kpis article { min-width: 0; padding: 15px 16px; border-right: 1px solid #29445e; }
body.authenticated .decision-kpis article:last-child { border-right: 0; }
body.authenticated .decision-kpis span,
body.authenticated .decision-kpis small { display: block; color: #aebfd1 !important; font-size: 9px; }
body.authenticated .decision-kpis strong { display: block; margin: 5px 0; color: #fff !important; font-size: 17px; white-space: nowrap; }

body.authenticated .decision-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.authenticated .decision-paths article { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 18px 20px; border-right: 1px solid #29445e; }
body.authenticated .decision-paths article:last-child { border-right: 0; }
body.authenticated .decision-paths strong { color: #fff !important; font-size: 14px; }
body.authenticated .decision-paths p { min-height: 54px; margin: 0; color: #b8c8d8 !important; font-size: 11px; line-height: 1.5; }
body.authenticated .decision-paths button { justify-self: start; border-color: #6f88a2 !important; background: transparent !important; color: #fff !important; }

body.authenticated .decision-cockpit > footer { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 20px; border-top: 1px solid #29445e; background: #0b223b; }
body.authenticated .decision-cockpit > footer button { border-color: #71869c !important; background: #132e49 !important; color: #fff !important; }
body.authenticated .decision-cockpit > footer button.primary { border-color: #315bff !important; background: #315bff !important; }
body.authenticated .decision-cockpit > footer button:disabled { opacity: .48; }

body.authenticated .report-export-library {
  overflow: hidden;
  border: 1px solid #c8d3df;
  border-radius: 8px;
  background: #f8fafc;
}

body.authenticated .report-export-library > summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 74px;
  padding: 16px 20px;
  color: #071b34 !important;
  cursor: pointer;
  list-style: none;
}

body.authenticated .report-export-library > summary > span { color: #315bff !important; font-size: 10px; font-weight: 800; text-transform: uppercase; }
body.authenticated .report-export-library > summary > strong { color: #071b34 !important; font-size: 15px; }
body.authenticated .report-export-library > summary > small { max-width: 420px; color: #53677f !important; text-align: right; }
body.authenticated .report-export-library > .reports-grid { padding: 0 14px 14px; }

body.authenticated #flowsheetView .unit-engineering-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
body.authenticated #flowsheetView .unit-engineering-actions button { min-height: 36px; border: 1px solid #9bacc0; border-radius: 6px; background: #fff; color: #071b34; font-size: 10px; font-weight: 750; }

.canvas-context-menu {
  position: fixed;
  z-index: 7200;
  display: grid;
  width: 260px;
  overflow: hidden;
  border: 1px solid #9aabba;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(2, 17, 34, .24);
  color: #071b34;
}

.canvas-context-menu[hidden], .canvas-context-panel[hidden] { display: none !important; }
.canvas-context-menu > div { padding: 12px 14px; border-bottom: 1px solid #d7e0e9; background: #071b34; }
.canvas-context-menu > div :where(span, strong) { display: block; color: #fff !important; }
.canvas-context-menu > div span { font-size: 9px; text-transform: uppercase; }
.canvas-context-menu > button { display: grid; gap: 2px; padding: 10px 14px; border: 0; border-bottom: 1px solid #e0e7ee; border-radius: 0 !important; background: #fff; color: #071b34; text-align: left; }
.canvas-context-menu > button:hover { background: #edf2ff; }
.canvas-context-menu > button strong { color: #071b34 !important; font-size: 12px; }
.canvas-context-menu > button small { color: #53677f !important; font-size: 9px; }

.canvas-context-panel {
  position: fixed;
  z-index: 7100;
  inset: 0 0 0 auto;
  width: min(470px, 100vw);
  overflow: auto;
  border-left: 1px solid #9aabba;
  background: #f7f9fc;
  box-shadow: -18px 0 48px rgba(2, 17, 34, .2);
  color: #071b34;
}

.canvas-context-panel > header { position: sticky; z-index: 2; top: 0; display: flex; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #29445e; background: #071b34; }
.canvas-context-panel > header :where(span, h3) { color: #fff !important; }
.canvas-context-panel > header span { font-size: 9px; text-transform: uppercase; }
.canvas-context-panel > header h3 { max-width: 330px; margin: 4px 0 0; font-size: 17px; line-height: 1.3; }
.canvas-context-panel > header button { align-self: start; min-height: 34px; border-color: #6c8299; background: transparent; color: #fff; }
.canvas-context-panel > nav { position: sticky; z-index: 2; top: 75px; display: grid; grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)); border-bottom: 1px solid #c8d3df; background: #fff; }
.canvas-context-panel > nav button { min-height: 44px; border: 0; border-right: 1px solid #d8e0e8; border-radius: 0 !important; background: #fff; color: #40566c; font-size: 10px; font-weight: 750; }
.canvas-context-panel > nav button.active { box-shadow: inset 0 -3px #315bff; color: #071b34; }
.context-change-receipt { display: grid; gap: 10px; padding: 14px 20px; border-bottom: 1px solid #bac8d8; background: #edf2ff; }
.context-change-receipt > header { display: grid; grid-template-columns: 1fr minmax(130px, .8fr); gap: 12px; align-items: end; }
.context-change-receipt > header span, .context-change-receipt small { display: block; color: #40566c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.context-change-receipt > header strong { display: block; margin-top: 2px; color: #071b34; font-size: 13px; }
.context-change-receipt > header p, .context-change-stable { margin: 0; color: #304963; font-size: 9px; line-height: 1.45; }
.context-change-rows { display: grid; border: 1px solid #bac8d8; background: #fff; }
.context-change-rows article { display: grid; grid-template-columns: minmax(86px, 1fr) minmax(0, 1fr) auto minmax(0, 1fr); gap: 7px; align-items: center; min-width: 0; padding: 8px 9px; border-bottom: 1px solid #d8e0e8; }
.context-change-rows article:last-child { border-bottom: 0; }.context-change-rows :where(span, strong) { min-width: 0; overflow-wrap: anywhere; color: #071b34; font-size: 9px; }.context-change-rows b { color: #657991; font-size: 8px; }
.context-change-impact { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 1px; background: #bac8d8; }.context-change-impact > span { padding: 8px; background: #fff; }.context-change-impact strong { display: block; margin-top: 2px; color: #071b34; font-size: 9px; }
.context-change-receipt > footer { display: flex; gap: 7px; }.context-change-receipt > footer button { flex: 1; min-height: 36px; border: 1px solid #73869a; border-radius: 5px; background: #fff; color: #071b34; font-size: 9px; font-weight: 800; }.context-change-receipt > footer button:last-child { border-color: #315bff; background: #315bff; color: #fff; }
.canvas-context-panel > section { padding: 18px 20px 28px; }
.canvas-context-panel form { display: grid; gap: 16px; }
.context-form-section { min-width: 0; margin: 0; padding: 12px; border: 1px solid #c8d3df; border-radius: 6px; background: #fff; }
.context-form-section legend { padding: 0 5px; color: #071b34; font-size: 11px; font-weight: 800; }
.context-form-section > p { margin: 0 0 10px; color: #53677f; font-size: 9px; line-height: 1.45; }
.context-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.context-form-grid label { position: relative; display: grid; align-content: start; gap: 5px; min-width: 0; color: #304963; font-size: 10px; font-weight: 700; }
.context-form-grid :where(input, select) { width: 100%; min-height: 40px; padding: 8px 10px; border: 1px solid #a9b8c8; border-radius: 5px; background: #fff; color: #071b34; font: inherit; }
.context-form-grid label > small { position: absolute; right: 9px; bottom: 12px; color: #53677f; }
.context-form-grid label > small.context-field-help { position: static; max-width: 100%; line-height: 1.4; }
.context-readonly-grid, .context-basis dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid #cbd6e0; background: #fff; }
.context-readonly-grid > div, .context-basis dl > div { min-width: 0; padding: 10px; border-right: 1px solid #d7e0e8; border-bottom: 1px solid #d7e0e8; }
.context-readonly-grid dt, .context-basis dt { color: #5a6f87; font-size: 9px; text-transform: uppercase; }
.context-readonly-grid dd, .context-basis dd { margin: 4px 0 0; overflow-wrap: anywhere; color: #071b34; font-size: 11px; font-weight: 700; }
.canvas-context-panel form > button.primary { min-height: 42px; border: 1px solid #315bff; border-radius: 6px; background: #315bff; color: #fff; font-weight: 800; }
.context-basis { display: grid; gap: 12px; }
.context-basis > span, .factory-check-head > span { color: #315bff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.context-basis > strong, .factory-check-head > strong { color: #071b34; font-size: 16px; line-height: 1.35; }
.context-basis > p, .factory-check-head > p { margin: 0; color: #425a73; font-size: 11px; line-height: 1.55; }
.context-basis > button, .canvas-context-panel > section > button { min-height: 40px; border: 1px solid #9aabba; border-radius: 6px; background: #fff; color: #071b34; font-weight: 750; }
.factory-check-head { display: grid; gap: 7px; margin-bottom: 14px; }
.factory-suggestion-list { display: grid; gap: 8px; margin-bottom: 14px; }
.factory-suggestion-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 12px; border: 1px solid #cbd6e0; border-radius: 6px; background: #fff; }
.factory-suggestion-list span { color: #5a6f87; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.factory-suggestion-list strong { display: block; margin-top: 3px; color: #071b34; font-size: 12px; }
.factory-suggestion-list p { margin: 4px 0 0; color: #425a73; font-size: 10px; line-height: 1.45; }
.factory-suggestion-list button { align-self: center; max-width: 112px; min-height: 38px; border: 1px solid #315bff; border-radius: 6px; background: #edf2ff; color: #071b34; font-size: 10px; font-weight: 750; }
.context-operations-head { display: grid; gap: 6px; margin-bottom: 14px; }
.context-operations-head span { color: #315bff; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.context-operations-head strong { color: #071b34; font-size: 15px; line-height: 1.35; }
.context-operations-head p { margin: 0; color: #425a73; font-size: 10px; line-height: 1.5; }
.context-operation-list { display: grid; gap: 10px; }
.context-operation-row { min-width: 0; margin: 0; padding: 12px; border: 1px solid #c4d0dc; border-radius: 6px; background: #fff; }
.context-operation-row legend { display: flex; align-items: center; gap: 8px; padding: 0 5px; color: #071b34; font-size: 11px; }
.context-operation-row legend span { color: #315bff; font: 800 9px/1 ui-monospace, monospace; }
.context-operation-note { display: grid; gap: 5px; margin-top: 10px; color: #304963; font-size: 10px; font-weight: 700; }
.context-operation-note textarea { width: 100%; resize: vertical; padding: 9px 10px; border: 1px solid #a9b8c8; border-radius: 5px; background: #fff; color: #071b34; font: inherit; line-height: 1.45; }
.context-operation-actions, .context-operation-footer { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.context-operation-actions button, .context-operation-footer button { min-height: 34px; padding: 0 11px; border: 1px solid #9aabba; border-radius: 5px; background: #fff; color: #071b34; font-size: 9px; font-weight: 750; }
.context-operation-actions button:disabled { opacity: .42; }
.context-operation-footer { justify-content: space-between; margin-top: 0; }
.context-operation-footer button.primary { border-color: #315bff; background: #315bff; color: #fff; }
.context-procedure-timeline { margin-bottom: 14px; padding: 11px; border: 1px solid #c4d0dc; border-radius: 6px; background: #fff; }
.context-procedure-timeline header { display: flex; justify-content: space-between; margin-bottom: 8px; color: #304963; font-size: 9px; text-transform: uppercase; }
.context-procedure-timeline > div { display: flex; height: 42px; overflow: hidden; border-radius: 4px; background: #e9eef5; }
.context-procedure-timeline i { display: grid; flex: 0 0 var(--segment); place-items: center; min-width: 3px; overflow: hidden; border-right: 1px solid #fff; background: #315bff; color: #fff; font-style: normal; }
.context-procedure-timeline i:nth-child(even) { background: #2448bd; }
.context-procedure-timeline i.phase-cleaning, .context-procedure-timeline i.phase-sterility, .context-procedure-timeline i.phase-release { background: #586b82; }
.context-procedure-timeline i span { max-width: 100%; overflow: hidden; padding: 0 5px; font-size: 8px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.context-result-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #cbd6e0; background: #fff; }
.context-result-grid article { min-width: 0; padding: 11px; border-right: 1px solid #d7e0e8; border-bottom: 1px solid #d7e0e8; }
.context-result-grid span { display: block; color: #5a6f87; font-size: 8px; text-transform: uppercase; }
.context-result-grid strong { display: block; margin-top: 4px; overflow-wrap: anywhere; color: #071b34; font-size: 12px; }
.context-message-list { display: grid; gap: 7px; margin-bottom: 18px; }
.context-message-list article { padding: 11px 12px; border: 1px solid #cbd6e0; border-left: 4px solid #315bff; border-radius: 5px; background: #fff; }
.context-message-list article.severity-error { border-left-color: #a73832; }.context-message-list article.severity-warning { border-left-color: #a66a00; }.context-message-list article.severity-assumption { border-left-color: #657991; }
.context-message-list span { color: #53677f; font-size: 8px; font-weight: 800; text-transform: uppercase; }.context-message-list strong { display: block; margin-top: 3px; color: #071b34; font-size: 11px; }.context-message-list p { margin: 3px 0 0; color: #425a73; font-size: 9px; line-height: 1.45; }
.recipe-grid-row.capacity-blocked { box-shadow: inset 4px 0 #a73832; }
.recipe-grid-row.capacity-blocked > span:first-child small { color: #8d2d28; font-weight: 800; }

.canvas-shortcut-dialog { width: min(560px, calc(100vw - 28px)); padding: 0; border: 1px solid #9aabba; border-radius: 8px; background: #fff; color: #071b34; box-shadow: 0 24px 70px rgba(2, 17, 34, .3); }
.canvas-shortcut-dialog::backdrop { background: rgba(2, 17, 34, .56); }
.canvas-shortcut-dialog header { display: flex; justify-content: space-between; gap: 16px; padding: 16px 18px; border-bottom: 1px solid #d4dee8; }
.canvas-shortcut-dialog header span { color: #315bff; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.canvas-shortcut-dialog h3 { margin: 3px 0 0; color: #071b34; font-size: 19px; }
.canvas-shortcut-dialog header button { min-height: 34px; border: 1px solid #9aabba; border-radius: 5px; background: #fff; color: #071b34; }
.canvas-shortcut-dialog form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; padding: 10px 18px 18px; }
.canvas-shortcut-dialog p { display: grid; grid-template-columns: 88px 1fr; align-items: center; gap: 10px; margin: 0; padding: 9px 0; border-bottom: 1px solid #e0e7ee; color: #304963; font-size: 10px; }
.canvas-shortcut-dialog kbd { padding: 5px 7px; border: 1px solid #9aabba; border-bottom-width: 2px; border-radius: 4px; background: #f7f9fc; color: #071b34; font: 700 9px/1.2 ui-monospace, monospace; text-align: center; }

.canvas-focus-exit { display: none; }
body.canvas-focus-mode .canvas-focus-exit { position: fixed; z-index: 7300; right: 18px; bottom: 18px; display: block; min-height: 42px; padding: 0 16px; border: 1px solid #fff; border-radius: 6px; background: #071b34; color: #fff; font-weight: 750; box-shadow: 0 10px 30px rgba(2, 17, 34, .28); }
body.canvas-focus-mode #flowsheetView .canvas-frame { position: fixed !important; z-index: 6900 !important; inset: 0 !important; display: grid !important; grid-template-columns: 1fr !important; grid-template-rows: auto minmax(0, 1fr) !important; margin: 0 !important; padding: 10px !important; overflow: hidden !important; border: 0 !important; border-radius: 0 !important; background: #eef3f8 !important; }
body.canvas-focus-mode #flowsheetView .canvas-toolbar { grid-row: 1; }
body.canvas-focus-mode #flowsheetView :where(.builder-library, .canvas-health, .canvas-workbench, .canvas-options, .equation-spotlight, .mobile-flow-switcher) { display: none !important; }
body.canvas-focus-mode #flowsheetView .flowsheet-canvas { grid-row: 2; min-height: 0 !important; height: auto !important; border: 1px solid #708397 !important; }

@media (max-width: 1400px) {
  body.authenticated .application-guide-grid { grid-template-columns: 1fr 1fr; }
  body.authenticated .application-guide-grid article:nth-child(2) { border-right: 0; }
  body.authenticated .application-guide-grid article:nth-child(-n+2) { border-bottom: 1px solid #d6dfe9; }
  body.authenticated .decision-kpis { grid-template-columns: repeat(3, 1fr); }
  body.authenticated .decision-answer { grid-template-columns: 1fr 1fr; }
  body.authenticated .decision-answer-gate { grid-column: 1 / 3; border-top: 1px solid #d5dee9; }
  body.authenticated .decision-answer.is-embedded .decision-answer-gate { border-top-color: #29445e; }
  body.authenticated .decision-kpis article:nth-child(3) { border-right: 0; }
  body.authenticated .decision-kpis article:nth-child(-n+3) { border-bottom: 1px solid #29445e; }
  body.authenticated #flowsheetView .flowsheet-canvas { min-height: 620px !important; height: 68vh !important; }
}

@media (max-width: 1100px) { .canvas-context-panel { width: 100vw; } }
@media (min-width: 761px) {
  body.authenticated .workspace { display: flex !important; flex-direction: column !important; height: 100vh !important; overflow: auto !important; }
  body.authenticated .workspace > .topbar { order: 0 !important; flex: 0 0 auto !important; }
  body.authenticated .workspace > #workflowGuide { order: 1 !important; flex: 0 0 auto !important; min-height: 54px !important; height: auto !important; overflow: hidden !important; }
  body.authenticated .workspace > .kpi-strip { order: 2 !important; flex: 0 0 auto !important; }
  body.authenticated .workspace > .view { order: 3 !important; flex: 0 0 auto !important; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  body.authenticated .app-shell { display: grid !important; grid-template-columns: 224px minmax(0, 1fr) !important; }
  body.authenticated .sidebar { grid-column: 1; order: 1 !important; }
  body.authenticated .workspace { grid-column: 2; order: 2 !important; width: auto !important; }
}

@media (max-width: 760px) {
  body.authenticated .start-decision-contract > header,
  body.authenticated .start-decision-flow { grid-template-columns: 1fr; }
  body.authenticated .start-decision-contract > header { gap: 10px; padding: 16px; }
  body.authenticated .start-decision-flow article { padding: 13px 16px; border-right: 0; border-bottom: 1px solid #25486e; }
  body.authenticated .start-decision-flow article:last-child { border-bottom: 0; }
  body.authenticated .application-guide { padding: 16px; }
  body.authenticated .application-guide > header,
  body.authenticated .application-guide-grid,
  body.authenticated .application-guide > footer,
  body.authenticated .decision-paths { grid-template-columns: 1fr; }
  body.authenticated .application-guide-grid article { padding: 14px 0; border-right: 0; border-bottom: 1px solid #d6dfe9; }
  body.authenticated .application-guide-grid article:last-child { border-bottom: 0; }
  body.authenticated .application-guide > footer { align-items: start; }
  body.authenticated .decision-cockpit > header { align-items: flex-start; padding: 17px; }
  body.authenticated .decision-answer { grid-template-columns: 1fr; }
  body.authenticated .decision-answer > article { padding: 15px 17px; border-right: 0; border-bottom: 1px solid #d5dee9; }
  body.authenticated .decision-answer > article:last-child { border-bottom: 0; }
  body.authenticated .decision-answer-gate { grid-column: 1; border-top: 0; }
  body.authenticated .decision-answer.is-embedded > article { border-bottom-color: #29445e; }
  body.authenticated .decision-answer button { width: 100%; }
  body.authenticated .decision-status { flex: 0 0 auto; }
  body.authenticated .decision-kpis { grid-template-columns: 1fr 1fr; }
  body.authenticated .decision-kpis article:nth-child(3) { border-right: 1px solid #29445e; }
  body.authenticated .decision-kpis article:nth-child(2n) { border-right: 0; }
  body.authenticated .decision-kpis article:nth-child(-n+4) { border-bottom: 1px solid #29445e; }
  body.authenticated .decision-paths article { border-right: 0; border-bottom: 1px solid #29445e; }
  body.authenticated .decision-paths p { min-height: 0; }
  body.authenticated .report-export-library > summary { grid-template-columns: 1fr; gap: 4px; }
  body.authenticated .report-export-library > summary > small { text-align: left; }
  .canvas-context-menu { display: none !important; }
  .canvas-context-panel { width: 100vw; }
  .canvas-context-panel > nav { top: 76px; }
  .context-change-receipt > header, .context-change-rows article { grid-template-columns: 1fr; }.context-change-rows b { display: none; }
  .context-form-grid, .context-readonly-grid, .context-basis dl, .context-result-grid { grid-template-columns: 1fr; }
  .factory-suggestion-list article { grid-template-columns: 1fr; }
  .factory-suggestion-list button { max-width: none; }
  .canvas-shortcut-dialog form > div { grid-template-columns: 1fr; }
}

body.authenticated.canvas-focus-mode #flowsheetView {
  position: fixed !important;
  z-index: 6880 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  background: #eef3f8 !important;
}

body.authenticated.canvas-focus-mode #flowsheetView .canvas-frame {
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 0 !important;
  max-height: 100vh !important;
}

body.authenticated.canvas-focus-mode #flowsheetView .flowsheet-canvas {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
/* Decision-first public story and first-run input guidance. */
body.locked #publicHome .public-decision-map {
  display: grid;
  grid-template-columns: minmax(250px, .7fr) minmax(0, 2fr);
  gap: 48px;
  padding: 42px 0;
  border-bottom: 1px solid #cbd6e2;
}

body.locked #publicHome .public-decision-map header > span,
body.locked #publicHome .public-decision-map li > span {
  color: #36506a !important;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.locked #publicHome .public-decision-map h2 {
  max-width: 430px;
  margin: 10px 0 0;
  color: #071d33 !important;
  font-size: clamp(26px, 2.5vw, 38px);
  line-height: 1.08;
}

body.locked #publicHome .public-decision-map ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

body.locked #publicHome .public-decision-map li {
  min-width: 0;
  padding: 3px 20px 0;
  border-left: 1px solid #cbd6e2;
}

body.locked #publicHome .public-decision-map strong,
body.locked #publicHome .public-decision-map p { display: block; }

body.locked #publicHome .public-decision-map strong {
  margin-top: 12px;
  color: #071d33 !important;
  font-size: 15px;
}

body.locked #publicHome .public-decision-map p {
  margin: 8px 0 0;
  color: #445b70 !important;
  font-size: 12px;
  line-height: 1.55;
}

body.authenticated .process-brief-requirements {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
}

body.authenticated .process-brief-requirements strong {
  width: 100%;
  color: #10273d;
  font-size: 12px;
}

body.authenticated .process-brief-requirements span {
  padding: 5px 8px;
  color: #29455f;
  background: #edf2f7;
  border: 1px solid #c5d2df;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
}

body.authenticated #productDataFiles + small {
  display: block;
  margin-top: 7px;
  color: #526a80;
  font-size: 10px;
  line-height: 1.45;
}

body.authenticated .decision-data-contract {
  display: grid;
  gap: 5px;
  margin-bottom: 14px;
  padding: 13px 14px;
  color: #17324b;
  background: #eaf0fb;
  border-left: 3px solid #315fce;
}

body.authenticated .decision-data-contract strong { font-size: 12px; }

body.authenticated .decision-data-contract span {
  color: #435e77;
  font-size: 11px;
  line-height: 1.45;
}

body.authenticated .intake-evidence em {
  display: block;
  margin-top: 6px;
  color: #71849a;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

body.authenticated .intake-evidence.is-required em { color: #234fc8; }

body.authenticated .intake-output-strip > strong {
  flex: 0 0 100%;
  color: #10273d;
  font-size: 10px;
  text-transform: uppercase;
}

/* Equipment register: one selected engineering basis, then the complete register. */
body.authenticated #equipmentView.active {
  display: grid;
  grid-template-rows: max-content minmax(360px, 70vh);
  align-content: start;
  gap: 18px;
  padding: 0 !important;
  overflow: auto !important;
  background: #eef2f7 !important;
}

body.authenticated #equipmentProcurementBoard,
body.authenticated .equipment-procurement {
  min-width: 0;
}

body.authenticated .equipment-procurement {
  border: 1px solid #bac6d5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(7, 29, 51, .08);
}

body.authenticated .equipment-procurement-header {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding: 22px 24px;
  border-bottom: 1px solid #d6deea;
}

body.authenticated .equipment-procurement-header > div > span,
body.authenticated .equipment-spec-summary span,
body.authenticated .equipment-reference-options > span,
body.authenticated .equipment-spec-form label > span {
  color: #50647f;
  font-size: 9px;
  font-weight: 820;
  text-transform: uppercase;
}

body.authenticated .equipment-procurement-header h2 {
  margin: 4px 0 0;
  color: #071d33;
  font-size: 24px;
  line-height: 1.15;
}

body.authenticated .equipment-procurement-header p {
  max-width: 760px;
  margin: 7px 0 0;
  color: #435e77;
  font-size: 12px;
  line-height: 1.5;
}

body.authenticated .equipment-procurement-header dl {
  display: grid;
  grid-auto-flow: column;
  gap: 0;
  margin: 0;
  border: 1px solid #c8d2df;
  border-radius: 6px;
  overflow: hidden;
}

body.authenticated .equipment-procurement-header dl div {
  min-width: 96px;
  padding: 10px 12px;
  border-right: 1px solid #c8d2df;
}

body.authenticated .equipment-procurement-header dl div:last-child { border-right: 0; }
body.authenticated .equipment-procurement-header dt { color: #60758c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
body.authenticated .equipment-procurement-header dd { margin: 3px 0 0; color: #071d33; font-size: 12px; font-weight: 800; }

body.authenticated .equipment-spec-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid #d6deea;
  background: #f4f7fb;
}

body.authenticated .equipment-spec-summary > div {
  min-width: 0;
  padding: 16px 18px;
  border-right: 1px solid #d6deea;
}

body.authenticated .equipment-spec-summary > div:last-child { border-right: 0; }
body.authenticated .equipment-spec-summary strong { display: block; margin-top: 4px; color: #071d33; font-size: 13px; line-height: 1.3; }
body.authenticated .equipment-spec-summary p { margin: 4px 0 0; color: #50647f; font-size: 10px; line-height: 1.35; }

body.authenticated .equipment-reference-options {
  display: flex;
  gap: 8px;
  align-items: stretch;
  padding: 14px 18px;
  border-bottom: 1px solid #d6deea;
  overflow-x: auto;
}

body.authenticated .equipment-reference-options > span {
  display: grid;
  align-content: center;
  flex: 0 0 128px;
}

body.authenticated .equipment-reference-options button {
  display: grid;
  flex: 1 0 190px;
  gap: 2px;
  padding: 9px 11px;
  border: 1px solid #b9c5d4;
  border-radius: 6px;
  color: #071d33;
  background: #ffffff;
  text-align: left;
}

body.authenticated .equipment-reference-options button:hover,
body.authenticated .equipment-reference-options button:focus-visible {
  border-color: #244bc5;
  background: #edf2ff;
}

body.authenticated .equipment-reference-options button strong { font-size: 10px; }
body.authenticated .equipment-reference-options button small { color: #50647f; font-size: 9px; line-height: 1.3; }

body.authenticated .equipment-spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.authenticated .equipment-spec-grid fieldset {
  display: grid;
  min-width: 0;
  gap: 10px;
  margin: 0;
  padding: 20px 22px 24px;
  border: 0;
  border-right: 1px solid #d6deea;
  border-bottom: 1px solid #d6deea;
}

body.authenticated .equipment-spec-grid fieldset:nth-child(even) { border-right: 0; }
body.authenticated .equipment-spec-grid legend { padding: 0 0 12px; color: #173d9f; font-size: 10px; font-weight: 850; text-transform: uppercase; }
body.authenticated .equipment-spec-form label { display: grid; gap: 4px; min-width: 0; }

body.authenticated .equipment-spec-form :where(input, select, textarea) {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid #b9c5d4;
  border-radius: 5px;
  color: #071d33 !important;
  background: #ffffff !important;
  font: inherit;
  font-size: 11px;
}

body.authenticated .equipment-spec-form :where(input, select, textarea):focus {
  border-color: #244bc5;
  outline: 2px solid rgba(36, 75, 197, .16);
  outline-offset: 1px;
}

body.authenticated .equipment-cost-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

body.authenticated .equipment-notes textarea { resize: vertical; }
body.authenticated .equipment-source-link { width: fit-content; color: #173d9f; font-size: 11px; font-weight: 800; }

body.authenticated .equipment-spec-actions {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
}

body.authenticated .equipment-spec-actions p { max-width: 720px; margin: 0; color: #50647f; font-size: 10px; line-height: 1.45; }
body.authenticated .equipment-spec-actions > div { display: flex; gap: 8px; }
body.authenticated .equipment-spec-actions button { min-height: 38px; padding: 8px 14px; border: 1px solid #aebdcc; border-radius: 5px; color: #071d33; background: #ffffff; font-size: 10px; font-weight: 820; }
body.authenticated .equipment-spec-actions button.primary { border-color: #244bc5; color: #ffffff; background: #244bc5; }

body.authenticated .equipment-register-table {
  min-height: 360px;
  max-height: 70vh;
  overflow: auto;
  border: 1px solid #bac6d5;
  border-radius: 8px;
  background: #ffffff;
}

body.authenticated #equipmentView table { min-width: 1420px; }
body.authenticated #equipmentView thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: #071d33 !important;
  background: #dfe6ef !important;
  border-bottom: 1px solid #9eafc2;
}
body.authenticated #equipmentView .equipment-register-row { cursor: pointer; }
body.authenticated #equipmentView .equipment-register-row:hover td { background: #edf2ff !important; }
body.authenticated #equipmentView .equipment-register-row.is-selected td { background: #e4ebff !important; }
body.authenticated #equipmentView .equipment-register-row.is-selected td:first-child { box-shadow: inset 3px 0 #244bc5; }
body.authenticated #equipmentView td strong { display: block; max-width: 260px; overflow: hidden; color: #071d33; text-overflow: ellipsis; }
body.authenticated #equipmentView td small { max-width: 280px; color: #50647f !important; }

body.authenticated .equipment-tag-button {
  min-width: 76px;
  padding: 7px 9px;
  border: 1px solid #9badc1;
  border-radius: 5px;
  color: #173d9f;
  background: #ffffff;
  font-size: 10px;
  font-weight: 850;
}

body.authenticated .equipment-review-status {
  display: inline-flex;
  padding: 4px 7px;
  border-radius: 999px;
  color: #263b53;
  background: #e8edf4;
  font-size: 9px;
  font-weight: 800;
}

body.authenticated .equipment-review-status.status-engineering-reviewed,
body.authenticated .equipment-review-status.status-supplier-validated {
  color: #153b98;
  background: #dfe7ff;
}

@media (max-width: 1100px) {
  body.authenticated #workflowGuide .workflow-guide-summary {
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
  }

  body.authenticated #workflowGuide .workflow-guide-context {
    grid-column: 2;
    grid-row: 1;
  }

  body.authenticated #workflowGuide .workflow-guide-location {
    grid-column: 2 / 4;
    grid-row: 2;
    padding: 6px 0 0;
    border-top: 1px solid #d6deea;
    border-left: 0;
  }

  body.authenticated #workflowGuide .workflow-guide-toggle {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
  }

  body.authenticated #workflowGuide .workflow-guide-next-preview {
    display: none;
  }

  body.authenticated #flowsheetView .canvas-toolbar {
    grid-template-columns: minmax(210px, .9fr) minmax(0, 1.1fr) !important;
    grid-template-rows: auto auto !important;
  }

  body.authenticated #flowsheetView .canvas-tool-heading { display: none !important; }

  body.authenticated #flowsheetView .canvas-mode-switch {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.authenticated #flowsheetView .canvas-task-status {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.authenticated #flowsheetView .canvas-chemistry {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }

  body.authenticated #flowsheetView .canvas-health {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary {
    grid-template-columns: minmax(0, 1fr) !important;
    border-bottom: 1px solid #d5dee7 !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary > :where(strong, p, .canvas-health-meter) {
    grid-column: 1 !important;
  }

  body.authenticated #flowsheetView .canvas-health-stats {
    border-right: 0 !important;
    border-bottom: 1px solid #d5dee7 !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 10px 12px !important;
    border-top: 0 !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions button:last-child { grid-column: auto; }

  body.authenticated #workflowGuide .workflow-route-actions {
    grid-template-columns: 1fr 1fr;
  }

  body.authenticated #workflowGuide .workflow-route-actions > span { display: none; }
  body.authenticated #workflowGuide .workflow-route-actions > :where(button, span) { border-bottom: 0; }

  body.authenticated .equipment-procurement-header { grid-template-columns: 1fr; padding: 18px; }
  body.authenticated .equipment-procurement-header dl { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.authenticated .equipment-procurement-header dl div { min-width: 0; }
  body.authenticated .equipment-spec-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.authenticated .equipment-spec-summary > div:nth-child(2) { border-right: 0; }
  body.authenticated .equipment-spec-summary > div:nth-child(-n+2) { border-bottom: 1px solid #d6deea; }
  body.authenticated .equipment-spec-grid { grid-template-columns: 1fr; }
  body.authenticated .equipment-spec-grid fieldset { border-right: 0; }
  body.authenticated .equipment-spec-actions { align-items: stretch; flex-direction: column; }
  body.authenticated .equipment-spec-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  body.authenticated #equipmentView { gap: 12px; }
  body.authenticated .equipment-procurement-header { padding: 16px; }
  body.authenticated .equipment-procurement-header h2 { font-size: 20px; }
  body.authenticated .equipment-procurement-header dl { grid-template-columns: 1fr; }
  body.authenticated .equipment-procurement-header dl div { border-right: 0; border-bottom: 1px solid #c8d2df; }
  body.authenticated .equipment-procurement-header dl div:last-child { border-bottom: 0; }
  body.authenticated .equipment-spec-summary { grid-template-columns: 1fr; }
  body.authenticated .equipment-spec-summary > div { border-right: 0; border-bottom: 1px solid #d6deea; }
  body.authenticated .equipment-reference-options { align-items: stretch; flex-direction: column; overflow: visible; }
  body.authenticated .equipment-reference-options > span,
  body.authenticated .equipment-reference-options button { flex: auto; }
  body.authenticated .equipment-spec-grid fieldset { padding: 18px 16px; }
  body.authenticated .equipment-cost-fields { grid-template-columns: 1fr; }
  body.authenticated .equipment-spec-actions > div { grid-template-columns: 1fr; }
}

/* The sidebar communicates readiness, not a second route through the product. */
body.authenticated .sidebar-model-controls-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 11px 7px;
  border-top: 1px solid #29435d;
  color: #ffffff;
}

body.authenticated .sidebar-model-controls-heading strong {
  font-size: 10px;
  font-weight: 750;
  line-height: 1.2;
}

body.authenticated .sidebar-model-controls-heading small {
  color: #9eafc1;
  font-size: 8px;
  line-height: 1.2;
}

body.authenticated .suite-nav-group > summary {
  grid-template-rows: auto auto !important;
  min-height: 52px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

body.authenticated .suite-nav-group > summary > span { grid-row: 1 / 3 !important; }
body.authenticated .suite-nav-group > summary > strong { grid-column: 2 !important; grid-row: 1 !important; }

body.authenticated .suite-nav-group > summary > small {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #91a6bb !important;
  font-size: 9px !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.authenticated .suite-nav-group > summary::after { grid-row: 1 / 3 !important; }

body.authenticated .suite-nav-group.is-recommended {
  border-color: #4e71d7 !important;
  background: #102b49 !important;
}

body.authenticated .suite-nav-group.is-recommended > summary > small { color: #c8d6ff !important; }
body.authenticated .suite-nav-group[data-workflow-status="complete"] > summary > small { color: #aebfd1 !important; }

@media (max-width: 560px) {
  body.authenticated .suite-nav-group > summary {
    grid-template-rows: auto !important;
    min-height: 42px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.authenticated .suite-nav-group > summary > span,
  body.authenticated .suite-nav-group > summary > strong,
  body.authenticated .suite-nav-group > summary::after { grid-row: 1 !important; }
  body.authenticated .suite-nav-group > summary > small { display: none !important; }
  body.authenticated .sidebar-model-controls-heading { display: none !important; }
}

/* Final mobile workflow authority. The bundled brand stylesheet is emitted
   after axion-mobile.css, so keep the five-stage rail and its labels explicit
   here rather than allowing the desktop four-column grid to win. */
@media (max-width: 760px) {
  body.authenticated .sidebar .brand {
    width: calc(100% - 54px) !important;
    max-width: calc(100% - 54px) !important;
    min-height: 44px !important;
    height: 44px !important;
  }

  body.authenticated .suite-nav-group > summary,
  body.authenticated .suite-nav-group.is-current > summary,
  body.authenticated .suite-nav-group[open] > summary,
  body.authenticated .suite-nav-group:not(.is-current):not([open]) > summary {
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
  }

  body.authenticated .suite-nav {
    position: relative !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: 40px 0 !important;
    gap: 4px 3px !important;
    padding-bottom: 43px !important;
  }

  body.authenticated .suite-nav-group > div,
  body.authenticated .suite-nav-group.is-current > div,
  body.authenticated .suite-nav-group[open] > div {
    grid-row: auto !important;
    top: 44px !important;
  }

  body.authenticated .suite-nav-group.is-current > summary > small,
  body.authenticated .suite-nav-group[open] > summary > small {
    display: none !important;
  }

  body.authenticated .suite-nav-group > summary strong,
  body.authenticated .suite-nav-group.is-current > summary strong,
  body.authenticated .suite-nav-group[open] > summary strong {
    min-width: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.authenticated .sidebar > .help-dock,
  body.authenticated .sidebar > .help-dock.open,
  body.authenticated .sidebar > .help-dock:not(.open) {
    position: absolute !important;
    top: 8px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    pointer-events: none !important;
  }

  body.authenticated .sidebar > .help-dock .help-toggle {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    pointer-events: auto !important;
  }

  body.authenticated .sidebar > .help-dock .help-toggle .help-logo {
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
  }

  body.authenticated .sidebar > .help-dock .help-panel {
    pointer-events: auto !important;
  }
}

/* Canvas-first workflow: topology is a compact gate; the editable plant is the primary surface. */
@media (min-width: 761px) {
  body.authenticated #flowsheetView .canvas-frame {
    min-height: 1080px !important;
    grid-template-rows: auto auto minmax(650px, 1fr) minmax(100px, auto) auto auto !important;
  }

  body.authenticated #flowsheetView .builder-library { grid-row: 1 / 6 !important; }
  body.authenticated #flowsheetView .canvas-toolbar { grid-row: 1 !important; }
  body.authenticated #flowsheetView .canvas-health {
    grid-row: 2 !important;
    min-height: 76px !important;
    grid-template-columns: minmax(230px, 1fr) auto minmax(260px, auto) !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary {
    min-height: 76px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: center !important;
    padding: 10px 14px !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary > p { display: none !important; }
  body.authenticated #flowsheetView .canvas-health-summary > :where(span, strong, .canvas-health-meter) {
    grid-column: 1 !important;
  }

  body.authenticated #flowsheetView .canvas-health-stats {
    min-height: 76px !important;
    padding: 8px 12px !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions {
    min-height: 76px !important;
    grid-template-columns: repeat(2, minmax(110px, 1fr)) !important;
    align-content: center !important;
    padding: 8px 12px !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions button:last-child { grid-column: 1 / -1 !important; }
  body.authenticated #flowsheetView .flowsheet-canvas { grid-row: 3 !important; }
  body.authenticated #flowsheetView .canvas-workbench { grid-row: 4 !important; }
  body.authenticated #flowsheetView .canvas-options { grid-row: 5 !important; }
  body.authenticated #flowsheetView .equation-spotlight { grid-row: 6 !important; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  body.authenticated .topbar {
    height: auto !important;
    min-height: 0 !important;
    grid-template-rows: auto auto !important;
  }

  body.authenticated #flowsheetView .canvas-health {
    grid-template-columns: minmax(0, 1fr) minmax(180px, auto) !important;
  }

  body.authenticated #flowsheetView .canvas-health-summary,
  body.authenticated #flowsheetView .canvas-health-stats {
    min-height: 68px !important;
    border-bottom: 0 !important;
  }

  body.authenticated #flowsheetView .canvas-health-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(54px, 1fr)) !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions {
    grid-column: 1 / -1 !important;
    min-height: 44px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 6px 10px !important;
    border-top: 1px solid #d5dee7 !important;
  }

  body.authenticated #flowsheetView .canvas-health-actions button:last-child { grid-column: auto !important; }
}

@media (max-width: 760px) {
  body.authenticated #flowsheetView .canvas-toolbar {
    order: 1 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 6px !important;
    padding: 8px !important;
  }

  body.authenticated #flowsheetView .canvas-toolbar > * {
    grid-column: 1 !important;
    grid-row: auto !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.authenticated #flowsheetView .canvas-mode-switch {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  body.authenticated #flowsheetView .canvas-mode-switch .tool {
    min-height: 54px !important;
    height: auto !important;
    align-content: center !important;
    padding: 8px 10px !important;
  }

  body.authenticated #flowsheetView .canvas-mode-switch .tool b { font-size: 10px !important; }
  body.authenticated #flowsheetView .canvas-mode-switch .tool span { font-size: 8px !important; line-height: 1.25 !important; }

  body.authenticated #flowsheetView .canvas-task-status {
    min-height: 46px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    padding: 8px 10px !important;
  }

  body.authenticated #flowsheetView .canvas-task-status > span { display: none !important; }
  body.authenticated #flowsheetView #modeHint {
    grid-column: 1 !important;
    display: -webkit-box !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body.authenticated #flowsheetView #editSelected {
    grid-column: 2 !important;
    min-width: 88px !important;
    min-height: 34px !important;
  }

  body.authenticated #flowsheetView .canvas-chemistry {
    min-height: 34px !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 3px !important;
    padding: 8px 10px !important;
  }

  body.authenticated #flowsheetView .canvas-chemistry strong {
    overflow: visible !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body.authenticated #flowsheetView .flowsheet-canvas { order: 2 !important; }
  body.authenticated #flowsheetView .canvas-health { order: 3 !important; }

  body.authenticated .workspace > .kpi-strip {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 8px !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.authenticated .workspace > .kpi-strip article {
    min-width: 0 !important;
    width: auto !important;
    min-height: 72px !important;
    padding: 10px !important;
  }

  body.authenticated .workspace > .kpi-strip article:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }

  body.authenticated .workspace > .kpi-strip article strong {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

  body.authenticated .suite-nav-group.is-current > div > .suite-link,
  body.authenticated .suite-nav-group.is-current > div > .suite-nav-more > summary {
    min-width: max-content !important;
    padding-right: 11px !important;
    padding-left: 11px !important;
  }

  body.authenticated .suite-nav-group.is-current > div > .suite-link.plan-locked {
    color: #c6d2df !important;
    -webkit-text-fill-color: #c6d2df !important;
    opacity: 1 !important;
  }
}

@media (max-width: 340px) {
  body.authenticated .workspace > .kpi-strip {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.authenticated .workspace > .kpi-strip article:last-child:nth-child(odd) {
    grid-column: 1 !important;
  }
}

/* 2026-08-30 public access and footer polish: compact, explicit and mobile-first. */
body.locked #loginPanel.public-login {
  gap: 28px !important;
  padding-top: 24px !important;
  padding-bottom: 52px !important;
}

body.locked #loginPanel > .access-heading:first-child {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.52fr) !important;
  align-items: end !important;
  max-width: 1240px !important;
  padding: 24px 0 28px !important;
  gap: 10px 44px !important;
  border: 0 !important;
  border-bottom: 1px solid #c8d3df !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.locked #loginPanel > .access-heading:first-child > p {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

body.locked #loginPanel > .access-heading:first-child > h1 {
  grid-column: 1 !important;
  max-width: 680px !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  line-height: 1.03 !important;
}

body.locked #loginPanel > .access-heading:first-child > span {
  grid-column: 2 !important;
  max-width: 430px !important;
  padding-bottom: 3px !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body.locked #loginPanel .access-panel {
  max-width: 1240px !important;
  gap: 20px !important;
}

body.locked .public-route-footer {
  grid-template-columns: minmax(260px, 1.35fr) minmax(150px, 0.55fr) minmax(150px, 0.55fr) minmax(210px, 0.72fr) !important;
  align-items: start !important;
  gap: 28px !important;
  margin-top: 32px !important;
  padding-top: 34px !important;
  padding-bottom: 34px !important;
  background: #0b2640 !important;
}

body.locked .public-route-footer .public-route-footer-meta {
  grid-column: 4 !important;
  display: grid !important;
  align-items: start !important;
  align-content: start !important;
  justify-content: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 12px !important;
  border-top: 0 !important;
}

body.locked .public-route-footer .public-route-footer-meta > nav {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 8px 14px !important;
}

@media (max-width: 900px) {
  body.locked .public-nav {
    position: sticky !important;
    top: 0 !important;
  }

  body.locked .public-scroll {
    padding-top: 0 !important;
  }

  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-heading:first-child {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }

  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-heading:first-child > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-heading:first-child > span {
    max-width: 620px !important;
  }

  body.locked .public-route-footer {
    grid-template-columns: minmax(0, 1fr) repeat(2, minmax(145px, 0.58fr)) !important;
  }

  body.locked .public-route-footer .public-route-footer-meta {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 16px !important;
    border-top: 1px solid #365068 !important;
  }
}

@media (max-width: 1100px) and (min-width: 901px) {
  body.locked #publicResources .resource-hero,
  body.locked .intent-page .intent-hero,
  body.locked #publicPilot .pilot-intro {
    grid-template-columns: 1fr !important;
  }

  body.locked #publicResources .resource-hero > figure,
  body.locked .intent-page .intent-hero > figure,
  body.locked #publicPilot .pilot-intro > figure {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
}

@media (max-width: 760px) {
  body.locked #loginPanel.public-login {
    gap: 16px !important;
    padding-top: 10px !important;
    padding-bottom: 32px !important;
  }

  body.locked #loginPanel > .access-heading:first-child {
    padding: 18px 0 20px !important;
  }

  body.locked #loginPanel > .access-heading:first-child > h1 {
    max-width: 16ch !important;
    font-size: clamp(31px, 9vw, 38px) !important;
    line-height: 1.04 !important;
  }

  body.locked #loginPanel > .access-heading:first-child > span {
    max-width: 38ch !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  body.locked #loginPanel .access-panel {
    gap: 12px !important;
  }

  body.locked #loginPanel :where(.access-card, .access-primary-card, .checkout-card) {
    padding: 20px 18px !important;
    border-radius: 16px !important;
  }

  html body.locked main.public-scroll .active-public-page nav.public-page-index,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 48px !important;
    margin: 0 0 28px !important;
    padding: 4px !important;
    gap: 4px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  html body.locked main.public-scroll .active-public-page > nav.public-page-index::-webkit-scrollbar,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index::-webkit-scrollbar { display: none; }

  html body.locked main.public-scroll .active-public-page > nav.public-page-index > strong,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > strong { display: none !important; }

  html body.locked main.public-scroll .active-public-page > nav.public-page-index > a,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: max-content !important;
    min-height: 40px !important;
    padding: 9px 12px !important;
    scroll-snap-align: start;
    white-space: nowrap !important;
  }

  html body.locked main.public-scroll .active-public-page nav.intent-page-index > a span {
    display: none !important;
  }

  body.locked #publicPlatform.active-public-page .product-page-index {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    overflow: visible !important;
  }

  body.locked #publicPlatform.active-public-page .product-page-index > a {
    min-width: 0 !important;
    white-space: normal !important;
  }

  body.locked #publicResources .resource-hero > figure,
  body.locked .intent-page .intent-hero > figure {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.locked #publicResources .resource-hero > figure > img,
  body.locked .intent-page .intent-hero > figure > img {
    width: 100% !important;
    max-width: 100% !important;
    object-fit: cover !important;
  }

  body.locked #publicResources .resource-hero > figure > figcaption,
  body.locked .intent-page .intent-hero > figure > figcaption {
    width: auto !important;
    max-width: calc(100% - 28px) !important;
  }

  body.locked #publicPilot .pilot-outcomes {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  body.locked #publicPilot .pilot-outcomes > article {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.locked #publicHome .pilot-mode-switch.pilot-view-switch {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  body.locked #publicHome .pilot-mode-switch.pilot-view-switch > button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.locked .public-route-footer {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
    margin-top: 0 !important;
    padding-top: 20px !important;
    padding-bottom: 18px !important;
  }

  body.locked .public-route-footer > div:first-child {
    grid-column: 1 / -1 !important;
    gap: 5px !important;
  }

  body.locked .public-route-footer > div:first-child span {
    max-width: 34ch !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  body.locked .public-route-footer > nav {
    grid-column: auto !important;
    gap: 5px !important;
  }

  body.locked .public-route-footer nav a {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.locked .public-route-footer .public-route-footer-meta {
    grid-column: auto !important;
    display: grid !important;
    align-items: start !important;
    align-content: start !important;
    justify-content: stretch !important;
    margin: 0 !important;
    padding-top: 0 !important;
    gap: 7px !important;
    border-top: 0 !important;
  }

  body.locked .public-route-footer .public-route-footer-meta > nav {
    display: grid !important;
    justify-content: stretch !important;
    gap: 5px !important;
  }

  body.locked #publicHome .editorial-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 24px 18px 22px !important;
    gap: 16px 20px !important;
  }

  body.locked #publicHome .editorial-footer-brand {
    grid-column: 1 / -1 !important;
  }

  body.locked #publicHome .editorial-footer nav:first-of-type {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) strong {
    grid-column: 1 / -1 !important;
  }

  body.locked #publicHome .editorial-footer nav:last-of-type {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer nav {
    align-content: start !important;
    gap: 5px 10px !important;
  }

  body.locked #publicHome .editorial-footer nav a {
    min-height: 0 !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
  }
}

@media (max-width: 380px) {
  body.locked .public-route-footer .public-route-footer-meta {
    grid-template-columns: 1fr !important;
  }

  body.locked .public-route-footer .public-route-footer-meta > nav {
    justify-content: flex-start !important;
    gap: 7px 12px !important;
  }
}

/* Final public-page alignment: stable geometry from desktop to narrow mobile. */
body.locked #publicHome .editorial-footer::before {
  display: none !important;
}

body.locked .public-route-footer::before {
  display: none !important;
}

@media (hover: hover) and (pointer: fine) {
  body.locked :where(.public-page-index, .intent-page-index) > a,
  body.locked :where(.public-cta, .editorial-button, .access-submit) {
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
  }

  body.locked :where(.public-page-index, .intent-page-index) > a:hover {
    transform: translateY(-1px);
  }
}

@media (max-width: 760px) {
  html body.locked main.public-scroll .active-public-page nav.public-page-index,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 24px !important;
    padding: 6px !important;
    gap: 4px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  html body.locked main.public-scroll .active-public-page nav.public-page-index > strong,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > strong {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    padding: 6px 8px 4px !important;
    color: #40566c !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  html body.locked main.public-scroll .active-public-page nav.public-page-index > a,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    padding: 9px 10px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body.locked main.public-scroll .active-public-page nav.intent-page-index > a span {
    display: none !important;
  }

  body.locked .public-breadcrumbs,
  body.locked .public-section.public-page:not(#publicHome) > .public-breadcrumbs {
    overflow: hidden !important;
  }

  body.locked .public-breadcrumbs > :last-child {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.locked .public-subpage-gallery,
  body.locked .public-subpage-gallery > figure,
  body.locked .public-subpage-gallery .public-photo-feature {
    min-height: 300px !important;
    height: auto !important;
    aspect-ratio: auto !important;
  }

  body.locked .public-subpage-gallery .public-photo-feature > img {
    min-height: 300px !important;
  }

  body.locked .public-subpage-gallery .public-photo-feature > figcaption {
    right: 18px !important;
    bottom: 18px !important;
    left: 18px !important;
    width: auto !important;
    max-width: none !important;
    padding: 18px !important;
    gap: 6px !important;
  }

  body.locked #publicHome .pilot-metrics strong {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body.locked #publicHome #pilotCost {
    font-size: clamp(18px, 5.4vw, 23px) !important;
    white-space: nowrap !important;
  }

  body.locked #publicHome .public-live-pilot {
    padding-bottom: 32px !important;
  }

  body.locked #publicHome #engineering-proof {
    margin-top: 32px !important;
    margin-bottom: 24px !important;
  }

  body.locked #publicHome #how-it-works {
    margin-top: 24px !important;
  }

  body.locked #publicPricing .pricing-faq .public-faq-list details > summary {
    padding: 16px 18px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 360px) {
  body.locked .public-subpage-gallery,
  body.locked .public-subpage-gallery > figure,
  body.locked .public-subpage-gallery .public-photo-feature,
  body.locked .public-subpage-gallery .public-photo-feature > img {
    min-height: 320px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.locked :where(.public-page-index, .intent-page-index) > a,
  body.locked :where(.public-cta, .editorial-button, .access-submit) {
    transition: none !important;
  }
}

/* Public-shell precision pass: one visible layer, one grid, no concealed workspace overflow. */
html:has(body.locked),
body.locked {
  width: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  background: #f4f7fb !important;
}

body.locked > .app-shell,
body.locked > .detail-drawer,
body.locked > .help-dock,
body.locked > .toast {
  display: none !important;
}

body.locked > .login-gate {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

body.locked .public-site {
  max-width: 100% !important;
  overflow-x: clip !important;
}

@media (min-width: 761px) and (max-width: 900px) {
  html body.locked main.public-scroll .active-public-page nav.public-page-index,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 6px !important;
    gap: 4px !important;
    overflow: visible !important;
  }

  html body.locked main.public-scroll #publicPlatform.active-public-page nav.product-page-index {
    position: static !important;
    top: auto !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
  }

  html body.locked main.public-scroll .active-public-page nav.public-page-index > strong,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > strong {
    display: block !important;
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 6px 8px 4px !important;
  }

  html body.locked main.public-scroll .active-public-page nav.public-page-index > a,
  html body.locked main.public-scroll .active-public-page nav.intent-page-index > a {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 42px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html body.locked main.public-scroll #publicPlatform.active-public-page nav.product-page-index > a {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }

  html body.locked main.public-scroll #publicResources.active-public-page .module-manual-library > header {
    grid-template-columns: 120px minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 20px !important;
  }

  html body.locked main.public-scroll #publicResources.active-public-page .module-manual-library > header > * {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
}

@media (max-width: 900px) {
  body.locked #publicHome .pilot-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.locked #publicHome .pilot-metrics article {
    min-width: 0 !important;
    border-bottom: 1px solid rgba(146, 172, 198, .18) !important;
  }

  body.locked #publicHome .pilot-metrics article:nth-child(2n) {
    border-right: 0 !important;
  }

  body.locked #publicHome .pilot-metrics article:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
  }
}

@media (max-width: 620px) {
  body.locked #publicHome .hero-proofline {
    display: none !important;
  }

  body.locked #publicHome .public-plant-hero-copy {
    min-height: 0 !important;
  }
}

/* Public alignment authority: fluid engineering grid and a compact, legible close. */
body.locked .public-site {
  --public-content-max: 1880px;
  --public-footer-paper: #e9eef4;
  --public-footer-line: #c5d0dc;
  --public-footer-ink: #071d33;
  --public-footer-muted: #40566c;
}

body.locked .public-section.public-page:not(#publicHome) > *,
body.locked .public-route-footer > * {
  max-width: var(--public-content-max) !important;
}

html body.locked main.public-scroll > #loginPanel.public-login.active-public-page {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

body.locked #loginPanel .access-panel {
  align-items: start !important;
}

body.locked #loginPanel > .access-heading:first-child,
body.locked #loginPanel .access-panel {
  width: min(var(--public-content-max), calc(100% - 64px)) !important;
  max-width: var(--public-content-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-panel {
  width: min(var(--public-content-max), calc(100% - 64px)) !important;
  max-width: var(--public-content-max) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.locked #loginPanel .access-panel > :where(.access-card, .checkout-unavailable) {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}

body.locked #loginPanel .checkout-unavailable {
  align-content: start !important;
  padding: 34px !important;
}

body.locked .public-route-footer {
  width: 100% !important;
  max-width: none !important;
  margin-top: 28px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: var(--clean-gutter, 56px) !important;
  padding-top: 28px !important;
  padding-bottom: 30px !important;
  padding-left: var(--clean-gutter, 56px) !important;
  color: var(--public-footer-ink) !important;
  background: var(--public-footer-paper) !important;
  border-top: 1px solid var(--public-footer-line) !important;
}

html body.locked main.public-scroll > footer.public-route-footer strong,
html body.locked main.public-scroll > footer.public-route-footer a {
  color: var(--public-footer-ink) !important;
  -webkit-text-fill-color: var(--public-footer-ink) !important;
}

html body.locked main.public-scroll > footer.public-route-footer span,
html body.locked main.public-scroll > footer.public-route-footer small {
  color: var(--public-footer-muted) !important;
  -webkit-text-fill-color: var(--public-footer-muted) !important;
}

body.locked .public-route-footer a:hover {
  color: #173ea8 !important;
  -webkit-text-fill-color: #173ea8 !important;
}

body.locked .public-route-footer .public-route-footer-meta {
  grid-template-columns: 1fr !important;
  padding-top: 14px !important;
  gap: 6px !important;
  border-top: 1px solid var(--public-footer-line) !important;
}

body.locked .public-route-footer .public-route-footer-meta > strong {
  display: block !important;
}

body.locked #publicHome #how-it-works {
  margin-bottom: 28px !important;
}

body.locked #publicHome .editorial-cta {
  margin-bottom: 0 !important;
  padding: 36px 40px !important;
  border-radius: 10px 10px 0 0 !important;
}

body.locked #publicHome .editorial-footer {
  margin-top: 0 !important;
  padding: 28px 40px 30px !important;
  color: var(--public-footer-ink) !important;
  background: var(--public-footer-paper) !important;
  border: 1px solid var(--public-footer-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 10px 10px !important;
}

html body.locked #publicHome .editorial-footer strong,
html body.locked #publicHome .editorial-footer a {
  color: var(--public-footer-ink) !important;
  -webkit-text-fill-color: var(--public-footer-ink) !important;
}

html body.locked #publicHome .editorial-footer span,
html body.locked #publicHome .editorial-footer small {
  color: var(--public-footer-muted) !important;
  -webkit-text-fill-color: var(--public-footer-muted) !important;
}

@media (min-width: 1280px) {
  body.locked #loginPanel .access-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 901px) and (max-width: 1279px) {
  body.locked #loginPanel .access-panel {
    grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr) !important;
  }
}

@media (max-width: 760px) {
  body.locked #loginPanel > .access-heading:first-child,
  body.locked #loginPanel .access-panel,
  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-panel {
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  body.locked .public-route-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 22px !important;
    margin-top: 20px !important;
    padding-top: 22px !important;
    padding-bottom: 24px !important;
  }

  body.locked .public-route-footer > div:first-child,
  body.locked .public-route-footer .public-route-footer-meta {
    grid-column: 1 / -1 !important;
  }

  body.locked .public-route-footer > nav {
    grid-column: auto !important;
  }

  body.locked .public-route-footer .public-route-footer-meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    padding-top: 14px !important;
    gap: 5px !important;
  }

  body.locked .public-route-footer .public-route-footer-meta > nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 6px 14px !important;
  }

  body.locked #publicHome #how-it-works {
    margin-bottom: 22px !important;
  }

  body.locked #publicHome .editorial-cta {
    padding: 28px 22px !important;
  }

  body.locked #publicHome .editorial-footer {
    padding: 24px 22px 26px !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 380px) {
  body.locked #publicHome .editorial-footer {
    grid-template-columns: 1fr !important;
  }

  body.locked #publicHome .editorial-footer :where(.editorial-footer-brand, nav) {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  body.locked .public-route-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    row-gap: 12px !important;
    column-gap: 16px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  body.locked .public-route-footer > nav {
    grid-column: auto !important;
    gap: 3px !important;
  }

  body.locked .public-route-footer > div:first-child {
    gap: 2px !important;
  }

  body.locked .public-route-footer > div:first-child span {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.locked .public-route-footer nav a {
    line-height: 1.25 !important;
  }

  body.locked .public-route-footer .public-route-footer-meta {
    padding-top: 10px !important;
    gap: 3px !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Engineering folio: real plant context with the model drafted in ink on paper. */
body.locked {
  --folio-paper: #f3f0e7;
  --folio-paper-raised: #faf7ee;
  --folio-ink: #0b2a49;
  --folio-blue: #3158d4;
  --folio-pencil: rgba(24, 59, 91, .16);
}

body.locked #publicHome .editorial-home {
  background:
    linear-gradient(rgba(29, 66, 97, .028) 1px, transparent 1px),
    var(--folio-paper) !important;
  background-size: 100% 28px !important;
}

body.locked #publicHome .public-plant-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: calc(100svh - 68px) !important;
}

body.locked #publicHome .public-plant-hero::after {
  background:
    linear-gradient(90deg, rgba(7, 19, 28, .96) 0%, rgba(7, 19, 28, .86) 43%, rgba(7, 19, 28, .34) 72%, rgba(7, 19, 28, .12) 100%),
    linear-gradient(0deg, rgba(7, 19, 28, .62), transparent 50%) !important;
}

body.locked #publicHome .public-plant-film-fallback {
  filter: saturate(.6) contrast(1.06) brightness(.82) !important;
}

body.locked #publicHome .public-plant-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  width: min(1880px, calc(100% - 112px)) !important;
  margin: 0 auto !important;
  padding: clamp(76px, 8vw, 126px) 0 118px !important;
}

body.locked #publicHome .public-plant-hero h1 {
  max-width: min(720px, 53vw) !important;
  font-size: clamp(48px, 4.4vw, 72px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}

body.locked #publicHome .public-plant-hero-copy > p {
  max-width: min(620px, 48vw) !important;
}

body.locked #publicHome .hero-engineering-folio {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  right: clamp(32px, 4vw, 72px) !important;
  width: min(42vw, 660px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--folio-ink) !important;
  background:
    linear-gradient(rgba(35, 70, 98, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35, 70, 98, .04) 1px, transparent 1px),
    var(--folio-paper-raised) !important;
  background-size: 100% 24px, 24px 100%, auto !important;
  border: 1px solid rgba(223, 215, 195, .9) !important;
  border-radius: 2px !important;
  box-shadow: 0 30px 70px rgba(3, 13, 22, .34), 0 2px 0 rgba(255, 255, 255, .8) inset !important;
  transform: translateY(-49%) rotate(-.35deg) !important;
}

body.locked #publicHome .hero-engineering-folio::after {
  position: absolute !important;
  right: 20px !important;
  bottom: 74px !important;
  width: 76px !important;
  height: 76px !important;
  border: 1px solid rgba(49, 88, 212, .42) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 5px rgba(49, 88, 212, .07) inset !important;
  transform: rotate(-8deg) !important;
  content: "7 / 7\A CHECKED" !important;
  color: rgba(49, 88, 212, .72) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: pre !important;
  display: grid !important;
  place-content: center !important;
}

body.locked #publicHome .hero-folio-head {
  display: flex !important;
  justify-content: space-between !important;
  padding: 17px 20px 13px !important;
  color: rgba(11, 42, 73, .72) !important;
  border-bottom: 1px solid rgba(24, 59, 91, .18) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .hero-engineering-folio svg {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 4px 12px 0 !important;
}

body.locked #publicHome .hero-engineering-folio svg :where(path, circle) {
  vector-effect: non-scaling-stroke !important;
}

body.locked #publicHome .folio-construction {
  fill: none !important;
  stroke: rgba(35, 70, 98, .10) !important;
  stroke-width: 1 !important;
  stroke-dasharray: 2 6 !important;
}

body.locked #publicHome .folio-flow {
  fill: none !important;
  stroke: #3158d4 !important;
  stroke-width: 1.8 !important;
  stroke-linecap: round !important;
}

body.locked #publicHome #folioArrow path {
  fill: #3158d4 !important;
}

body.locked #publicHome :where(.folio-unit, .folio-decision) > :where(path, circle) {
  fill: rgba(255, 255, 255, .28) !important;
  stroke: #173e68 !important;
  stroke-width: 1.55 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

body.locked #publicHome .hero-engineering-folio text {
  fill: rgba(11, 42, 73, .76) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
}

body.locked #publicHome .folio-annotations path {
  fill: none !important;
  stroke: rgba(49, 88, 212, .68) !important;
  stroke-width: 1.25 !important;
  stroke-linecap: round !important;
}

body.locked #publicHome .folio-annotations text {
  fill: rgba(49, 88, 212, .82) !important;
  font-family: "Manrope", Arial, sans-serif !important;
  font-size: 12px !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

body.locked #publicHome .hero-engineering-folio figcaption {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  padding: 14px 112px 18px 20px !important;
  gap: 12px !important;
  border-top: 1px solid rgba(24, 59, 91, .16) !important;
}

body.locked #publicHome .hero-engineering-folio figcaption span {
  color: rgba(11, 42, 73, .58) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 8px !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .hero-engineering-folio figcaption strong {
  max-width: 21ch !important;
  color: var(--folio-ink) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

body.locked #publicHome .public-film-status {
  display: none !important;
}

body.locked #publicHome :where(.public-decision-map, .editorial-workflow) {
  position: relative !important;
  background:
    linear-gradient(90deg, transparent 0, transparent 31px, rgba(49, 88, 212, .10) 32px, transparent 33px),
    linear-gradient(rgba(35, 70, 98, .035) 1px, transparent 1px),
    var(--folio-paper-raised) !important;
  background-size: 100% 100%, 100% 27px, auto !important;
  border-color: rgba(24, 59, 91, .18) !important;
  box-shadow: 0 18px 50px rgba(20, 43, 62, .06) !important;
}

body.locked #publicHome .public-decision-map {
  margin-top: 56px !important;
  margin-bottom: 72px !important;
  padding: 52px 44px 52px 64px !important;
  border: 1px solid rgba(24, 59, 91, .16) !important;
}

body.locked #publicHome .public-decision-map li {
  border-left-color: rgba(24, 59, 91, .18) !important;
}

body.locked #publicHome .public-live-pilot {
  padding: clamp(48px, 6vw, 86px) !important;
  background: #0a2137 !important;
  border-radius: 3px !important;
  box-shadow: 0 26px 70px rgba(7, 29, 51, .18) !important;
}

body.locked #publicHome .pilot-process-board {
  border-radius: 3px !important;
  box-shadow: 0 20px 54px rgba(0, 0, 0, .22) !important;
}

body.locked #publicHome .editorial-reference-proof {
  border-radius: 3px !important;
  box-shadow: 0 22px 58px rgba(7, 29, 51, .14) !important;
}

body.locked #publicHome .editorial-workflow {
  padding: 58px 46px 54px 66px !important;
  border: 1px solid rgba(24, 59, 91, .16) !important;
  border-radius: 2px !important;
}

body.locked #publicHome .editorial-workflow li > span,
body.locked #publicHome .public-decision-map li > span,
body.locked #publicHome .public-decision-map header > span {
  color: #3158d4 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-weight: 400 !important;
}

body.locked #publicHome .editorial-cta {
  border-radius: 3px 3px 0 0 !important;
}

@media (max-width: 1180px) {
  body.locked #publicHome .public-plant-hero h1 {
    max-width: 53vw !important;
    font-size: clamp(42px, 4.7vw, 58px) !important;
  }

  body.locked #publicHome .public-plant-hero-copy > p {
    max-width: 46vw !important;
    font-size: 14px !important;
  }

  body.locked #publicHome .hero-engineering-folio {
    width: 44vw !important;
  }
}

@media (max-width: 760px) {
  body.locked #publicHome .public-plant-hero {
    align-content: start !important;
    min-height: 0 !important;
    padding-bottom: 28px !important;
  }

  body.locked #publicHome .public-plant-hero-copy {
    width: 100% !important;
    min-height: calc(100svh - 64px) !important;
    padding: 54px 16px 96px !important;
  }

  body.locked #publicHome .public-plant-hero h1,
  body.locked #publicHome .public-plant-hero-copy > p {
    max-width: 100% !important;
  }

  body.locked #publicHome .hero-engineering-folio {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: calc(100% - 32px) !important;
    margin: -48px auto 16px !important;
    transform: rotate(-.25deg) !important;
  }

  body.locked #publicHome .hero-engineering-folio figcaption {
    padding-right: 96px !important;
  }

  body.locked #publicHome .public-decision-map {
    margin-top: 32px !important;
    margin-bottom: 40px !important;
    padding: 38px 18px 38px 32px !important;
  }

  body.locked #publicHome .public-live-pilot {
    padding: 42px 16px !important;
  }

  body.locked #publicHome .editorial-workflow {
    padding: 42px 18px 40px 32px !important;
  }
}
/* Acatian industrial world: the public site behaves like one calm engineering instrument. */
body.locked {
  --ax-world-night: #050f18;
  --ax-world-ink: #eef4f6;
  --ax-world-muted: #a9bac3;
  --ax-world-line: rgba(224, 237, 242, .18);
  --ax-world-blue: #6f8fff;
}

body.locked .public-nav {
  color: var(--ax-world-ink) !important;
  background: rgba(5, 15, 24, .96) !important;
  border-bottom-color: rgba(224, 237, 242, .14) !important;
}

body.locked .public-nav::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0, rgba(111, 143, 255, .72) 36%, rgba(224, 237, 242, .14) 72%, transparent 100%);
  content: "";
}

body.locked .public-nav :where(.public-brand, .public-nav-links a, .public-menu-toggle) {
  color: var(--ax-world-ink) !important;
  -webkit-text-fill-color: var(--ax-world-ink) !important;
}

body.locked .public-nav .public-brand img {
  filter: none !important;
}

body.locked .public-nav .public-nav-login {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  background: #eef4f6 !important;
  border-color: #eef4f6 !important;
}

body.locked #publicHome .public-plant-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center !important;
  min-height: calc(100svh - 68px) !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: var(--ax-world-night) !important;
}

body.locked #publicHome .public-plant-hero::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  background:
    linear-gradient(rgba(224, 237, 242, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(224, 237, 242, .055) 1px, transparent 1px);
  background-size: 96px 96px;
  mask-image: linear-gradient(90deg, #000 0, rgba(0,0,0,.7) 50%, transparent 88%);
  pointer-events: none;
  content: "";
}

body.locked #publicHome .public-plant-hero::after {
  z-index: -1 !important;
  background:
    linear-gradient(90deg, rgba(5, 15, 24, .99) 0%, rgba(5, 15, 24, .94) 35%, rgba(5, 15, 24, .56) 64%, rgba(5, 15, 24, .18) 100%),
    linear-gradient(0deg, rgba(5, 15, 24, .95) 0%, transparent 38%, rgba(5, 15, 24, .18) 100%) !important;
}

body.locked #publicHome .public-plant-film-fallback {
  z-index: -2 !important;
  object-position: 68% 52% !important;
  filter: saturate(.5) contrast(1.12) brightness(.64) !important;
}

body.locked #publicHome .public-plant-hero-copy {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  align-content: center !important;
  width: min(1880px, calc(100% - 112px)) !important;
  min-height: calc(100svh - 68px) !important;
  margin: 0 auto !important;
  padding: 76px 0 190px !important;
}

body.locked #publicHome .hero-model-state {
  display: flex !important;
  width: min(760px, 100%) !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding-bottom: 14px !important;
  color: #c4d1d7 !important;
  border-bottom: 1px solid var(--ax-world-line) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .hero-model-state span:last-child {
  color: #9db0ff !important;
}

body.locked #publicHome .public-plant-hero h1 {
  max-width: 980px !important;
  margin: 26px 0 0 !important;
  color: var(--ax-world-ink) !important;
  -webkit-text-fill-color: var(--ax-world-ink) !important;
  font-size: clamp(58px, 6.65vw, 112px) !important;
  font-weight: 600 !important;
  line-height: .91 !important;
  letter-spacing: -.055em !important;
  text-shadow: 0 16px 46px rgba(0, 0, 0, .34) !important;
}

body.locked #publicHome .public-plant-hero h1 span {
  color: rgba(238, 244, 246, .94) !important;
  -webkit-text-fill-color: rgba(238, 244, 246, .94) !important;
}

body.locked #publicHome .public-plant-hero-copy > p {
  max-width: 650px !important;
  margin: 30px 0 0 !important;
  color: #bdcbd1 !important;
  -webkit-text-fill-color: #bdcbd1 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .72) !important;
}

body.locked #publicHome .public-plant-hero-copy > p strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 600 !important;
}

body.locked #publicHome .editorial-intro-actions {
  margin-top: 30px !important;
}

body.locked #publicHome .public-plant-hero .public-primary {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  background: #eef4f6 !important;
  border-color: #eef4f6 !important;
}

body.locked #publicHome .public-plant-hero :where(.public-primary, .public-secondary) {
  min-height: 50px !important;
  padding: 0 22px !important;
  border-radius: 8px !important;
}

body.locked #publicHome .hero-process-trace {
  position: absolute !important;
  z-index: 3 !important;
  right: 56px !important;
  bottom: 54px !important;
  left: 56px !important;
  color: var(--ax-world-ink) !important;
  border-top: 1px solid var(--ax-world-line) !important;
}

body.locked #publicHome .hero-trace-heading {
  display: flex !important;
  justify-content: space-between !important;
  padding: 12px 0 14px !important;
  color: #aebec6 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .hero-trace-heading span:last-child {
  color: #9db0ff !important;
}

body.locked #publicHome .hero-process-trace ol {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.locked #publicHome .hero-process-trace li {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 2px 10px !important;
  min-width: 0 !important;
  padding: 14px 24px 0 0 !important;
  border-top: 1px solid rgba(224, 237, 242, .38) !important;
}

body.locked #publicHome .hero-process-trace li::before {
  position: absolute !important;
  top: -4px !important;
  left: 0 !important;
  width: 7px !important;
  height: 7px !important;
  background: var(--ax-world-blue) !important;
  border: 2px solid var(--ax-world-night) !important;
  border-radius: 50% !important;
  content: "" !important;
}

body.locked #publicHome .hero-process-trace li > span {
  grid-row: 1 / 3 !important;
  color: #778b95 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
}

body.locked #publicHome .hero-process-trace strong {
  color: #eef4f6 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body.locked #publicHome .hero-process-trace small {
  color: #93a5ae !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
}

body.locked #publicHome .public-film-status {
  top: 30px !important;
  right: 56px !important;
  bottom: auto !important;
  padding: 8px 10px !important;
  background: rgba(5, 15, 24, .46) !important;
  border-color: var(--ax-world-line) !important;
  border-radius: 6px !important;
}

body.locked #publicHome .public-film-status span {
  color: #d8e2e6 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
}

@media (max-width: 900px) {
  body.locked #publicHome .public-plant-hero-copy {
    width: calc(100% - 64px) !important;
    padding-bottom: 230px !important;
  }

  body.locked #publicHome .hero-process-trace {
    right: 32px !important;
    bottom: 38px !important;
    left: 32px !important;
  }

  body.locked #publicHome .hero-process-trace ol {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.locked #publicHome .hero-process-trace li:nth-child(n + 4) {
    display: none !important;
  }

  body.locked #publicHome .public-film-status {
    right: 32px !important;
  }
}

@media (max-width: 760px) {
  body.locked #publicHome .editorial-home {
    padding-bottom: 0 !important;
  }

  body.locked .public-nav nav.is-open .public-nav-links {
    background: #081827 !important;
    border-color: rgba(224, 237, 242, .18) !important;
  }

  body.locked #publicHome .public-plant-hero {
    min-height: calc(100svh - 64px) !important;
  }

  body.locked #publicHome .public-plant-hero::before {
    background-size: 64px 64px !important;
  }

  body.locked #publicHome .public-plant-film-fallback {
    object-position: 63% 50% !important;
    opacity: .68 !important;
  }

  body.locked #publicHome .public-plant-hero-copy {
    width: 100% !important;
    min-height: calc(100svh - 64px) !important;
    padding: 58px 16px 210px !important;
  }

  body.locked #publicHome .hero-model-state {
    display: grid !important;
    gap: 7px !important;
  }

  body.locked #publicHome .hero-model-state span:last-child {
    display: none !important;
  }

  body.locked #publicHome .public-plant-hero h1 {
    max-width: 10ch !important;
    margin-top: 22px !important;
    font-size: clamp(43px, 13.5vw, 64px) !important;
    line-height: .94 !important;
    letter-spacing: -.05em !important;
  }

  body.locked #publicHome .public-plant-hero-copy > p {
    max-width: 35ch !important;
    margin-top: 24px !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body.locked #publicHome .editorial-intro-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.locked #publicHome .public-plant-hero :where(.public-primary, .public-secondary) {
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
  }

  body.locked #publicHome .hero-process-trace {
    right: 16px !important;
    bottom: 28px !important;
    left: 16px !important;
  }

  body.locked #publicHome .hero-trace-heading {
    padding-top: 10px !important;
  }

  body.locked #publicHome .hero-trace-heading span:last-child,
  body.locked #publicHome .public-film-status {
    display: none !important;
  }

  body.locked #publicHome .hero-process-trace li {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    gap: 2px 6px !important;
    padding-right: 8px !important;
  }

  body.locked #publicHome .hero-process-trace strong {
    font-size: 10px !important;
  }

  body.locked #publicHome .hero-process-trace small {
    font-size: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.locked #publicHome .public-plant-hero *,
  body.locked #publicHome .public-plant-hero *::before,
  body.locked #publicHome .public-plant-hero *::after {
    animation: none !important;
    transition: none !important;
  }
}

body.locked #publicHome .editorial-home {
  color: #102033 !important;
  background: #eef2f1 !important;
}

body.locked #publicHome .public-decision-map {
  display: grid !important;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.42fr) !important;
  width: min(1880px, calc(100% - 112px)) !important;
  margin: 0 auto !important;
  padding: clamp(88px, 9vw, 156px) 0 !important;
  gap: clamp(52px, 7vw, 128px) !important;
  border: 0 !important;
  background: transparent !important;
}

body.locked #publicHome .public-decision-map header {
  align-self: start !important;
}

body.locked #publicHome .public-decision-map header > span,
body.locked #publicHome .public-decision-map li > span {
  color: #3158d4 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: .08em !important;
}

body.locked #publicHome .public-decision-map h2 {
  max-width: 11.5ch !important;
  margin: 22px 0 0 !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(44px, 4.8vw, 78px) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

body.locked #publicHome .public-decision-map ol {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: end !important;
  border-top: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .public-decision-map li {
  min-height: 220px !important;
  padding: 26px 34px 34px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .public-decision-map li:nth-child(odd) {
  padding-right: 42px !important;
}

body.locked #publicHome .public-decision-map li:nth-child(even) {
  padding-left: 42px !important;
  border-left: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .public-decision-map strong {
  max-width: 17ch !important;
  margin-top: 34px !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(20px, 1.8vw, 29px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

body.locked #publicHome .public-decision-map p {
  max-width: 40ch !important;
  margin-top: 12px !important;
  color: #4e626c !important;
  -webkit-text-fill-color: #4e626c !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body.locked #publicHome .public-live-pilot {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(88px, 8vw, 132px) 56px !important;
  color: #eef4f6 !important;
  background: #07131c !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.locked #publicHome .public-live-pilot > header,
body.locked #publicHome .public-live-pilot > .pilot-mode-switch,
body.locked #publicHome .public-live-pilot > .pilot-process-board,
body.locked #publicHome .public-live-pilot > footer {
  width: min(1768px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.locked #publicHome .public-live-pilot > header {
  display: grid !important;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .65fr) !important;
  align-items: end !important;
  padding: 0 0 54px !important;
  gap: 48px !important;
  border-bottom: 1px solid var(--ax-world-line) !important;
}

body.locked #publicHome .public-live-pilot > header span {
  color: #91a8ff !important;
  -webkit-text-fill-color: #91a8ff !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .public-live-pilot > header h2 {
  max-width: 12ch !important;
  margin: 20px 0 0 !important;
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
  font-size: clamp(48px, 5.1vw, 82px) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

body.locked #publicHome .public-live-pilot > header > p {
  max-width: 47ch !important;
  margin: 0 !important;
  color: #aebfc6 !important;
  -webkit-text-fill-color: #aebfc6 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.locked #publicHome .pilot-mode-switch.pilot-view-switch {
  display: flex !important;
  justify-content: flex-start !important;
  margin-top: 26px !important;
  padding: 0 !important;
  gap: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ax-world-line) !important;
  border-radius: 0 !important;
}

body.locked #publicHome .pilot-mode-switch.pilot-view-switch button {
  min-height: 48px !important;
  padding: 0 22px !important;
  color: #879ba4 !important;
  -webkit-text-fill-color: #879ba4 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
}

body.locked #publicHome .pilot-mode-switch.pilot-view-switch button.active {
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
  border-bottom-color: #6f8fff !important;
}

body.locked #publicHome .pilot-process-board {
  margin-top: 26px !important;
  overflow: hidden !important;
  background: #0b1d2a !important;
  border: 1px solid rgba(224, 237, 242, .22) !important;
  border-radius: 10px !important;
  box-shadow: 0 36px 90px rgba(0, 0, 0, .32) !important;
}

body.locked #publicHome .pilot-board-head {
  min-height: 46px !important;
  color: #aebfc6 !important;
  background: #091822 !important;
  border-bottom-color: var(--ax-world-line) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
}

body.locked #publicHome .pilot-real-workspace {
  background: #0b1d2a !important;
}

body.locked #publicHome .pilot-real-screen {
  border-color: rgba(224, 237, 242, .15) !important;
  border-radius: 0 !important;
}

body.locked #publicHome .pilot-real-screen-stage img {
  filter: saturate(.88) contrast(1.03) !important;
}

body.locked #publicHome .pilot-real-screen figcaption,
body.locked #publicHome .pilot-real-inspector {
  color: #b5c4ca !important;
  background: #0b1d2a !important;
  border-color: var(--ax-world-line) !important;
}

body.locked #publicHome .pilot-real-screen figcaption strong,
body.locked #publicHome .pilot-real-inspector h3,
body.locked #publicHome .pilot-real-inspector dd {
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
}

body.locked #publicHome .pilot-real-inspector > span,
body.locked #publicHome .pilot-real-inspector dt {
  color: #91a8ff !important;
  -webkit-text-fill-color: #91a8ff !important;
}

body.locked #publicHome .pilot-metrics {
  background: #091822 !important;
  border-top-color: var(--ax-world-line) !important;
}

body.locked #publicHome .pilot-metrics article {
  border-right-color: var(--ax-world-line) !important;
}

body.locked #publicHome .pilot-metrics :where(span, small) {
  color: #91a5ae !important;
  -webkit-text-fill-color: #91a5ae !important;
}

body.locked #publicHome .pilot-metrics strong {
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
}

body.locked #publicHome .public-live-pilot > footer {
  margin-top: 28px !important;
  color: #91a5ae !important;
  border-top-color: var(--ax-world-line) !important;
}

body.locked #publicHome .public-live-pilot > footer .public-secondary {
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
  border-color: rgba(238, 244, 246, .34) !important;
}

body.locked #publicHome .editorial-reference-proof {
  display: grid !important;
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr) !important;
  width: min(1768px, calc(100% - 112px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: clamp(92px, 9vw, 156px) 0 !important;
  gap: clamp(56px, 8vw, 144px) !important;
  color: #071d33 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.locked #publicHome .editorial-reference-proof > div > p {
  color: #3158d4 !important;
  -webkit-text-fill-color: #3158d4 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .editorial-reference-proof h2 {
  max-width: 11ch !important;
  margin: 22px 0 26px !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(44px, 4.7vw, 74px) !important;
  font-weight: 600 !important;
  line-height: .99 !important;
  letter-spacing: -.045em !important;
}

body.locked #publicHome .editorial-reference-proof > div > span {
  max-width: 52ch !important;
  color: #526771 !important;
  -webkit-text-fill-color: #526771 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.locked #publicHome .editorial-reference-proof > div > a {
  display: inline-flex !important;
  margin-top: 30px !important;
  padding-bottom: 5px !important;
  color: #173ea8 !important;
  -webkit-text-fill-color: #173ea8 !important;
  border-bottom: 1px solid #3158d4 !important;
}

body.locked #publicHome .editorial-reference-proof dl {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: end !important;
  margin: 0 !important;
  border-top: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .editorial-reference-proof dl > div {
  min-height: 150px !important;
  padding: 24px 28px 24px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .editorial-reference-proof dl > div:nth-child(even) {
  padding-left: 28px !important;
  border-left: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .editorial-reference-proof dt {
  color: #667b85 !important;
  -webkit-text-fill-color: #667b85 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .editorial-reference-proof dd {
  margin-top: 22px !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(24px, 2.3vw, 38px) !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

body.locked #publicHome .editorial-workflow {
  width: min(1768px, calc(100% - 112px)) !important;
  max-width: none !important;
  margin: 0 auto clamp(72px, 8vw, 128px) !important;
  padding: clamp(70px, 7vw, 108px) 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #b9c5c9 !important;
  background: transparent !important;
}

body.locked #publicHome .editorial-workflow > header {
  display: grid !important;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .6fr) !important;
  align-items: end !important;
  gap: 64px !important;
}

body.locked #publicHome .editorial-workflow > header h2 {
  max-width: 13ch !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(42px, 4.5vw, 72px) !important;
  font-weight: 600 !important;
  line-height: .99 !important;
  letter-spacing: -.045em !important;
}

body.locked #publicHome .editorial-workflow > header > span {
  max-width: 45ch !important;
  color: #526771 !important;
  -webkit-text-fill-color: #526771 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.locked #publicHome .editorial-workflow ol {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 64px !important;
  border-top: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .editorial-workflow li {
  min-height: 250px !important;
  padding: 28px 34px 40px 0 !important;
  border: 0 !important;
  border-right: 1px solid #b9c5c9 !important;
}

body.locked #publicHome .editorial-workflow li + li {
  padding-left: 34px !important;
}

body.locked #publicHome .editorial-workflow li:last-child {
  border-right: 0 !important;
}

body.locked #publicHome .editorial-workflow li > span {
  color: #3158d4 !important;
  -webkit-text-fill-color: #3158d4 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
}

body.locked #publicHome .editorial-workflow h3 {
  margin-top: 54px !important;
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(20px, 1.8vw, 28px) !important;
  line-height: 1.12 !important;
}

body.locked #publicHome .editorial-workflow li p {
  margin-top: 12px !important;
  color: #526771 !important;
  -webkit-text-fill-color: #526771 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

body.locked #publicHome .editorial-cta {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(82px, 8vw, 132px) 56px !important;
  gap: 64px !important;
  color: #eef4f6 !important;
  background: #3158d4 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.locked #publicHome .editorial-cta > div:first-child {
  width: min(1120px, 100%) !important;
}

body.locked #publicHome .editorial-cta p {
  color: #ced8ff !important;
  -webkit-text-fill-color: #ced8ff !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .editorial-cta h2 {
  max-width: 11ch !important;
  margin: 22px 0 24px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(52px, 6.3vw, 102px) !important;
  font-weight: 600 !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
}

body.locked #publicHome .editorial-cta span {
  max-width: 52ch !important;
  color: #dce3ff !important;
  -webkit-text-fill-color: #dce3ff !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

body.locked #publicHome .editorial-cta-actions {
  align-self: end !important;
  justify-self: end !important;
}

body.locked #publicHome .editorial-cta .public-primary {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  background: #ffffff !important;
  border-color: #ffffff !important;
}

body.locked #publicHome .editorial-cta .public-secondary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, .42) !important;
}

body.locked #publicHome .editorial-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 58px 56px !important;
  color: #eef4f6 !important;
  background: #050f18 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

html body.locked #publicHome .editorial-footer strong,
html body.locked #publicHome .editorial-footer a {
  color: #eef4f6 !important;
  -webkit-text-fill-color: #eef4f6 !important;
}

html body.locked #publicHome .editorial-footer :where(span, small) {
  color: #8da0aa !important;
  -webkit-text-fill-color: #8da0aa !important;
}

body.locked .public-section.public-page:not(#publicHome) {
  background: #eef2f1 !important;
}

body.locked .public-section.public-page:not(#publicHome) > .section-heading:first-child {
  padding-top: clamp(56px, 7vw, 104px) !important;
  padding-bottom: clamp(42px, 5vw, 76px) !important;
  border-bottom-color: #b9c5c9 !important;
}

body.locked .public-section.public-page:not(#publicHome) > .section-heading:first-child h1 {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
  font-size: clamp(46px, 5.4vw, 86px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

@media (max-width: 900px) {
  body.locked #publicHome .public-decision-map,
  body.locked #publicHome .editorial-reference-proof {
    grid-template-columns: 1fr !important;
  }

  body.locked #publicHome .public-live-pilot > header,
  body.locked #publicHome .editorial-workflow > header,
  body.locked #publicHome .editorial-cta {
    grid-template-columns: 1fr !important;
  }

  body.locked #publicHome .editorial-cta-actions {
    justify-self: start !important;
  }
}

@media (max-width: 760px) {
  body.locked #publicHome .public-decision-map,
  body.locked #publicHome .editorial-reference-proof,
  body.locked #publicHome .editorial-workflow {
    width: 100% !important;
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.locked #publicHome .public-decision-map {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    gap: 48px !important;
  }

  body.locked #publicHome .public-decision-map h2,
  body.locked #publicHome .editorial-reference-proof h2,
  body.locked #publicHome .editorial-workflow > header h2 {
    font-size: clamp(38px, 11vw, 50px) !important;
  }

  body.locked #publicHome .public-decision-map ol,
  body.locked #publicHome .editorial-reference-proof dl,
  body.locked #publicHome .editorial-workflow ol {
    grid-template-columns: 1fr !important;
  }

  body.locked #publicHome .public-decision-map li,
  body.locked #publicHome .public-decision-map li:nth-child(odd),
  body.locked #publicHome .public-decision-map li:nth-child(even) {
    min-height: 0 !important;
    padding: 22px 0 30px !important;
    border-left: 0 !important;
  }

  body.locked #publicHome .public-decision-map strong {
    margin-top: 26px !important;
  }

  body.locked #publicHome .public-live-pilot {
    padding: 72px 16px !important;
  }

  body.locked #publicHome .public-live-pilot > header {
    padding-bottom: 38px !important;
    gap: 28px !important;
  }

  body.locked #publicHome .public-live-pilot > header h2 {
    font-size: clamp(40px, 12vw, 54px) !important;
  }

  body.locked #publicHome .pilot-mode-switch.pilot-view-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    border-bottom: 0 !important;
  }

  body.locked #publicHome .pilot-mode-switch.pilot-view-switch button {
    padding: 0 8px !important;
    border-bottom: 1px solid var(--ax-world-line) !important;
  }

  body.locked #publicHome .editorial-reference-proof {
    padding-top: 76px !important;
    padding-bottom: 76px !important;
    gap: 52px !important;
  }

  body.locked #publicHome .editorial-reference-proof dl > div,
  body.locked #publicHome .editorial-reference-proof dl > div:nth-child(even) {
    min-height: 120px !important;
    padding: 22px 0 !important;
    border-left: 0 !important;
  }

  body.locked #publicHome .editorial-workflow {
    margin-bottom: 72px !important;
    padding-top: 60px !important;
  }

  body.locked #publicHome .editorial-workflow > header {
    gap: 28px !important;
  }

  body.locked #publicHome .editorial-workflow ol {
    margin-top: 46px !important;
  }

  body.locked #publicHome .editorial-workflow li,
  body.locked #publicHome .editorial-workflow li + li {
    min-height: 0 !important;
    padding: 24px 0 32px !important;
    border-right: 0 !important;
    border-bottom: 1px solid #b9c5c9 !important;
  }

  body.locked #publicHome .editorial-workflow h3 {
    margin-top: 30px !important;
  }

  body.locked #publicHome .editorial-cta {
    padding: 72px 16px !important;
    gap: 42px !important;
  }

  body.locked #publicHome .editorial-cta h2 {
    font-size: clamp(48px, 15vw, 68px) !important;
  }

  body.locked #publicHome .editorial-cta-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  body.locked #publicHome .editorial-cta-actions a {
    width: 100% !important;
  }

  body.locked #publicHome .editorial-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 16px 16px 18px !important;
    gap: 12px 18px !important;
  }

  body.locked #publicHome .editorial-footer .editorial-footer-brand {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body.locked #publicHome .editorial-footer nav:first-of-type {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer nav:last-of-type {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px 12px !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) strong {
    grid-column: 1 / -1 !important;
  }

  body.locked #publicHome .editorial-footer nav {
    align-content: start !important;
    gap: 4px 12px !important;
  }

  body.locked #publicHome .editorial-footer nav a {
    min-height: 22px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 340px) {
  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile hero closure: content starts below the fixed navigation without overlap. */
@media (max-width: 760px) {
  body.locked #publicHome .public-plant-hero {
    align-content: start !important;
  }

  body.locked #publicHome .public-plant-hero-copy {
    align-content: start !important;
    min-height: calc(100svh - 68px) !important;
    padding: 38px 16px 34px !important;
  }

  body.locked #publicHome .public-hero-kicker {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    line-height: 1.45 !important;
  }
}

/* Final public geometry closure: viewport-safe navigation, readable proof, compact footer. */
body.locked #publicHome .pilot-real-screen figcaption span,
body.locked #publicHome .pilot-real-inspector p {
  color: #c4d2d9 !important;
  -webkit-text-fill-color: #c4d2d9 !important;
}

body.locked #publicHome .public-live-pilot > footer > span {
  color: #b9c9d0 !important;
  -webkit-text-fill-color: #b9c9d0 !important;
}

body.locked #publicHome .public-live-pilot > footer .public-secondary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: #102d48 !important;
  border-color: #46637b !important;
}

body.locked #publicHome .editorial-footer {
  align-items: start !important;
  align-content: start !important;
  padding: 34px clamp(28px, 4vw, 56px) !important;
  gap: 24px !important;
  background: #071d33 !important;
}

body.locked #publicHome .editorial-footer :where(.editorial-footer-brand, nav) {
  min-width: 0 !important;
  align-self: start !important;
}

body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px 16px !important;
}

body.locked #publicHome .editorial-footer nav:nth-of-type(2) > strong {
  grid-column: 1 / -1 !important;
}

@media (min-width: 901px) {
  body.locked #publicHome .editorial-footer {
    grid-template-columns: minmax(260px, 1.55fr) minmax(110px, .55fr) minmax(280px, 1.2fr) minmax(130px, .65fr) !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  body.locked #loginPanel > .access-heading:first-child,
  body.locked #loginPanel .access-panel,
  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-panel {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-right: 32px !important;
    margin-left: 32px !important;
  }

  body.locked #loginPanel .access-panel,
  html body.locked main.public-scroll > #loginPanel.public-login.active-public-page > .access-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  html body.locked main.public-scroll > section#loginPanel.public-section.public-login.public-page.active-public-page > div.access-panel {
    display: flex !important;
    width: calc(100% - 64px) !important;
    max-width: none !important;
    flex-direction: column !important;
    margin-right: 32px !important;
    margin-left: 32px !important;
    gap: 20px !important;
  }

  body.locked #loginPanel .access-card,
  html body.locked main.public-scroll > section#loginPanel.public-section.public-login.public-page.active-public-page > div.access-panel > :where(#loginForm, #checkoutForm) {
    position: relative !important;
    grid-area: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.locked #publicHome .editorial-footer {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .62fr) minmax(0, 1fr) minmax(0, .62fr) !important;
    padding: 28px 32px !important;
    gap: 18px !important;
  }

  body.locked #publicHome .editorial-footer nav a {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 760px) {
  html body.locked.public-menu-open .public-nav > nav > .public-nav-links,
  body.locked .public-nav nav.is-open .public-nav-links {
    position: absolute !important;
    inset: auto !important;
    top: 100% !important;
    right: auto !important;
    bottom: auto !important;
    left: calc(-1 * var(--ax-mobile-gutter)) !important;
    box-sizing: border-box !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100svh - 64px) !important;
    max-height: none !important;
    padding: 18px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.locked .public-nav .public-menu-toggle,
  body.locked .public-nav nav.is-open .public-menu-toggle {
    color: #eef4f6 !important;
    -webkit-text-fill-color: #eef4f6 !important;
    background: #102438 !important;
    border-color: #466079 !important;
  }

  body.locked #publicHome .editorial-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 16px 16px 18px !important;
    gap: 12px 18px !important;
    background: #071d33 !important;
  }

  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 4px 12px !important;
  }
}

@media (max-width: 340px) {
  body.locked #publicHome .editorial-footer nav:nth-of-type(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Final public viewport contract. Keep this last so legacy layers cannot restore overlays. */
body.locked :where(
  #detailDrawer,
  #helpDock,
  #trialStatusBanner,
  .toast,
  .canvas-context-panel,
  .canvas-focus-exit
) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.locked :where(#publicHome .editorial-footer, .public-route-footer) {
  position: static !important;
  inset: auto !important;
  min-height: 0 !important;
  transform: none !important;
}

body.locked #publicHome .editorial-footer {
  color: #071d33 !important;
  background: #e9eef4 !important;
  border-top: 1px solid #c7d1db !important;
  box-shadow: none !important;
}

html body.locked section#loginGate section#publicHome footer.editorial-footer::before {
  display: none !important;
  content: none !important;
}

html body.locked section#loginGate section#publicHome footer.editorial-footer :where(strong, a) {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
}

html body.locked section#loginGate section#publicHome footer.editorial-footer :where(span, small, p) {
  color: #42576c !important;
  -webkit-text-fill-color: #42576c !important;
}

body.locked #publicHome .editorial-footer :where(strong, a) {
  color: #071d33 !important;
  -webkit-text-fill-color: #071d33 !important;
}

body.locked #publicHome .editorial-footer :where(span, small, p) {
  color: #42576c !important;
  -webkit-text-fill-color: #42576c !important;
}

html body.locked #publicHome footer.editorial-footer .editorial-footer-brand span {
  color: #42576c !important;
  -webkit-text-fill-color: #42576c !important;
}

body.locked #publicHome .editorial-footer a:hover,
body.locked #publicHome .editorial-footer a:focus-visible {
  color: #244fc7 !important;
  -webkit-text-fill-color: #244fc7 !important;
}

@media (max-width: 760px) {
  body.locked :where(.public-page-index, .intent-page-index, .technical-guide-toc),
  body.locked :where(.public-page-index, .intent-page-index, .technical-guide-toc) > strong {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
  }

  body.locked #publicPlatform .product-benefit-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.locked #publicPlatform nav.product-page-index,
  html body.locked #publicPlatform nav.product-page-index > strong {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
  }

  html body.locked #publicPlatform section.product-benefit-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.locked #publicHome .editorial-footer {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 22px 16px 24px !important;
    gap: 16px 12px !important;
    background: #e9eef4 !important;
  }

  body.locked #publicHome .editorial-footer .editorial-footer-brand {
    display: grid !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
  }

  body.locked #publicHome .editorial-footer .editorial-footer-brand span {
    margin: 0 !important;
  }

  body.locked #publicHome .editorial-footer nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
    min-width: 0 !important;
    gap: 3px !important;
  }

  body.locked #publicHome .editorial-footer > nav:nth-of-type(1) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer > nav:nth-of-type(2) {
    grid-column: 2 !important;
    grid-row: 2 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.locked #publicHome .editorial-footer > nav:nth-of-type(2) > strong {
    grid-column: 1 !important;
  }

  body.locked #publicHome .editorial-footer > nav:nth-of-type(3) {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }

  body.locked #publicHome .editorial-footer nav a {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }
}

/* Acatian Plant Intelligence hero: the original AXION language with an actionable facility map. */
body.locked #publicHome .plant-intelligence-hero {
  --plant-night: #061a2d;
  --plant-raised: #0a243d;
  --plant-cobalt: #315bff;
  --plant-cobalt-pale: #b8c9ff;
  --plant-amber: #f0aa18;
  --plant-paper: #f4f6f8;
  --plant-steel: #bcc8d6;
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(460px, 42%) minmax(0, 58%) !important;
  grid-template-rows: auto auto !important;
  align-items: stretch !important;
  min-height: max(740px, calc(100svh - 68px)) !important;
  height: auto !important;
  padding: 0 !important;
  isolation: isolate !important;
  overflow: hidden !important;
  color: var(--plant-paper) !important;
  background: var(--plant-night) !important;
}

body.locked #publicHome .plant-intelligence-hero::before {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 58% 0 0 !important;
  display: block !important;
  background:
    linear-gradient(rgba(184, 201, 255, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 201, 255, .055) 1px, transparent 1px) !important;
  background-size: 72px 72px !important;
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 94%) !important;
  pointer-events: none !important;
  content: "" !important;
}

body.locked #publicHome .plant-intelligence-hero::after {
  display: none !important;
  content: none !important;
}

body.locked #publicHome .plant-intelligence-hero .public-plant-hero-copy {
  position: relative !important;
  z-index: 3 !important;
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-content: start !important;
  align-self: stretch !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: max-content !important;
  margin: 0 !important;
  padding: clamp(48px, 6vh, 78px) clamp(32px, 3.7vw, 68px) 24px !important;
}

body.locked #publicHome .plant-intelligence-hero .public-hero-kicker {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  color: #dfe7ff !important;
  -webkit-text-fill-color: #dfe7ff !important;
  background: rgba(49, 91, 255, .16) !important;
  border: 1px solid rgba(184, 201, 255, .28) !important;
  border-radius: 999px !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-intelligence-hero h1 {
  max-width: 540px !important;
  margin: 22px 0 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(46px, 3.5vw, 64px) !important;
  font-weight: 600 !important;
  line-height: .96 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance !important;
  text-shadow: none !important;
}

body.locked #publicHome .plant-intelligence-hero .public-plant-hero-copy > p {
  max-width: 53ch !important;
  margin: 23px 0 0 !important;
  color: #c6d1d9 !important;
  -webkit-text-fill-color: #c6d1d9 !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
  text-shadow: none !important;
}

body.locked #publicHome .plant-intelligence-hero .public-plant-hero-copy > p strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.locked #publicHome .plant-intelligence-hero .editorial-intro-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-top: 24px !important;
}

body.locked #publicHome .plant-intelligence-hero :where(.public-primary, .public-secondary) {
  min-height: 46px !important;
  padding: 0 17px !important;
  border-radius: 7px !important;
  font-size: 11px !important;
  letter-spacing: .01em !important;
}

body.locked #publicHome .plant-intelligence-hero .public-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: var(--plant-cobalt) !important;
  border-color: var(--plant-cobalt) !important;
  box-shadow: 0 14px 34px rgba(20, 53, 160, .3) !important;
}

body.locked #publicHome .plant-intelligence-hero .public-secondary {
  color: #eef3f7 !important;
  -webkit-text-fill-color: #eef3f7 !important;
  background: rgba(10, 36, 61, .86) !important;
  border-color: rgba(188, 200, 214, .32) !important;
}

body.locked #publicHome .plant-hero-scope {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 4px 14px !important;
  max-width: 560px !important;
  margin-top: 24px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(188, 200, 214, .2) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
}

body.locked #publicHome .plant-hero-scope span,
body.locked #publicHome .plant-hero-scope strong,
body.locked #publicHome .plant-hero-scope small {
  font-size: 9px !important;
  line-height: 1.45 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-hero-scope span {
  color: var(--plant-cobalt-pale) !important;
  -webkit-text-fill-color: var(--plant-cobalt-pale) !important;
}

body.locked #publicHome .plant-hero-scope strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 500 !important;
}

body.locked #publicHome .plant-hero-scope small {
  grid-column: 1 / -1 !important;
  color: #8fa2b1 !important;
  -webkit-text-fill-color: #8fa2b1 !important;
}

body.locked #publicHome .plant-intelligence-stage {
  --plant-pointer-x: 50%;
  --plant-pointer-y: 50%;
  --plant-shift-x: 0px;
  --plant-shift-y: 0px;
  position: relative !important;
  z-index: 2 !important;
  grid-column: 2 !important;
  grid-row: 1 / 3 !important;
  align-self: center !important;
  justify-self: center !important;
  width: calc(100% - clamp(36px, 4vw, 72px)) !important;
  max-width: 1120px !important;
  aspect-ratio: 3 / 2 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #020d17 !important;
  border: 1px solid rgba(188, 200, 214, .25) !important;
  border-radius: 12px !important;
  box-shadow: 0 32px 80px rgba(0, 7, 14, .46), inset 0 0 0 1px rgba(255, 255, 255, .025) !important;
  cursor: crosshair !important;
}

body.locked #publicHome .plant-intelligence-stage::before,
body.locked #publicHome .plant-intelligence-stage::after {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  display: block !important;
  pointer-events: none !important;
  content: "" !important;
}

body.locked #publicHome .plant-intelligence-stage::before {
  background:
    linear-gradient(180deg, rgba(3, 14, 25, .45) 0%, transparent 34%, rgba(3, 14, 25, .66) 100%),
    linear-gradient(rgba(184, 201, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 201, 255, .08) 1px, transparent 1px) !important;
  background-size: auto, 12.5% 16.666%, 12.5% 16.666% !important;
}

body.locked #publicHome .plant-intelligence-stage::after {
  background: radial-gradient(circle at var(--plant-pointer-x) var(--plant-pointer-y), rgba(86, 124, 255, .24) 0, rgba(49, 91, 255, .08) 18%, rgba(6, 26, 45, .12) 34%, rgba(6, 26, 45, .4) 78%) !important;
  transition: background-position 140ms ease !important;
}

body.locked #publicHome .plant-intelligence-stage .public-plant-film-fallback {
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  opacity: 1 !important;
  filter: saturate(.64) contrast(1.12) brightness(.58) !important;
  transform: scale(1.018) translate3d(var(--plant-shift-x), var(--plant-shift-y), 0) !important;
  transform-origin: center !important;
  transition: filter 180ms ease, transform 160ms ease-out !important;
}

body.locked #publicHome .plant-stage-grid {
  position: absolute !important;
  z-index: 2 !important;
  inset: 0 !important;
  background:
    linear-gradient(rgba(184, 201, 255, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 201, 255, .08) 1px, transparent 1px) !important;
  background-size: 12.5% 16.666% !important;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, .6), transparent 76%) !important;
  pointer-events: none !important;
}

body.locked #publicHome .plant-intelligence-network {
  position: absolute !important;
  z-index: 3 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
  pointer-events: none !important;
}

body.locked #publicHome .plant-intelligence-network path,
body.locked #publicHome .plant-intelligence-network circle {
  fill: rgba(184, 201, 255, .62) !important;
  stroke: rgba(184, 201, 255, .7) !important;
  stroke-width: .22 !important;
  vector-effect: non-scaling-stroke !important;
}

body.locked #publicHome .plant-intelligence-network path {
  fill: none !important;
  stroke-dasharray: 2 1.2 !important;
  animation: plant-network-resolve 620ms ease-out both !important;
}

body.locked #publicHome .plant-intelligence-stage[data-selection-mode="pinned"] .plant-intelligence-network path,
body.locked #publicHome .plant-intelligence-stage[data-selection-mode="pinned"] .plant-intelligence-network circle {
  fill: rgba(240, 170, 24, .78) !important;
  stroke: rgba(240, 170, 24, .82) !important;
}

body.locked #publicHome .plant-intelligence-stage[data-selection-mode="pinned"] .plant-intelligence-network path {
  fill: none !important;
}

@keyframes plant-network-resolve {
  from { opacity: 0; stroke-dashoffset: 18; }
  to { opacity: 1; stroke-dashoffset: 0; }
}

body.locked #publicHome .plant-intelligence-stage figcaption {
  position: absolute !important;
  z-index: 6 !important;
  top: 16px !important;
  right: 16px !important;
  left: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 34px !important;
  padding: 0 11px !important;
  color: #dce6eb !important;
  background: rgba(4, 18, 31, .74) !important;
  border: 1px solid rgba(188, 200, 214, .24) !important;
  border-radius: 5px !important;
  backdrop-filter: blur(12px) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 8px !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-intelligence-stage figcaption span {
  color: var(--plant-cobalt-pale) !important;
  -webkit-text-fill-color: var(--plant-cobalt-pale) !important;
}

body.locked #publicHome .plant-intelligence-stage figcaption strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-weight: 500 !important;
}

body.locked #publicHome .plant-zone-controls {
  position: absolute !important;
  z-index: 7 !important;
  inset: 0 !important;
  pointer-events: none !important;
}

body.locked #publicHome .plant-zone-node {
  --node-color: var(--plant-steel);
  position: absolute !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 4px 10px 4px 4px !important;
  color: #edf3f6 !important;
  -webkit-text-fill-color: #edf3f6 !important;
  background: rgba(4, 18, 31, .84) !important;
  border: 1px solid rgba(188, 200, 214, .54) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 28px rgba(0, 8, 16, .35) !important;
  transform: translate(-50%, -50%) !important;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease !important;
  pointer-events: auto !important;
  cursor: pointer !important;
}

body.locked #publicHome .plant-zone-node[data-plant-zone="feed"] { left: 19% !important; top: 34% !important; }
body.locked #publicHome .plant-zone-node[data-plant-zone="reactor"] { left: 52% !important; top: 24% !important; }
body.locked #publicHome .plant-zone-node[data-plant-zone="harvest"] { left: 52% !important; top: 63% !important; }
body.locked #publicHome .plant-zone-node[data-plant-zone="facility"] { left: 74% !important; top: 77% !important; }

body.locked #publicHome .plant-zone-node > span {
  display: grid !important;
  width: 34px !important;
  height: 34px !important;
  place-items: center !important;
  flex: 0 0 34px !important;
  color: #071526 !important;
  -webkit-text-fill-color: #071526 !important;
  background: var(--node-color) !important;
  border-radius: 50% !important;
  box-shadow: 0 0 0 0 rgba(184, 201, 255, 0) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  transition: background-color 160ms ease, box-shadow 160ms ease !important;
}

body.locked #publicHome .plant-zone-node > strong {
  color: #edf3f6 !important;
  -webkit-text-fill-color: #edf3f6 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.locked #publicHome .plant-zone-node:is(:hover, :focus-visible, .is-active) {
  --node-color: var(--plant-cobalt-pale);
  background: rgba(25, 55, 101, .92) !important;
  border-color: rgba(132, 158, 255, .94) !important;
  box-shadow: 0 12px 34px rgba(4, 14, 28, .52), 0 0 0 1px rgba(49, 91, 255, .2) !important;
}

body.locked #publicHome .plant-zone-node.is-active > span {
  box-shadow: 0 0 0 7px rgba(49, 91, 255, .19), 0 0 28px rgba(49, 91, 255, .5) !important;
}

body.locked #publicHome .plant-zone-node.is-pinned {
  --node-color: var(--plant-amber);
  background: rgba(61, 43, 10, .94) !important;
  border-color: rgba(240, 170, 24, .95) !important;
}

body.locked #publicHome .plant-zone-node.is-pinned > span {
  box-shadow: 0 0 0 7px rgba(240, 170, 24, .18), 0 0 26px rgba(240, 170, 24, .4) !important;
}

body.locked #publicHome .plant-zone-node:focus-visible,
body.locked #publicHome .plant-mobile-zone-strip button:focus-visible {
  outline: 3px solid #ffffff !important;
  outline-offset: 3px !important;
}

body.locked #publicHome .plant-stage-proof {
  position: absolute !important;
  z-index: 6 !important;
  right: 16px !important;
  bottom: 16px !important;
  left: 16px !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 14px !important;
  color: #c8d3da !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 8px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
}

body.locked #publicHome .plant-stage-proof span:last-child { color: #94a8b5 !important; }
body.locked #publicHome .plant-mobile-zone-strip { display: none !important; }

body.locked #publicHome .plant-insight-panel {
  position: relative !important;
  z-index: 4 !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  min-width: 0 !important;
  margin: 40px clamp(32px, 3.7vw, 68px) clamp(34px, 4.2vh, 54px) !important;
  padding: 19px !important;
  color: var(--plant-paper) !important;
  background: rgba(10, 36, 61, .9) !important;
  border: 1px solid rgba(188, 200, 214, .23) !important;
  border-radius: 10px !important;
  box-shadow: 0 22px 60px rgba(0, 8, 16, .22) !important;
  backdrop-filter: blur(14px) !important;
}

body.locked #publicHome .plant-insight-panel:empty {
  min-height: 368px !important;
}

body.locked #publicHome .plant-insight-panel.is-revealing {
  animation: plant-panel-reveal 180ms ease-out both !important;
}

@keyframes plant-panel-reveal {
  from { opacity: .74; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

body.locked #publicHome .plant-insight-panel > header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 16px !important;
}

body.locked #publicHome .plant-insight-panel > header > div > span,
body.locked #publicHome .plant-insight-panel > header > span {
  color: var(--plant-cobalt-pale) !important;
  -webkit-text-fill-color: var(--plant-cobalt-pale) !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 8px !important;
  line-height: 1.35 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-insight-panel > header > span {
  max-width: 156px !important;
  padding: 6px 8px !important;
  color: #f5cf7c !important;
  -webkit-text-fill-color: #f5cf7c !important;
  background: rgba(240, 170, 24, .1) !important;
  border: 1px solid rgba(240, 170, 24, .25) !important;
  border-radius: 4px !important;
  text-align: right !important;
}

body.locked #publicHome .plant-insight-panel h2 {
  max-width: 25ch !important;
  margin: 7px 0 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(19px, 1.55vw, 25px) !important;
  font-weight: 600 !important;
  line-height: 1.14 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance !important;
}

body.locked #publicHome .plant-insight-panel > p {
  max-width: none !important;
  margin: 11px 0 0 !important;
  color: #bdcbd3 !important;
  -webkit-text-fill-color: #bdcbd3 !important;
  font-size: 11px !important;
  line-height: 1.48 !important;
}

body.locked #publicHome .plant-insight-flow {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: 13px !important;
  overflow: hidden !important;
  background: rgba(188, 200, 214, .18) !important;
  border: 1px solid rgba(188, 200, 214, .18) !important;
  border-radius: 5px !important;
}

body.locked #publicHome .plant-insight-flow article {
  min-width: 0 !important;
  padding: 9px !important;
  background: rgba(6, 26, 45, .94) !important;
}

body.locked #publicHome .plant-insight-flow span,
body.locked #publicHome .plant-insight-flow strong { display: block !important; }

body.locked #publicHome .plant-insight-flow span {
  color: #879ca9 !important;
  -webkit-text-fill-color: #879ca9 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 7px !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-insight-flow strong {
  margin-top: 5px !important;
  color: #e9eff2 !important;
  -webkit-text-fill-color: #e9eff2 !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1.38 !important;
}

body.locked #publicHome .plant-insight-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 11px 0 0 !important;
}

body.locked #publicHome .plant-insight-metrics > div {
  min-width: 0 !important;
  padding: 9px !important;
  background: rgba(49, 91, 255, .085) !important;
  border: 1px solid rgba(184, 201, 255, .16) !important;
  border-radius: 5px !important;
}

body.locked #publicHome .plant-insight-metrics dt {
  color: #8ea1af !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 7px !important;
  line-height: 1.3 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-insight-metrics dd {
  margin: 5px 0 0 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: clamp(14px, 1.25vw, 19px) !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  overflow-wrap: anywhere !important;
}

body.locked #publicHome .plant-insight-panel > footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-top: 12px !important;
}

body.locked #publicHome .plant-insight-panel > footer > span {
  color: #7f95a3 !important;
  font-family: "DM Mono", ui-monospace, monospace !important;
  font-size: 7px !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
}

body.locked #publicHome .plant-insight-panel > footer a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  color: #dfe7ff !important;
  -webkit-text-fill-color: #dfe7ff !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.locked #publicHome .plant-insight-panel > footer a:hover,
body.locked #publicHome .plant-insight-panel > footer a:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

body.locked #publicHome .plant-a11y-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1100px) and (min-width: 921px) {
  body.locked #publicHome .plant-intelligence-hero {
    grid-template-columns: minmax(440px, 45%) minmax(0, 55%) !important;
  }

  body.locked #publicHome .plant-intelligence-hero h1 {
    font-size: clamp(46px, 5.3vw, 60px) !important;
  }

  body.locked #publicHome .plant-zone-node > strong { display: none !important; }
  body.locked #publicHome .plant-zone-node { width: 44px !important; padding: 4px !important; }

  body.locked #publicHome .plant-insight-panel > header {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  body.locked #publicHome .plant-insight-panel > header > span {
    width: fit-content !important;
    max-width: none !important;
    text-align: left !important;
  }
}

@media (max-width: 920px) {
  body.locked #publicHome .plant-intelligence-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(4, max-content) !important;
    grid-auto-flow: row !important;
    align-content: start !important;
    min-height: max-content !important;
    overflow: hidden !important;
  }

  body.locked #publicHome .plant-intelligence-hero::before {
    inset: 0 !important;
    background-size: 64px 64px !important;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent 46%) !important;
  }

  body.locked #publicHome .plant-intelligence-hero .public-plant-hero-copy {
    grid-column: 1 !important;
    grid-row: auto !important;
    align-content: start !important;
    width: auto !important;
    min-height: max-content !important;
    padding: 48px 16px 28px !important;
  }

  body.locked #publicHome .plant-intelligence-hero h1 {
    max-width: 11ch !important;
    font-size: clamp(43px, 12vw, 66px) !important;
  }

  body.locked #publicHome .plant-intelligence-hero .public-plant-hero-copy > p {
    max-width: 48ch !important;
    font-size: 14px !important;
  }

  body.locked #publicHome .plant-intelligence-hero .editorial-intro-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.locked #publicHome .plant-hero-scope { max-width: none !important; }

  body.locked #publicHome .plant-intelligence-stage {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: calc(100% - 32px) !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    aspect-ratio: 3 / 2 !important;
    min-height: auto !important;
    border-radius: 9px !important;
    cursor: default !important;
  }

  body.locked #publicHome .plant-zone-controls { display: none !important; }

  body.locked #publicHome .plant-intelligence-network path,
  body.locked #publicHome .plant-intelligence-network circle { stroke-width: .34 !important; }

  body.locked #publicHome .plant-intelligence-stage figcaption {
    top: 10px !important;
    right: 10px !important;
    left: 10px !important;
  }

  body.locked #publicHome .plant-intelligence-stage figcaption span { display: none !important; }

  body.locked #publicHome .plant-stage-proof {
    right: 10px !important;
    bottom: 10px !important;
    left: 10px !important;
  }

  body.locked #publicHome .plant-mobile-zone-strip {
    position: relative !important;
    z-index: 4 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: calc(100% - 32px) !important;
    max-width: 760px !important;
    margin: 10px auto 0 !important;
  }

  body.locked #publicHome .plant-mobile-zone-strip button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 6px !important;
    color: #dce6eb !important;
    -webkit-text-fill-color: #dce6eb !important;
    background: #0a243d !important;
    border: 1px solid rgba(188, 200, 214, .26) !important;
    border-radius: 6px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
  }

  body.locked #publicHome .plant-mobile-zone-strip button > span {
    color: #9fb2ff !important;
    -webkit-text-fill-color: #9fb2ff !important;
    font-family: "DM Mono", ui-monospace, monospace !important;
    font-size: 8px !important;
  }

  body.locked #publicHome .plant-mobile-zone-strip button.is-active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: #173b78 !important;
    border-color: #6686ff !important;
  }

  body.locked #publicHome .plant-mobile-zone-strip button.is-pinned {
    background: #4c360e !important;
    border-color: var(--plant-amber) !important;
  }

  body.locked #publicHome .plant-insight-panel {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: calc(100% - 32px) !important;
    max-width: 760px !important;
    margin: 10px auto 40px !important;
    padding: 18px !important;
    backdrop-filter: none !important;
  }

  body.locked #publicHome .plant-insight-panel:empty { min-height: 544px !important; }

  body.locked #publicHome .plant-insight-panel h2 {
    max-width: 30ch !important;
    font-size: 22px !important;
  }
}

@media (max-width: 620px) {
  body.locked #publicHome .plant-intelligence-hero .public-hero-kicker {
    max-width: 100% !important;
    min-height: 26px !important;
    padding: 7px 9px !important;
    white-space: normal !important;
  }

  body.locked #publicHome .plant-intelligence-hero .editorial-intro-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.locked #publicHome .plant-hero-scope { grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; }
  body.locked #publicHome .plant-hero-scope small { grid-column: 1 !important; }
  body.locked #publicHome .plant-intelligence-stage figcaption { display: none !important; }
  body.locked #publicHome .plant-stage-proof span:last-child { display: none !important; }
  body.locked #publicHome .plant-mobile-zone-strip { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

  body.locked #publicHome .plant-insight-panel > header {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
  }

  body.locked #publicHome .plant-insight-panel > header > span {
    width: fit-content !important;
    max-width: none !important;
    text-align: left !important;
  }

  body.locked #publicHome .plant-insight-flow { grid-template-columns: minmax(0, 1fr) !important; }
  body.locked #publicHome .plant-insight-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.locked #publicHome .plant-insight-metrics > div:last-child { grid-column: 1 / -1 !important; }

  body.locked #publicHome .plant-insight-panel > footer {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.locked #publicHome .plant-intelligence-stage .public-plant-film-fallback { transform: scale(1.01) !important; }
  body.locked #publicHome .plant-intelligence-network path,
  body.locked #publicHome .plant-insight-panel.is-revealing { animation: none !important; }

  body.locked #publicHome .plant-intelligence-hero *,
  body.locked #publicHome .plant-intelligence-hero *::before,
  body.locked #publicHome .plant-intelligence-hero *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (prefers-contrast: more) {
  body.locked #publicHome .plant-intelligence-stage::after { background: rgba(6, 26, 45, .26) !important; }

  body.locked #publicHome .plant-insight-panel,
  body.locked #publicHome .plant-zone-node {
    background: #061a2d !important;
    border-width: 2px !important;
    backdrop-filter: none !important;
  }
}

/* Wide engineering desktop: library, plant and selection form remain visible together. */
@media (min-width: 1400px) {
  body.authenticated #flowsheetView .canvas-frame {
    grid-template-columns: 258px minmax(560px, 1fr) 326px !important;
    grid-template-rows: auto auto minmax(720px, 1fr) auto auto !important;
    align-items: start !important;
    min-height: 1060px !important;
  }

  body.authenticated #flowsheetView .builder-library {
    grid-column: 1 !important;
    grid-row: 1 / 6 !important;
  }

  body.authenticated #flowsheetView .canvas-toolbar,
  body.authenticated #flowsheetView .canvas-health {
    grid-column: 2 / 4 !important;
  }

  body.authenticated #flowsheetView .canvas-toolbar { grid-row: 1 !important; }
  body.authenticated #flowsheetView .canvas-health { grid-row: 2 !important; }

  body.authenticated #flowsheetView .flowsheet-canvas {
    grid-column: 2 !important;
    grid-row: 3 !important;
    min-width: 0 !important;
    min-height: 720px !important;
    height: min(76vh, 900px) !important;
  }

  body.authenticated #flowsheetView .canvas-workbench {
    position: sticky !important;
    top: 8px !important;
    grid-column: 3 !important;
    grid-row: 3 !important;
    align-self: start !important;
    width: 100% !important;
    max-height: min(76vh, 900px) !important;
    overflow: auto !important;
    border: 1px solid #b8c6d5 !important;
    border-radius: 10px !important;
    background: #eef3f8 !important;
  }

  body.authenticated #flowsheetView .canvas-workbench .unit-stream-primary,
  body.authenticated #flowsheetView .canvas-workbench .attached-streams,
  body.authenticated #flowsheetView .canvas-workbench .stream-editor {
    grid-template-columns: 1fr !important;
  }

  body.authenticated #flowsheetView .canvas-options {
    grid-column: 2 / 4 !important;
    grid-row: 4 !important;
  }

  body.authenticated #flowsheetView .equation-spotlight {
    grid-column: 2 / 4 !important;
    grid-row: 5 !important;
  }
}

body.authenticated #flowsheetView .unit-port[data-port-direction] {
  width: 14px !important;
  height: 14px !important;
  cursor: crosshair !important;
  pointer-events: auto !important;
  transition: box-shadow 120ms ease, transform 120ms ease !important;
}

body.authenticated #flowsheetView .unit:hover .unit-port[data-port-direction],
body.authenticated #flowsheetView .unit:focus-visible .unit-port[data-port-direction] {
  box-shadow: 0 0 0 4px rgba(49, 91, 255, 0.2) !important;
  transform: translateY(-50%) scale(1.18) !important;
}

/* Public-page reduction: keep marketing pages focused on the decision and content. */
body.locked :is(
  #publicPlatform,
  #publicWorkflow,
  #publicEcosystem,
  #publicResources,
  #publicPricing,
  #publicPilot,
  #publicCompany,
  #publicFaq
) > .public-breadcrumbs {
  display: none !important;
}

body.locked .public-section.public-page:not(#publicHome) > .section-heading {
  padding-top: clamp(52px, 7vw, 88px) !important;
  padding-bottom: clamp(48px, 6vw, 76px) !important;
}

body.locked #publicPlatform .product-page-index {
  grid-template-columns: auto repeat(4, minmax(0, 1fr)) !important;
}

/* Optional operator-training console: concise until the engineer opens it. */
body.authenticated .bioprocess-training {
  margin: 14px 0 20px;
  overflow: hidden;
  border: 1px solid #b8c6d5;
  border-radius: 14px;
  background: #f8fafc;
  color: #0b2239;
}

body.authenticated .bioprocess-training > summary {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 64px;
  padding: 12px 18px;
  cursor: pointer;
  list-style: none;
}

body.authenticated .bioprocess-training > summary::-webkit-details-marker {
  display: none;
}

body.authenticated .bioprocess-training > summary::after {
  content: "+";
  grid-column: 4;
  grid-row: 1;
  font-size: 24px;
  line-height: 1;
  color: #315bff;
}

body.authenticated .bioprocess-training[open] > summary::after {
  content: "−";
}

body.authenticated .bioprocess-training > summary > span,
body.authenticated .training-console header span,
body.authenticated .training-clock span,
body.authenticated .training-live-grid span {
  color: #48617a;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

body.authenticated .bioprocess-training > summary > strong {
  min-width: 0;
  color: #0b2239;
  font-size: 15px;
  line-height: 1.35;
}

body.authenticated .bioprocess-training > summary > small {
  color: #5a7086;
  font-size: 12px;
  white-space: nowrap;
}

body.authenticated .training-console {
  padding: 20px;
  border-top: 1px solid #d7e0e9;
  background: #fff;
}

body.authenticated .training-console > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

body.authenticated .training-console h3 {
  margin: 5px 0 4px;
  color: #071d33;
  font-size: 20px;
  line-height: 1.25;
}

body.authenticated .training-console p {
  max-width: 760px;
  margin: 0;
  color: #48617a;
  line-height: 1.5;
}

body.authenticated .training-clock {
  flex: 0 0 132px;
  padding: 12px 14px;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #eef3f8;
}

body.authenticated .training-clock strong {
  display: block;
  margin-top: 4px;
  color: #071d33;
  font-variant-numeric: tabular-nums;
}

body.authenticated .training-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border-radius: 10px;
  background: #eaf0f6;
}

body.authenticated .training-actions button {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #aebdcb;
  border-radius: 9px;
  background: #fff;
  color: #0b2239;
  font-weight: 700;
}

body.authenticated .training-actions button.primary,
body.authenticated .training-actions button.active {
  border-color: #2448cf;
  background: #2448cf;
  color: #fff;
}

body.authenticated .training-actions button:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

body.authenticated .training-control-grid,
body.authenticated .training-live-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

body.authenticated .training-control-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  color: #314b64;
  font-size: 12px;
  font-weight: 700;
}

body.authenticated .training-control-grid :is(input, select) {
  width: 100%;
  min-height: 40px;
  border: 1px solid #aebdcb;
  border-radius: 8px;
  background: #fff;
  color: #071d33;
}

body.authenticated .training-control-grid label.training-check {
  flex-direction: row;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #c8d4e0;
  border-radius: 8px;
  background: #f4f7fa;
}

body.authenticated .training-control-grid .training-check input {
  width: 18px;
  min-height: 18px;
  margin: 0;
}

body.authenticated .training-live-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

body.authenticated .training-live-grid article {
  min-width: 0;
  padding: 14px;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #071d33;
}

body.authenticated .training-live-grid span {
  color: #b9c8d7 !important;
  -webkit-text-fill-color: #b9c8d7 !important;
}

body.authenticated .training-live-grid strong {
  display: block;
  margin-top: 6px;
  overflow-wrap: anywhere;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 17px;
  font-variant-numeric: tabular-nums;
}

body.authenticated .training-process-settings {
  margin-top: 12px;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #f4f7fa;
}

body.authenticated .training-process-settings > summary {
  padding: 12px 14px;
  cursor: pointer;
  color: #0b2239;
  font-size: 13px;
  font-weight: 750;
}

body.authenticated .training-process-settings > .training-control-grid {
  margin: 0;
  padding: 0 14px 14px;
}

body.authenticated .training-trends {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #fff;
}

body.authenticated .training-trends > header,
body.authenticated .training-legend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

body.authenticated .training-trends header strong {
  display: block;
  margin-top: 3px;
  color: #071d33;
}

body.authenticated .training-trends header small {
  color: #526a81;
}

body.authenticated .training-trends svg {
  display: block;
  width: 100%;
  height: 180px;
  margin-top: 12px;
  border-radius: 8px;
  background: #071d33;
}

body.authenticated .training-trends svg > path:not(.training-grid path) {
  fill: none;
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

body.authenticated .training-grid path {
  fill: none;
  stroke: #294159;
  stroke-width: 1;
}

body.authenticated .trend-biomass { stroke: #f4f7fb; }
body.authenticated .trend-substrate { stroke: #7896ff; }
body.authenticated .trend-oxygen { stroke: #d6a832; }

body.authenticated .training-legend {
  justify-content: flex-start;
  margin-top: 10px;
  color: #405972;
  font-size: 11px;
}

body.authenticated .training-legend span::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 3px;
  margin-right: 6px;
  vertical-align: middle;
  background: #071d33;
}

body.authenticated .training-legend span:nth-child(2)::before { background: #7896ff; }
body.authenticated .training-legend span:nth-child(3)::before { background: #d6a832; }

body.authenticated .training-console > footer {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #d7e0e9;
  color: #48617a;
  font-size: 12px;
}

body.authenticated .training-console > footer > span {
  flex: none;
  color: #0b2239;
  font-weight: 750;
}

body.authenticated .training-sequence {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 14px;
  padding: 1px;
  overflow: hidden;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #c8d4e0;
  list-style: none;
}

body.authenticated .training-sequence li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  min-height: 48px;
  padding: 9px 11px;
  background: #fff;
  color: #48617a;
}

body.authenticated .training-sequence li > span {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #9fb0c1;
  border-radius: 50%;
  color: #526a81;
  font-size: 11px;
  font-weight: 800;
}

body.authenticated .training-sequence li strong {
  overflow: hidden;
  color: #233d57;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.authenticated .training-sequence li.complete {
  background: #edf1ff;
}

body.authenticated .training-sequence li.complete > span {
  border-color: #315bff;
  background: #315bff;
  color: #fff;
}

body.authenticated .training-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr);
  gap: 12px;
  margin-top: 14px;
}

body.authenticated .training-synoptic {
  position: relative;
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(190px, 1.2fr) minmax(130px, 0.8fr);
  grid-template-rows: auto minmax(230px, 1fr) auto;
  gap: 12px 30px;
  min-height: 390px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid #b9c8d7;
  border-radius: 12px;
  background-color: #eef3f8;
  background-image: linear-gradient(#dce5ee 1px, transparent 1px), linear-gradient(90deg, #dce5ee 1px, transparent 1px);
  background-size: 24px 24px;
}

body.authenticated .training-feed-bank,
body.authenticated .training-addition-bank {
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 8px;
}

body.authenticated .training-feed-bank {
  grid-column: 1;
  grid-row: 1 / 3;
}

body.authenticated .training-addition-bank {
  grid-column: 3;
  grid-row: 1 / 3;
}

body.authenticated .training-feed-bank article,
body.authenticated .training-addition-bank article,
body.authenticated .training-gas-bank {
  padding: 10px 11px;
  border: 1px solid #9fb0c1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 14px rgb(7 29 51 / 7%);
}

body.authenticated .training-feed-bank span,
body.authenticated .training-addition-bank span,
body.authenticated .training-gas-bank > span {
  display: block;
  color: #526a81;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .training-feed-bank strong,
body.authenticated .training-addition-bank strong,
body.authenticated .training-gas-bank strong {
  display: block;
  margin-top: 3px;
  color: #071d33;
  font-size: 12px;
}

body.authenticated .training-feed-bank small,
body.authenticated .training-addition-bank small,
body.authenticated .training-gas-bank small {
  display: block;
  margin-top: 2px;
  color: #5a7086;
  font-size: 10px;
}

body.authenticated .training-gas-bank {
  z-index: 2;
  grid-column: 2;
  grid-row: 1;
  justify-self: center;
  width: min(220px, 100%);
  text-align: center;
}

body.authenticated .training-reactor {
  z-index: 2;
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: end;
  justify-self: center;
  width: min(290px, 100%);
}

body.authenticated .training-reactor-head {
  width: 118px;
  margin: 0 auto -1px;
  padding: 7px 10px;
  border: 1px solid #71869a;
  border-radius: 8px 8px 0 0;
  background: #071d33;
  text-align: center;
}

body.authenticated .training-reactor-head span,
body.authenticated .training-reactor-head strong {
  display: block;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 10px;
}

body.authenticated .training-reactor-vessel {
  position: relative;
  height: 220px;
  overflow: hidden;
  border: 3px solid #607a93;
  border-radius: 32px 32px 54px 54px;
  background: rgb(255 255 255 / 82%);
  box-shadow: inset 16px 0 22px rgb(7 29 51 / 6%), inset -16px 0 22px rgb(7 29 51 / 6%);
}

body.authenticated .training-liquid {
  position: absolute;
  right: 4px;
  bottom: 4px;
  left: 4px;
  min-height: 4%;
  overflow: hidden;
  border-radius: 0 0 47px 47px;
  background: #6f8cf2;
  transition: height 240ms ease;
}

body.authenticated .training-liquid i {
  position: absolute;
  bottom: -10px;
  width: 6px;
  height: 6px;
  border: 1px solid rgb(255 255 255 / 82%);
  border-radius: 50%;
  opacity: 0.65;
}

body.authenticated .training-liquid i:nth-child(1) { left: 18%; }
body.authenticated .training-liquid i:nth-child(2) { left: 34%; animation-delay: 0.35s; }
body.authenticated .training-liquid i:nth-child(3) { left: 52%; animation-delay: 0.7s; }
body.authenticated .training-liquid i:nth-child(4) { left: 68%; animation-delay: 1.05s; }
body.authenticated .training-liquid i:nth-child(5) { left: 82%; animation-delay: 1.4s; }

body.authenticated .bioprocess-training[data-running="true"] .training-liquid i {
  animation: training-bubble 2.1s linear infinite;
}

@keyframes training-bubble {
  from { transform: translateY(0) scale(0.75); opacity: 0; }
  22% { opacity: 0.7; }
  to { transform: translateY(-190px) scale(1.35); opacity: 0; }
}

body.authenticated .training-impeller {
  position: absolute;
  top: 34px;
  bottom: 28px;
  left: 50%;
  width: 4px;
  transform: translateX(-50%);
  background: #233d57;
}

body.authenticated .training-impeller i {
  position: absolute;
  left: 50%;
  width: 96px;
  height: 4px;
  transform: translateX(-50%);
  background: #233d57;
}

body.authenticated .training-impeller i:first-child { top: 42%; }
body.authenticated .training-impeller i:last-child { top: 72%; }

body.authenticated .training-sparger {
  position: absolute;
  right: 34px;
  bottom: 22px;
  left: 34px;
  height: 10px;
  border: 3px solid #233d57;
  border-top: 0;
  border-radius: 0 0 18px 18px;
}

body.authenticated .training-reactor-tags {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin-top: 7px;
}

body.authenticated .training-reactor-tags span {
  padding: 6px 3px;
  border-radius: 6px;
  background: #071d33;
  color: #b9c8d7 !important;
  -webkit-text-fill-color: #b9c8d7 !important;
  font-size: 9px;
  text-align: center;
}

body.authenticated .training-reactor-tags b {
  display: block;
  margin-top: 2px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 10px;
}

body.authenticated .training-pipe {
  position: absolute;
  z-index: 1;
  height: 3px;
  background: #315bff;
}

body.authenticated .training-pipe span {
  position: absolute;
  top: -17px;
  color: #405972;
  font-size: 9px;
  font-weight: 800;
}

body.authenticated .training-pipe-feed { top: 39%; left: 20%; width: 30%; }
body.authenticated .training-pipe-gas { top: 26%; left: 50%; width: 3px; height: 18%; }
body.authenticated .training-pipe-product { right: 5%; bottom: 15%; left: 50%; background: #698197; }

body.authenticated .training-controller-panel {
  padding: 14px;
  border: 1px solid #b9c8d7;
  border-radius: 12px;
  background: #071d33;
}

body.authenticated .training-controller-panel header > span {
  color: #c4d2df !important;
  -webkit-text-fill-color: #c4d2df !important;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.authenticated .training-controller-panel header > strong {
  display: block;
  margin: 5px 0 14px;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: 13px;
}

body.authenticated .training-controller-panel article {
  margin-top: 10px;
}

body.authenticated .training-controller-panel article > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #dbe5ef !important;
  font-size: 11px;
}

body.authenticated .training-controller-panel article > i {
  display: block;
  height: 5px;
  margin-top: 5px;
  overflow: hidden;
  border-radius: 3px;
  background: #294159;
}

body.authenticated .training-controller-panel article em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #7896ff;
  transition: width 240ms ease;
}

body.authenticated .training-controller-panel > p {
  margin-top: 18px;
  padding: 10px;
  border: 1px solid #48617a;
  border-radius: 8px;
  color: #e6edf5 !important;
  -webkit-text-fill-color: #e6edf5 !important;
  font-size: 11px;
}

body.authenticated .training-controller-panel > p.risk {
  border-color: #d6a832;
  color: #ffe7a3 !important;
  -webkit-text-fill-color: #ffe7a3 !important;
}

body.authenticated .training-controller-panel > p.ok {
  color: #e6edf5 !important;
  -webkit-text-fill-color: #e6edf5 !important;
}

body.authenticated .training-controller-panel :is(article span, article b) {
  color: #dbe5ef !important;
  -webkit-text-fill-color: #dbe5ef !important;
}

body.authenticated .training-parameter-map {
  margin-top: 14px;
  border: 1px solid #c8d4e0;
  border-radius: 10px;
  background: #fff;
}

body.authenticated .training-parameter-map > summary {
  padding: 13px 14px;
  cursor: pointer;
  color: #0b2239;
  font-size: 12px;
  font-weight: 800;
}

body.authenticated .training-parameter-table-wrap {
  max-height: 410px;
  overflow: auto;
  border-top: 1px solid #d7e0e9;
}

body.authenticated .training-parameter-map table {
  width: 100%;
  border-collapse: collapse;
  color: #233d57;
  font-size: 11px;
  text-align: left;
}

body.authenticated .training-parameter-map th,
body.authenticated .training-parameter-map td {
  padding: 9px 10px;
  border-bottom: 1px solid #e2e9f0;
  vertical-align: top;
}

body.authenticated .training-parameter-map th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #eef3f8;
  color: #314b64;
}

body.authenticated .training-parameter-map td strong,
body.authenticated .training-parameter-map td small {
  display: block;
}

body.authenticated .training-trend-plot {
  position: relative;
}

body.authenticated .training-trend-plot > p {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 24px;
  color: #dbe5ef !important;
  -webkit-text-fill-color: #dbe5ef !important;
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}

body.authenticated .training-parameter-map td small {
  margin-top: 2px;
  color: #6b7f92;
}

body.authenticated .training-role {
  display: inline-block;
  padding: 3px 6px;
  border-radius: 5px;
  background: #e5ebf2;
  color: #233d57;
  font-weight: 800;
  white-space: nowrap;
}

body.authenticated .training-role-input,
body.authenticated .training-role-derived {
  background: #e7ecff;
  color: #193db8;
}

body.authenticated .training-role-calibration {
  background: #fff3ce;
  color: #6d5100;
}

@media (max-width: 760px) {
  body.locked .public-section.public-page:not(#publicHome) > .section-heading {
    padding-top: 40px !important;
    padding-bottom: 36px !important;
  }

  html body.locked main.public-scroll #publicPlatform.active-public-page nav.product-page-index {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.locked #publicPlatform .product-page-index > strong {
    grid-column: 1 / -1 !important;
  }

  body.authenticated .bioprocess-training > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 12px;
    padding: 13px 14px;
  }

  body.authenticated .bioprocess-training > summary > span,
  body.authenticated .bioprocess-training > summary > strong {
    grid-column: 1;
  }

  body.authenticated .bioprocess-training > summary > small {
    display: none;
  }

  body.authenticated .bioprocess-training > summary::after {
    grid-column: 2;
    grid-row: 1 / 3;
  }

  body.authenticated .training-console {
    padding: 14px;
  }

  body.authenticated .training-console > header,
  body.authenticated .training-console > footer {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.authenticated .training-clock {
    width: 100%;
  }

  body.authenticated .training-control-grid,
  body.authenticated .training-live-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.authenticated .training-sequence,
  body.authenticated .training-workbench {
    grid-template-columns: 1fr;
  }

  body.authenticated .training-synoptic {
    grid-template-columns: minmax(90px, 0.75fr) minmax(170px, 1fr) minmax(100px, 0.75fr);
  }
}

@media (max-width: 430px) {
  body.authenticated .training-control-grid,
  body.authenticated .training-live-grid {
    grid-template-columns: 1fr;
  }

  body.authenticated .training-sequence {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.authenticated .training-synoptic {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    min-height: 0;
    padding: 14px;
  }

  body.authenticated .training-feed-bank,
  body.authenticated .training-gas-bank,
  body.authenticated .training-reactor,
  body.authenticated .training-addition-bank {
    grid-column: 1;
    grid-row: auto;
    width: 100%;
  }

  body.authenticated .training-feed-bank {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.authenticated .training-addition-bank {
    grid-template-columns: 1fr;
  }

  body.authenticated .training-pipe {
    display: none;
  }

  body.authenticated .training-parameter-table-wrap {
    max-width: 100%;
  }

  body.authenticated .training-parameter-map table {
    display: block;
    min-width: 0;
  }

  body.authenticated .training-parameter-table-wrap {
    max-height: 520px;
    overflow-x: hidden;
  }

  body.authenticated .training-parameter-map thead {
    display: none;
  }

  body.authenticated .training-parameter-map tbody,
  body.authenticated .training-parameter-map tr,
  body.authenticated .training-parameter-map td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  body.authenticated .training-parameter-map tr {
    padding: 10px 12px;
    border-bottom: 1px solid #d7e0e9;
  }

  body.authenticated .training-parameter-map td {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 8px;
    padding: 5px 0;
    border: 0;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: break-word;
  }

  body.authenticated .training-parameter-map td > * {
    min-width: 0;
    white-space: normal !important;
  }

  body.authenticated .training-parameter-map td::before {
    color: #60758a;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
  }

  body.authenticated .training-parameter-map td:nth-child(1)::before { content: "Parameter"; }
  body.authenticated .training-parameter-map td:nth-child(2)::before { content: "Current"; }
  body.authenticated .training-parameter-map td:nth-child(3)::before { content: "Status"; }
  body.authenticated .training-parameter-map td:nth-child(4)::before { content: "Used in"; }
  body.authenticated .training-parameter-map td:nth-child(5)::before { content: "Basis"; }

  body.authenticated .training-parameter-map td strong,
  body.authenticated .training-parameter-map td small {
    grid-column: 2;
  }

  body.authenticated .training-parameter-map td small {
    margin-top: -5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.authenticated .bioprocess-training[data-running="true"] .training-liquid i {
    animation: none;
  }
}

@media (max-width: 760px) {
  body.authenticated #flowsheetView .unit-model-contract-summary {
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px 11px;
  }

  body.authenticated #flowsheetView .unit-port-requirements,
  .context-port-contract {
    grid-template-columns: 1fr;
  }

  body.authenticated #flowsheetView .canvas-health-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .context-model-parameters,
  .context-equipment-calculation .context-result-grid {
    grid-template-columns: 1fr;
  }
}
