.quality-manual-page {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.quality-manual-page > .app-page-header {
  margin-bottom: 0;
}

.quality-manual-page-header .app-page-header-copy {
  flex-basis: 330px;
}

.quality-manual-header-actions {
  display: grid;
  justify-items: end;
  gap: 7px;
}

.quality-manual-metadata,
.quality-manual-command-row {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.quality-manual-meta {
  display: grid;
  min-width: 82px;
  gap: 2px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 8px;
  background: rgba(255, 255, 255, .07);
}

.quality-manual-meta small {
  color: #cfe2ef;
  font-size: .59rem;
  font-weight: 700;
  line-height: 1.1;
}

.quality-manual-meta strong {
  color: #fff;
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.25;
}

.quality-manual-command-row button {
  position: relative;
}

.quality-manual-draft-dot {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 9px;
  height: 9px;
  border: 2px solid #0d3657;
  border-radius: 50%;
  background: #f5a23c;
}

.quality-manual-sync-line {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 3px;
}

.quality-manual-sync-status {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: #587087;
  font-size: .69rem;
}

.quality-manual-sync-status svg {
  width: 15px;
  height: 15px;
  color: #287a50;
}

.quality-manual-sync-status strong {
  color: #286347;
}

.quality-manual-sync-status small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-manual-draft-notice {
  padding: 4px 8px;
  border-radius: 999px;
  color: #8a520f;
  background: #fff0d8;
  font-size: .66rem;
  font-weight: 750;
  white-space: nowrap;
}

.quality-manual-tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 3px;
  padding: 4px;
  border: 1px solid #dce6ee;
  border-radius: 12px;
  background: #eef4f8;
}

.quality-manual-tabs button {
  min-height: 36px;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  color: #53687b;
  background: transparent;
  font: inherit;
  font-size: .74rem;
  font-weight: 750;
  cursor: pointer;
}

.quality-manual-tabs button:hover {
  color: #123b61;
  background: rgba(255, 255, 255, .65);
}

.quality-manual-tabs button.active {
  color: #fff;
  background: #123b61;
  box-shadow: 0 6px 14px rgba(18, 59, 97, .16);
}

.quality-manual-content {
  min-width: 0;
}

.quality-manual-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.quality-manual-panel[hidden] {
  display: none;
}

.quality-manual-intro {
  padding: 12px 15px;
  border-left: 4px solid #286f9e;
  border-radius: 0 10px 10px 0;
  color: #365169;
  background: linear-gradient(90deg, #edf6fb, #f8fbfd);
  font-size: .82rem;
  line-height: 1.55;
}

.quality-manual-facts {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.quality-manual-facts article {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 11px;
  border: 1px solid #dfe8ef;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(22, 55, 80, .04);
}

.quality-manual-facts small,
.quality-manual-key-value small {
  color: #6a7d8e;
  font-size: .64rem;
  font-weight: 700;
  line-height: 1.25;
}

.quality-manual-facts strong,
.quality-manual-key-value strong {
  overflow-wrap: anywhere;
  color: #17344e;
  font-size: .79rem;
  line-height: 1.35;
}

.quality-manual-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.quality-manual-card,
.quality-manual-process-family {
  min-width: 0;
  padding: 15px;
  border: 1px solid #dfe7ee;
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(18, 59, 97, .045);
}

.quality-manual-card {
  display: grid;
  align-content: start;
  gap: 12px;
}

.quality-manual-card > h3 {
  margin: 2px 0 -2px;
  color: #244a68;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.quality-manual-card > p {
  margin: 0;
  color: #42596e;
  font-size: .8rem;
  line-height: 1.55;
}

.quality-manual-card-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.quality-manual-card-title > span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  color: #286f9e;
  background: #eaf3f9;
}

.quality-manual-card-title svg {
  width: 17px;
  height: 17px;
}

.quality-manual-card-title h2 {
  margin: 0;
  color: #18364f;
  font-size: .94rem;
  line-height: 1.25;
}

.quality-manual-card-title p {
  margin: 2px 0 0;
  color: #708092;
  font-size: .68rem;
  line-height: 1.35;
}

.quality-manual-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-manual-list li {
  position: relative;
  padding-left: 14px;
  color: #3d566c;
  font-size: .76rem;
  line-height: 1.4;
}

.quality-manual-list li::before {
  position: absolute;
  top: .48em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  content: "";
  background: #286f9e;
}

.quality-manual-callout,
.quality-manual-lock-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 11px;
  border-radius: 9px;
  color: #315a76;
  background: #eef6fa;
  font-size: .73rem;
  line-height: 1.45;
}

.quality-manual-callout svg,
.quality-manual-lock-note svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 1px;
}

.quality-manual-callout.is-success {
  color: #266547;
  background: #edf8f1;
}

.quality-manual-text-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  color: #176493;
  background: transparent;
  font: inherit;
  font-size: .72rem;
  font-weight: 750;
  cursor: pointer;
}

.quality-manual-text-link svg {
  width: 13px;
  height: 13px;
}

.quality-manual-recognitions,
.quality-manual-values {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.quality-manual-pill {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #cfe0eb;
  border-radius: 999px;
  color: #225b82;
  background: #f1f7fb;
  font-size: .7rem;
  font-weight: 750;
}

.quality-manual-axis-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-manual-axis-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border-radius: 8px;
  color: #40586d;
  background: #f7f9fb;
  font-size: .72rem;
}

.quality-manual-axis-list strong {
  min-width: 31px;
  color: #b43c45;
}

.quality-manual-key-value {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid #e2e9ee;
  border-radius: 8px;
  background: #fbfcfd;
}

.quality-manual-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quality-manual-values span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #e0e8ef;
  border-radius: 9px;
  color: #355067;
  background: #fafcfd;
  font-size: .74rem;
  font-weight: 700;
}

.quality-manual-values b {
  color: #b43c45;
  font-size: .67rem;
}

.quality-manual-link-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.quality-manual-link-grid button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #dce6ed;
  border-radius: 9px;
  color: #27455d;
  background: #fff;
  font: inherit;
  font-size: .7rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.quality-manual-link-grid button:hover {
  border-color: #9dbed3;
  color: #155b86;
  background: #f5fafd;
}

.quality-manual-link-grid svg {
  width: 15px;
  height: 15px;
  color: #286f9e;
}

.quality-manual-process-family {
  display: grid;
  gap: 12px;
}

.quality-manual-process-family > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.quality-manual-process-family > header > div {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.quality-manual-process-family > header small {
  color: #1c425f;
  font-size: .78rem;
  font-weight: 800;
}

.quality-manual-process-family > header strong {
  color: #7a8996;
  font-size: .65rem;
}

.quality-manual-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.quality-manual-process {
  display: grid;
  align-content: start;
  min-width: 0;
  gap: 9px;
  padding: 11px;
  border: 1px solid var(--process-border);
  border-top: 3px solid var(--process);
  border-radius: 10px;
  background: linear-gradient(180deg, var(--process-bg), #fff 42%);
}

.quality-manual-process-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
}

.quality-manual-process-heading > span {
  display: grid;
  min-width: 36px;
  height: 30px;
  place-items: center;
  border-radius: 8px;
  color: #fff;
  background: var(--process);
  font-size: .68rem;
  font-weight: 850;
}

.quality-manual-process h3 {
  margin: 0;
  color: #1c3a52;
  font-size: .82rem;
}

.quality-manual-process-heading small {
  color: #718293;
  font-size: .6rem;
}

.quality-manual-process > p {
  margin: 0;
  color: #52697d;
  font-size: .69rem;
  line-height: 1.45;
}

.quality-manual-process dl {
  display: grid;
  gap: 5px;
  margin: 0;
}

.quality-manual-process dl > div {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 6px;
  font-size: .65rem;
}

.quality-manual-process dt {
  color: #708092;
  font-weight: 700;
}

.quality-manual-process dd {
  min-width: 0;
  margin: 0;
  color: #314b61;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.quality-manual-process-links {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.quality-manual-process-links button {
  padding: 4px 7px;
  border: 1px solid var(--process-border);
  border-radius: 6px;
  color: var(--process);
  background: #fff;
  font: inherit;
  font-size: .61rem;
  font-weight: 750;
  cursor: pointer;
}

.quality-manual-reference-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.quality-manual-reference-list > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid #dfe7ed;
  border-radius: 9px;
  background: #fbfcfd;
}

.quality-manual-reference-list > div > span {
  color: #287a50;
}

.quality-manual-reference-list > div.is-unavailable > span {
  color: #b57a20;
}

.quality-manual-reference-list svg {
  width: 15px;
  height: 15px;
}

.quality-manual-reference-list strong,
.quality-manual-reference-list small {
  display: block;
}

.quality-manual-reference-list strong {
  color: #24425a;
  font-size: .72rem;
}

.quality-manual-reference-list small {
  margin-top: 2px;
  color: #738292;
  font-size: .61rem;
  line-height: 1.35;
}

.quality-manual-reference-list button {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid #d5e2ea;
  border-radius: 7px;
  color: #286f9e;
  background: #fff;
  cursor: pointer;
}

.quality-manual-rule-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-manual-rule-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid #e0e8ee;
  border-radius: 9px;
  background: #fafcfd;
}

.quality-manual-rule-list li > span {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 7px;
  color: #fff;
  background: #123b61;
  font-size: .67rem;
  font-weight: 800;
}

.quality-manual-rule-list p {
  margin: 0;
  color: #3c556a;
  font-size: .72rem;
  line-height: 1.4;
}

.quality-manual-sources {
  display: grid;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid #dfe7ed;
  border-radius: 12px;
  background: #f8fafc;
}

.quality-manual-sources > div:first-child {
  display: flex;
  align-items: baseline;
  gap: 9px;
}

.quality-manual-sources > div:first-child strong {
  color: #24445d;
  font-size: .76rem;
}

.quality-manual-sources > div:first-child small {
  color: #748391;
  font-size: .65rem;
}

.quality-manual-source-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.quality-manual-source {
  display: grid;
  min-width: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 7px 8px;
  border: 1px solid #dde6ec;
  border-radius: 8px;
  color: #38536a;
  background: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.quality-manual-source-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c49336;
}

.quality-manual-source.is-available .quality-manual-source-dot {
  background: #2e965e;
}

.quality-manual-source strong,
.quality-manual-source small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-manual-source strong {
  font-size: .65rem;
}

.quality-manual-source small {
  margin-top: 1px;
  color: #798896;
  font-size: .57rem;
}

.quality-manual-source > svg {
  width: 12px;
  height: 12px;
  color: #6a8092;
}

.quality-manual-modal {
  width: min(920px, 94vw);
}

.quality-manual-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.quality-manual-editor-grid textarea {
  min-height: 104px;
  resize: vertical;
}

.quality-manual-scope-copy {
  display: grid;
  gap: 9px;
}

.quality-manual-scope-copy p,
.quality-manual-reference-copy p {
  margin: 0;
  color: #40596e;
  font-size: .76rem;
  line-height: 1.55;
}

.quality-manual-scope-copy h3,
.quality-manual-services h3 {
  margin: 2px 0 0;
  color: #244a68;
  font-size: .72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.quality-manual-services {
  display: grid;
  gap: 8px;
  margin-top: 2px;
  padding: 10px 11px;
  border: 1px solid #dbe8f0;
  border-radius: 10px;
  background: #f5f9fc;
}

.quality-manual-services ul,
.quality-manual-normative-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-manual-services li,
.quality-manual-normative-list li {
  position: relative;
  padding-left: 13px;
  color: #3c566c;
  font-size: .7rem;
  line-height: 1.4;
}

.quality-manual-services li::before,
.quality-manual-normative-list li::before {
  position: absolute;
  top: .48em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #286f9e;
  content: "";
}

.quality-manual-subprocesses {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.quality-manual-subprocesses > span {
  padding: 3px 6px;
  border: 1px solid var(--process-border);
  border-radius: 999px;
  color: var(--process);
  background: var(--process-bg);
  font-size: .61rem;
  font-weight: 750;
}

.quality-manual-reference-copy {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border-left: 3px solid #286f9e;
  border-radius: 0 9px 9px 0;
  background: #f5f9fc;
}

.quality-manual-documentation-layout {
  display: grid;
  grid-template-columns: minmax(330px, .9fr) minmax(460px, 1.2fr);
  gap: 12px;
  align-items: stretch;
}

.quality-manual-documentation-layout .quality-manual-rule-list {
  grid-template-columns: 1fr;
}

.quality-manual-document-pyramid {
  display: grid;
  justify-items: center;
  gap: 6px;
}

.quality-manual-document-level {
  display: grid;
  min-width: 0;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(40, 111, 158, .18);
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(40, 111, 158, .11), rgba(40, 111, 158, .035));
}

.quality-manual-document-level.level-1 { width: 72%; }
.quality-manual-document-level.level-2 { width: 79%; }
.quality-manual-document-level.level-3 { width: 86%; }
.quality-manual-document-level.level-4 { width: 93%; }
.quality-manual-document-level.level-5 { width: 100%; }

.quality-manual-document-level > span {
  display: grid;
  min-height: 31px;
  place-items: center;
  border-radius: 7px;
  color: #fff;
  background: #123b61;
  font-size: .61rem;
  font-weight: 800;
}

.quality-manual-document-level strong,
.quality-manual-document-level small {
  display: block;
}

.quality-manual-document-level strong {
  color: #21435e;
  font-size: .69rem;
}

.quality-manual-document-level small {
  margin-top: 2px;
  color: #657a8d;
  font-size: .58rem;
  line-height: 1.35;
}

.quality-manual-structure-note {
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  color: #315d4a;
  background: #eef8f2;
  font-size: .65rem;
  line-height: 1.45;
}

.quality-manual-codification {
  gap: 11px;
  background:
    linear-gradient(145deg, rgba(234, 243, 249, .68), rgba(255, 255, 255, .96) 38%),
    #fff;
}

.quality-manual-code-format {
  display: grid;
  grid-template-columns: minmax(250px, 1.5fr) minmax(170px, .8fr) minmax(170px, .8fr);
  gap: 8px;
}

.quality-manual-code-format > div {
  display: grid;
  min-width: 0;
  align-content: center;
  gap: 3px;
  padding: 9px 11px;
  border: 1px solid #d6e3ec;
  border-radius: 9px;
  background: rgba(255, 255, 255, .82);
}

.quality-manual-code-format > div.is-example {
  border-color: rgba(40, 111, 158, .28);
  background: #eaf4fa;
}

.quality-manual-code-format small {
  color: #6c7f91;
  font-size: .61rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.quality-manual-code-format strong,
.quality-manual-code-format code {
  overflow-wrap: anywhere;
  color: #123b61;
  font-size: .79rem;
  font-weight: 800;
  line-height: 1.35;
}

.quality-manual-code-format code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  letter-spacing: .025em;
}

.quality-manual-code-format .is-example code {
  color: #176493;
  font-size: .9rem;
}

.quality-manual-code-anatomy {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.quality-manual-code-anatomy span {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 5px;
  padding: 5px 8px;
  border: 1px solid #dce6ed;
  border-radius: 999px;
  color: #526a7f;
  background: #fff;
  font-size: .64rem;
  line-height: 1.25;
}

.quality-manual-code-anatomy b {
  color: #204d6e;
  font-size: .6rem;
  letter-spacing: .025em;
}

.quality-manual-codification-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr);
  gap: 12px;
}

.quality-manual-codification-columns > section {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e0e8ef;
  border-radius: 10px;
  background: rgba(255, 255, 255, .76);
}

.quality-manual-codification-columns h3 {
  margin: 0 0 8px;
  color: #244a68;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.quality-manual-document-types,
.quality-manual-codification-processes,
.quality-manual-generation-rules ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.quality-manual-document-types {
  display: grid;
  gap: 5px;
}

.quality-manual-document-types li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 5px 7px;
  border-radius: 7px;
  background: #f6f9fb;
}

.quality-manual-document-types li > strong {
  display: grid;
  min-height: 24px;
  place-items: center;
  border-radius: 6px;
  color: #fff;
  background: #123b61;
  font-size: .62rem;
  letter-spacing: .035em;
}

.quality-manual-document-types p {
  display: grid;
  gap: 1px;
  margin: 0;
  color: #64798b;
  font-size: .62rem;
  line-height: 1.35;
}

.quality-manual-document-types p b {
  color: #294c67;
  font-size: .67rem;
}

.quality-manual-codification-processes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.quality-manual-codification-processes li {
  display: grid;
  min-width: 0;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 6px 7px;
  border: 1px solid var(--process-border);
  border-radius: 8px;
  color: var(--process);
  background: var(--process-bg);
}

.quality-manual-codification-processes strong {
  font-size: .61rem;
  letter-spacing: .035em;
}

.quality-manual-codification-processes span {
  overflow: hidden;
  font-size: .64rem;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-manual-generation-rules {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px 11px;
  border-left: 3px solid #287a50;
  border-radius: 0 9px 9px 0;
  color: #315d4a;
  background: #eef8f2;
}

.quality-manual-generation-rules > strong {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .69rem;
}

.quality-manual-generation-rules > strong svg {
  width: 15px;
  height: 15px;
  flex: 0 0 auto;
}

.quality-manual-generation-rules ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 14px;
}

.quality-manual-generation-rules li {
  position: relative;
  padding-left: 11px;
  color: #436959;
  font-size: .62rem;
  line-height: 1.35;
}

.quality-manual-generation-rules li::before {
  position: absolute;
  top: .47em;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
  background: #287a50;
}

.quality-manual-requirements {
  display: grid;
  min-width: 0;
  gap: 10px;
}

.quality-manual-requirements-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(115deg, #0b2e4b, #174f77);
  box-shadow: 0 8px 20px rgba(18, 59, 97, .12);
}

.quality-manual-requirements-header small {
  color: #bfd7e8;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.quality-manual-requirements-header h2 {
  margin: 2px 0;
  font-size: 1rem;
}

.quality-manual-requirements-header p {
  margin: 0;
  color: #d7e7f2;
  font-size: .68rem;
}

.quality-manual-requirements-header > div:last-child {
  display: flex;
  gap: 6px;
  flex: 0 0 auto;
}

.quality-manual-requirement-views {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.quality-manual-requirement-views button {
  padding: 6px 10px;
  border: 1px solid #d3e0e9;
  border-radius: 999px;
  color: #245b80;
  background: #fff;
  font: inherit;
  font-size: .65rem;
  font-weight: 800;
  cursor: pointer;
}

.quality-manual-requirement-views span {
  margin-left: auto;
  color: #6e8191;
  font-size: .61rem;
}

.quality-manual-requirement-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(125px, .72fr)) minmax(220px, 1.3fr);
  gap: 7px;
  padding: 10px;
  border: 1px solid #dfe7ed;
  border-radius: 11px;
  background: #f8fafc;
}

.quality-manual-requirement-filters label {
  display: grid;
  gap: 4px;
}

.quality-manual-requirement-filters label > span {
  color: #5b7082;
  font-size: .58rem;
  font-weight: 750;
}

.quality-manual-requirement-filters select,
.quality-manual-requirement-filters input {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #d5e0e8;
  border-radius: 7px;
  color: #29465e;
  background: #fff;
  font: inherit;
  font-size: .67rem;
}

.quality-manual-requirement-count {
  color: #687b8c;
  font-size: .64rem;
}

.quality-manual-requirement-count strong {
  color: #123b61;
}

.quality-manual-requirement-scroll {
  position: relative;
  min-width: 0;
  overflow-x: auto;
  border: 1px solid #dce5ec;
  border-radius: 11px;
  background: #fff;
}

.quality-manual-requirement-scroll table {
  width: 100%;
  min-width: 2240px;
  border-collapse: separate;
  border-spacing: 0;
}

.quality-manual-requirement-scroll th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 10px;
  border-bottom: 1px solid #cad9e4;
  color: #fff;
  background: #123b61;
  font-size: .61rem;
  line-height: 1.3;
  text-align: left;
}

.quality-manual-requirement-scroll td {
  max-width: 280px;
  padding: 10px;
  border-bottom: 1px solid #e4ebf0;
  color: #40576b;
  font-size: .65rem;
  line-height: 1.45;
  vertical-align: top;
}

.quality-manual-requirement-scroll tbody tr:last-child td {
  border-bottom: 0;
}

.quality-manual-requirement-scroll td > strong {
  color: #173c59;
}

.quality-manual-process-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.quality-manual-process-badge {
  display: inline-grid;
  min-width: 32px;
  min-height: 24px;
  place-items: center;
  padding: 3px 6px;
  border: 1px solid var(--process-border);
  border-radius: 7px;
  color: var(--process);
  background: var(--process-bg);
  font-size: .61rem;
  font-weight: 850;
}

.quality-manual-proof-list {
  display: grid;
  gap: 5px;
}

.quality-manual-proof {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border: 1px solid #d6e3eb;
  border-radius: 7px;
  color: #286f9e;
  background: #f7fbfd;
  font: inherit;
  font-size: .61rem;
  cursor: pointer;
}

.quality-manual-proof svg {
  width: 13px;
  height: 13px;
}

.quality-manual-empty-value {
  color: #8795a1;
  font-style: italic;
}

.quality-manual-coverage {
  display: inline-flex;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: .59rem;
  font-weight: 800;
  white-space: nowrap;
}

.quality-manual-coverage.is-covered { color: #236443; background: #dff3e6; }
.quality-manual-coverage.is-partial { color: #90561a; background: #fde2cf; }
.quality-manual-coverage.is-to_complete { color: #785b00; background: #fff3b0; }
.quality-manual-coverage.is-not_applicable { color: #5f6b76; background: #edf0f3; }

.quality-manual-justification {
  display: block;
  margin-top: 5px;
  color: #667785;
  line-height: 1.35;
}

.quality-manual-requirement-empty {
  padding: 28px;
  color: #718392;
  font-size: .72rem;
  text-align: center;
}

.quality-manual-process-selector {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 11px;
  border: 1px solid #dce5ec;
  border-radius: 10px;
}

.quality-manual-process-selector legend {
  padding: 0 5px;
  color: #4f6679;
  font-size: .68rem;
  font-weight: 750;
}

.quality-manual-process-selector label {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #40566a;
  font-size: .66rem;
}

.quality-manual-process-selector label > span {
  display: flex;
  align-items: center;
  gap: 6px;
}

#quality-manual-na-field {
  opacity: .72;
}

#quality-manual-na-field.is-required {
  opacity: 1;
}

@media (max-width: 1280px) {
  .quality-manual-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .quality-manual-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-manual-source-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .quality-manual-requirement-filters {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
}

@media (max-width: 1180px) {
  .quality-manual-header-actions {
    width: 100%;
    justify-items: start;
  }

  .quality-manual-metadata,
  .quality-manual-command-row {
    justify-content: flex-start;
  }
}

@media (max-width: 850px) {
  .quality-manual-tabs {
    display: flex;
    overflow-x: auto;
  }

  .quality-manual-tabs button {
    min-width: max-content;
  }

  .quality-manual-two-columns,
  .quality-manual-editor-grid {
    grid-template-columns: 1fr;
  }

  .quality-manual-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-manual-reference-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-manual-documentation-layout {
    grid-template-columns: 1fr;
  }

  .quality-manual-code-format {
    grid-template-columns: 1fr 1fr;
  }

  .quality-manual-code-format > div:first-child {
    grid-column: 1 / -1;
  }

  .quality-manual-codification-columns {
    grid-template-columns: 1fr;
  }

  .quality-manual-generation-rules {
    grid-template-columns: 1fr;
  }

  .quality-manual-requirements-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .quality-manual-requirement-views span {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 620px) {
  .quality-manual-metadata {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-manual-meta {
    min-width: 0;
  }

  .quality-manual-command-row,
  .quality-manual-command-row button {
    width: 100%;
  }

  .quality-manual-sync-line,
  .quality-manual-sync-status,
  .quality-manual-sources > div:first-child {
    align-items: flex-start;
    flex-direction: column;
  }

  .quality-manual-sync-status small {
    white-space: normal;
  }

  .quality-manual-facts,
  .quality-manual-process-grid,
  .quality-manual-reference-list,
  .quality-manual-rule-list,
  .quality-manual-source-grid {
    grid-template-columns: 1fr;
  }

  .quality-manual-list,
  .quality-manual-values,
  .quality-manual-link-grid {
    grid-template-columns: 1fr;
  }

  .quality-manual-services ul,
  .quality-manual-normative-list,
  .quality-manual-requirement-filters,
  .quality-manual-process-selector {
    grid-template-columns: 1fr;
  }

  .quality-manual-requirements-header > div:last-child,
  .quality-manual-requirements-header > div:last-child button {
    width: 100%;
  }

  .quality-manual-document-level {
    width: 100% !important;
  }

  .quality-manual-code-format,
  .quality-manual-generation-rules ul {
    grid-template-columns: 1fr;
  }

  .quality-manual-code-format > div:first-child {
    grid-column: auto;
  }

  .quality-manual-codification-processes {
    grid-template-columns: 1fr;
  }
}
