/* Internal standards and reference-drawer presentation boundary.
   These facilitation aids inform consultant judgment but never alter scores,
   evidence confirmation, release authority, or authorization conclusions. */

body[data-standard-drawer="open"] {
  overflow: hidden;
}

.standardsDrawer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-items: end;
  background: rgba(7, 24, 63, .34);
}

.standardsDrawer[hidden] {
  display: none;
}

.standardsDrawerPanel {
  width: min(980px, calc(100vw - 28px));
  height: 100%;
  overflow: auto;
  padding: 24px;
  border-left: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 24px 80px rgba(7, 24, 63, .28);
}

.standardsDrawerPanel > .actionBtn {
  z-index: 2;
  float: right;
  margin-left: 14px;
  box-shadow: 0 8px 18px rgba(7, 24, 63, .08);
}

.standardsDrawerPanel h2 {
  margin: 0 0 18px;
  color: var(--navy);
  font-size: clamp(28px, 4vw, 42px);
  letter-spacing: -.04em;
}

.standardsDrawerBody {
  clear: both;
  color: var(--ink);
}

.standardsDrawerBody h3 {
  margin: 0 0 14px;
  color: var(--navy);
  font-size: 26px;
  letter-spacing: -.03em;
}

.standardsDrawerBody h3:first-child {
  padding-top: 4px;
}

.standardsDrawerBody h4 {
  margin: 22px 0 8px;
  color: var(--navy);
  font-size: 16px;
}

.standardsDrawerBody p,
.standardsDrawerBody li {
  color: var(--muted);
  line-height: 1.55;
}

.standardsDrawerBody ul {
  padding-left: 19px;
}

.drawerPills {
  margin-top: 16px;
}

.drawerLensGrid,
.evidenceMaturityGrid,
.operatorPackColumns,
.operatorReadinessColumns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
}

.drawerLensGrid {
  margin-top: 18px;
}

.drawerLensGrid article {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbff;
}

.drawerLensGrid strong {
  display: block;
  margin-bottom: 6px;
  color: var(--navy);
  font-size: 14px;
}

.drawerLensGrid span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.discoveryList {
  display: grid;
  gap: 8px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}

.discoveryList li {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #f8fbff;
}

.discoveryTag {
  width: fit-content;
  padding: 2px 8px;
  border-radius: 20px;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.discoveryTag-question {
  background: rgba(23, 103, 232, .12);
  color: var(--navy);
}

.discoveryTag-data-request {
  background: rgba(169, 122, 47, .14);
  color: #6b4a1a;
}

.discoveryList span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.drawerNotice {
  display: grid;
  gap: 4px;
  margin: 0 0 18px;
  padding: 12px 14px;
  border: 1px solid rgba(23, 103, 232, .22);
  border-radius: 12px;
  background: rgba(237, 246, 255, .72);
  color: var(--muted);
}

.drawerNotice b {
  color: var(--navy);
  font-size: 13px;
}

.drawerNotice span {
  font-size: 12px;
  line-height: 1.4;
}

.fulcrumReference .fulcrumMarquee {
  margin: 0 0 8px;
  color: #8a6427;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.fulcrumReference > p:first-of-type + h3 {
  max-width: 760px;
}

.fulcrumLoeGrid,
.fulcrumBranchGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 22px;
}

.fulcrumLoeGrid article,
.fulcrumBranchGrid article {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: #f8fbff;
}

.fulcrumLoeGrid article {
  border-top: 4px solid var(--navy);
}

.fulcrumLoeGrid article > span {
  color: #9a702e;
  font-size: 11px;
  font-weight: 800;
}

.fulcrumLoeGrid h5 {
  margin: 7px 0 8px;
  color: var(--navy);
  font-size: 15px;
}

.fulcrumLoeGrid p,
.fulcrumLoeGrid small,
.fulcrumBranchGrid span {
  display: block;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.48;
}

.fulcrumLoeGrid small {
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 9px;
}

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

.fulcrumFundingSpine li {
  display: grid;
  gap: 4px;
  border-left: 3px solid #b99042;
  padding: 10px 12px;
  background: #fbf8ef;
}

.fulcrumFundingSpine b,
.fulcrumBranchGrid strong {
  color: var(--navy);
  font-size: 13px;
}

.fulcrumFundingSpine span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.42;
}

.fulcrumBranchGrid article {
  display: grid;
  gap: 6px;
}

.fulcrumBoundary {
  border-color: rgba(185, 144, 66, .34);
  background: #fbf7ec;
}

.evidenceMaturityNotice {
  border-color: rgba(69, 111, 143, .22);
  background: #f3f7fa;
}

.evidenceMaturityGrid {
  margin: 12px 0 18px;
}

.evidenceMaturityCard {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-top: 3px solid rgba(69, 111, 143, .44);
  border-radius: 12px;
  background: #fff;
}

.evidenceMaturity-declared {
  border-top-color: rgba(169, 122, 47, .48);
}

.evidenceMaturity-attested {
  border-top-color: rgba(41, 111, 151, .46);
}

.evidenceMaturity-evidence-backed {
  border-top-color: rgba(69, 111, 143, .56);
}

.evidenceMaturity-automation-backed {
  border-top-color: rgba(139, 104, 79, .62);
}

.evidenceMaturityCard strong {
  color: var(--navy);
  font-size: 14px;
}

.evidenceMaturityCard span,
.evidenceMaturityCard small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.evidenceMaturityCard small b {
  color: #405468;
  font-weight: 700;
}

.operatorPackNotice {
  border-color: rgba(69, 111, 143, .24);
  background: #f8fafb;
}

.operatorPackList,
.operatorReadinessBoardList {
  display: grid;
  gap: 14px;
  margin: 12px 0 20px;
}

.operatorPackCard {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-left: 4px solid rgba(69, 111, 143, .56);
  border-radius: 14px;
  background: #fff;
}

.operatorPackCard h4 {
  margin: 0;
}

.operatorPlayback,
.operatorCloudCue {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.operatorPlayback b,
.operatorCloudCue b,
.operatorPackColumns strong {
  color: #2f4054;
}

.operatorPackColumns section {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(63, 83, 106, .12);
  border-radius: 12px;
  background: rgba(247, 250, 247, .72);
}

.operatorPackColumns ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.operatorCloudCue {
  padding: 10px 12px;
  border-radius: 12px;
  background: #f3f7fa;
}

.operatorReadinessNotice {
  border-color: rgba(41, 111, 151, .2);
  background: linear-gradient(135deg, rgba(247, 250, 252, .96), #f3f7fa);
}

.operatorReadinessBoard {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, rgba(250, 252, 251, .88));
  box-shadow: var(--sm);
}

.operatorReadinessBoard header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
}

.operatorReadinessBoard header span {
  order: 2;
  padding: 5px 9px;
  border: 1px solid rgba(41, 111, 151, .18);
  border-radius: 999px;
  background: rgba(247, 250, 252, .92);
  color: #405468;
  font-size: 11px;
  font-weight: 700;
}

.operatorReadinessBoard h4 {
  order: 1;
  margin: 0;
  color: var(--navy);
}

.readinessLane {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(63, 83, 106, .12);
  border-top: 3px solid rgba(69, 111, 143, .34);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
}

.readinessLane strong {
  color: #2f4054;
  font-size: 12px;
}

.readinessLane p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.readinessLane-correction {
  border-top-color: rgba(169, 122, 47, .38);
}

.readinessLane-evidence {
  border-top-color: rgba(41, 111, 151, .38);
}

.readinessLane-automation {
  border-top-color: rgba(139, 104, 79, .48);
}

.covChip {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  vertical-align: 1px;
}

.cov-high {
  border: 1px solid rgba(69, 111, 143, .35);
  background: #f3f7fa;
  color: #31435f;
}

.cov-partial {
  border: 1px solid rgba(217, 131, 36, .35);
  background: #fff7e8;
  color: #6b4a00;
}

.cov-limited {
  border: 1px solid rgba(179, 64, 47, .3);
  background: #fdefec;
  color: #7a2c1f;
}

.cspConsiderations {
  margin: 6px 0 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.cspConsiderations b {
  color: var(--navy);
}

@media (max-width: 680px) {
  .standardsDrawerPanel {
    width: calc(100vw - 12px);
    padding: 16px;
  }

  .drawerLensGrid,
  .evidenceMaturityGrid,
  .operatorPackColumns,
  .operatorReadinessColumns,
  .fulcrumLoeGrid,
  .fulcrumBranchGrid,
  .fulcrumFundingSpine {
    grid-template-columns: minmax(0, 1fr);
  }

  .discoveryList li {
    grid-template-columns: minmax(0, 1fr);
  }
}
