#olvera-lab-loop-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1500;
  max-width: min(460px, calc(100vw - 44px));
  padding: 13px 17px;
  border-radius: 14px;
  background: #20201f;
  color: #fff;
  box-shadow: 0 18px 55px rgba(27, 27, 29, .22);
  font: 500 11px/1.5 Inter, sans-serif;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  transition: .2s ease;
}

#olvera-lab-loop-toast.show { opacity: 1; transform: none; }
#olvera-lab-loop-toast[data-tone="error"] { background: #845149; }

.olvera-start-iteration {
  border: 1px solid rgba(105, 112, 80, .28);
  border-radius: 999px;
  padding: 10px 15px;
  background: linear-gradient(135deg, rgba(215, 226, 213, .76), rgba(231, 218, 198, .64));
  color: var(--ink, #242321);
  font: 650 10px Inter, sans-serif;
  cursor: pointer;
}

.olvera-start-iteration:disabled { opacity: .45; cursor: wait; }

.olvera-lab-loop-card {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid rgba(105, 112, 80, .2);
  border-radius: 20px;
  background:
    radial-gradient(circle at 94% 5%, rgba(215, 226, 213, .55), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(231, 218, 198, .22));
}

.olvera-loop-head,
.olvera-loop-flow,
.olvera-loop-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.olvera-loop-head span,
.olvera-loop-details small,
.olvera-iteration-banner span {
  display: block;
  margin-bottom: 5px;
  color: var(--gold, #9a7950);
  font: 650 8px/1.2 Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.olvera-loop-head h3,
.olvera-iteration-banner h3 { margin: 0; font-size: 17px; }
.olvera-loop-head > strong { font-size: 10px; color: var(--muted, #74706a); }

.olvera-loop-flow {
  justify-content: flex-start;
  margin: 17px 0;
  padding: 11px 13px;
  overflow-x: auto;
  border: 1px solid rgba(27, 27, 29, .07);
  border-radius: 14px;
  background: rgba(255, 255, 255, .58);
}

.olvera-loop-flow span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(27, 27, 29, .05);
  color: var(--muted, #74706a);
  font: 600 9px Inter, sans-serif;
}

.olvera-loop-flow span.done { background: rgba(215, 226, 213, .72); color: #59603f; }
.olvera-loop-flow span.ready { background: rgba(231, 218, 198, .85); color: #795d38; }
.olvera-loop-flow i { color: rgba(27, 27, 29, .28); font-style: normal; }

.olvera-loop-details { align-items: stretch; }
.olvera-loop-details > div {
  flex: 1;
  min-width: 0;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .56);
}

.olvera-loop-details p {
  margin: 0;
  color: var(--muted, #74706a);
  font: 500 10px/1.65 Inter, sans-serif;
}

.olvera-loop-recipe {
  max-height: 170px;
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
}

.olvera-loop-recipe li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px solid rgba(27, 27, 29, .06);
  color: var(--muted, #74706a);
  font: 500 9px/1.35 Inter, sans-serif;
}

.olvera-loop-recipe strong { color: var(--ink, #242321); white-space: nowrap; }
.olvera-loop-hint { margin: 14px 0 0; color: var(--muted, #74706a); font: 500 9px/1.55 Inter, sans-serif; }

.olvera-conclusion {
  margin-top: 18px;
  padding: 20px;
  border: 1px solid rgba(105, 112, 80, .24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 95% 0, rgba(215, 226, 213, .58), transparent 34%),
    rgba(255, 255, 255, .78);
}

.olvera-conclusion[data-status="insufficient"],
.olvera-conclusion[data-status="no_baseline"] {
  border-color: rgba(154, 121, 80, .22);
  background:
    radial-gradient(circle at 95% 0, rgba(231, 218, 198, .52), transparent 34%),
    rgba(255, 255, 255, .78);
}

.olvera-conclusion-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.olvera-conclusion-head small {
  display: block;
  margin-bottom: 7px;
  color: var(--gold, #9a7950);
  font: 650 11px/1.2 Inter, sans-serif;
  letter-spacing: .14em;
}

.olvera-conclusion-head h3 {
  margin: 0;
  color: var(--ink, #242321);
  font: 650 20px/1.3 Inter, sans-serif;
}

.olvera-conclusion-head > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(215, 226, 213, .72);
  color: #59603f;
  font: 650 12px Inter, sans-serif;
}

.olvera-conclusion-message {
  margin-top: 15px;
  padding: 14px 16px;
  border-radius: 13px;
  background: rgba(247, 245, 240, .78);
}

.olvera-conclusion-message strong {
  display: block;
  color: var(--ink, #242321);
  font: 650 15px/1.35 Inter, sans-serif;
}

.olvera-conclusion-message p {
  margin: 6px 0 0;
  color: var(--muted, #74706a);
  font: 500 14px/1.55 Inter, sans-serif;
}

.olvera-conclusion-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

.olvera-conclusion-metrics > div {
  padding: 12px;
  border: 1px solid rgba(27, 27, 29, .07);
  border-radius: 12px;
  background: rgba(255, 255, 255, .7);
}

.olvera-conclusion-metrics small,
.olvera-conclusion-metrics strong,
.olvera-conclusion-metrics span { display: block; }
.olvera-conclusion-metrics small { color: var(--muted, #74706a); font: 550 11px Inter, sans-serif; }
.olvera-conclusion-metrics strong { margin-top: 6px; color: var(--ink, #242321); font: 700 15px Inter, sans-serif; }
.olvera-conclusion-metrics span { margin-top: 3px; color: var(--muted, #74706a); font: 600 11px Inter, sans-serif; }
.olvera-conclusion-metrics > div[data-tone="better"] span { color: #59603f; }
.olvera-conclusion-metrics > div[data-tone="worse"] span { color: #845149; }

.olvera-conclusion-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 13px;
}

.olvera-conclusion-actions button {
  min-width: 0;
  padding: 13px;
  border: 1px solid rgba(27, 27, 29, .1);
  border-radius: 13px;
  background: rgba(255, 255, 255, .74);
  color: var(--ink, #242321);
  cursor: pointer;
  text-align: left;
}

.olvera-conclusion-actions button.recommended {
  border-color: rgba(105, 112, 80, .36);
  background: rgba(215, 226, 213, .62);
}

.olvera-conclusion-actions button.selected {
  box-shadow: inset 0 0 0 2px rgba(89, 96, 63, .52);
}

.olvera-conclusion-actions button:disabled { cursor: wait; opacity: .58; }
.olvera-conclusion-actions strong,
.olvera-conclusion-actions span { display: block; }
.olvera-conclusion-actions strong { font: 650 13px/1.35 Inter, sans-serif; }
.olvera-conclusion-actions span { margin-top: 5px; color: var(--muted, #74706a); font: 500 11px/1.45 Inter, sans-serif; }
.olvera-conclusion-disclaimer { margin: 12px 0 0; color: var(--muted, #74706a); font: 500 11px/1.5 Inter, sans-serif; opacity: .82; }

.olvera-lab-evidence {
  margin-top: 15px;
  border-top: 1px solid rgba(27, 27, 29, .08);
}

.olvera-lab-evidence > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 2px 4px;
  cursor: pointer;
  list-style: none;
}

.olvera-lab-evidence > summary::-webkit-details-marker { display: none; }
.olvera-lab-evidence > summary span { color: var(--ink, #242321); font: 650 13px Inter, sans-serif; }
.olvera-lab-evidence > summary strong { color: var(--muted, #74706a); font: 600 11px Inter, sans-serif; }
.olvera-lab-evidence-body { padding-top: 2px; }

.olvera-learning {
  margin-top: 15px;
  padding: 16px;
  border: 1px solid rgba(27, 27, 29, .08);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(239, 235, 226, .72), rgba(255, 255, 255, .7));
}
.olvera-learning-head,
.olvera-learning-title,
.olvera-material-signals article > div,
.olvera-iteration-learning article > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.olvera-learning-head small {
  display: block;
  margin-bottom: 5px;
  color: var(--gold, #9a7950);
  font: 650 8px Inter, sans-serif;
  letter-spacing: .13em;
}
.olvera-learning-head h3 {
  margin: 0;
  color: var(--ink, #242321);
  font: 650 14px/1.3 Inter, sans-serif;
}
.olvera-learning-head > span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(196, 190, 177, .35);
  color: var(--muted, #74706a);
  font: 650 7px Inter, sans-serif;
  white-space: nowrap;
}
.olvera-learning-head > span[data-confidence="developing"],
.olvera-learning-head > span[data-confidence="working"] {
  background: rgba(201, 215, 195, .55);
  color: #59603f;
}
.olvera-learning-evidence {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 13px;
}
.olvera-learning-evidence > div {
  padding: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .62);
}
.olvera-learning-evidence strong,
.olvera-learning-evidence span { display: block; }
.olvera-learning-evidence strong { font: 700 16px Inter, sans-serif; }
.olvera-learning-evidence span { margin-top: 3px; color: var(--muted, #74706a); font: 550 7px Inter, sans-serif; }
.olvera-learning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 9px;
}
.olvera-learning-column,
.olvera-iteration-learning,
.olvera-learning-actions {
  padding: 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, .56);
}
.olvera-learning-title strong { font: 650 9px Inter, sans-serif; }
.olvera-learning-title small { color: var(--muted, #74706a); font: 500 7px Inter, sans-serif; }
.olvera-learning-patterns { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.olvera-learning-patterns span {
  padding: 5px 7px;
  border-radius: 999px;
  font: 600 7px Inter, sans-serif;
}
.olvera-learning-patterns span b { margin-left: 3px; font-weight: 700; }
.olvera-learning-patterns .positive { background: rgba(205, 220, 200, .56); color: #59603f; }
.olvera-learning-patterns .defect { background: rgba(232, 207, 199, .58); color: #8a564b; }
.olvera-material-signals { display: grid; gap: 6px; margin-top: 9px; }
.olvera-material-signals article {
  padding: 8px;
  border-left: 3px solid #aaa69c;
  border-radius: 8px;
  background: rgba(247, 245, 240, .76);
}
.olvera-material-signals article[data-tone="positive"] { border-color: #788064; }
.olvera-material-signals article[data-tone="caution"] { border-color: #a56a5e; }
.olvera-material-signals strong { font: 650 8px Inter, sans-serif; }
.olvera-material-signals article > div span { color: var(--muted, #74706a); font: 550 6px Inter, sans-serif; }
.olvera-material-signals p,
.olvera-material-signals small { display: block; margin: 4px 0 0; font: 500 7px/1.4 Inter, sans-serif; }
.olvera-material-signals small { color: var(--muted, #74706a); }
.olvera-iteration-learning,
.olvera-learning-actions { margin-top: 9px; }
.olvera-iteration-learning article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  margin-top: 8px;
  padding: 9px;
  border-radius: 9px;
  background: rgba(247, 245, 240, .76);
}
.olvera-iteration-learning article[data-result="improved"] { box-shadow: inset 3px 0 #788064; }
.olvera-iteration-learning article[data-result="declined"] { box-shadow: inset 3px 0 #a56a5e; }
.olvera-iteration-learning article strong,
.olvera-iteration-learning article b { font: 700 8px Inter, sans-serif; }
.olvera-iteration-learning article span { display: block; margin-top: 3px; color: var(--muted, #74706a); font: 500 7px Inter, sans-serif; }
.olvera-iteration-learning article p { grid-column: 1/-1; margin: 0; color: var(--muted, #74706a); font: 500 7px/1.45 Inter, sans-serif; }
.olvera-learning-actions article {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.olvera-learning-actions article > b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(27, 27, 29, .08);
  font: 700 7px Inter, sans-serif;
}
.olvera-learning-actions strong,
.olvera-learning-actions span { display: block; }
.olvera-learning-actions strong { font: 650 8px Inter, sans-serif; }
.olvera-learning-actions span { margin-top: 3px; color: var(--muted, #74706a); font: 500 7px/1.4 Inter, sans-serif; }
.olvera-learning-empty,
.olvera-learning-disclaimer { color: var(--muted, #74706a); font: 500 7px/1.5 Inter, sans-serif; }
.olvera-learning-empty { margin: 10px 0 0; }
.olvera-learning-disclaimer { margin: 11px 0 0; opacity: .8; }

.olvera-test-protocol,
.olvera-surface-overview {
  margin-top: 15px;
  padding: 14px;
  border: 1px solid rgba(27, 27, 29, .07);
  border-radius: 14px;
  background: rgba(255, 255, 255, .56);
}

.olvera-ai-protocol {
  margin-top: 15px;
  padding: 16px;
  border: 1px solid rgba(91, 104, 72, .23);
  border-radius: 15px;
  background:
    radial-gradient(circle at 95% 0, rgba(207, 221, 201, .65), transparent 34%),
    linear-gradient(145deg, rgba(246, 243, 235, .92), rgba(255, 255, 255, .72));
}
.olvera-ai-protocol[data-status="contradicted"] { border-color: rgba(151, 86, 75, .35); }
.olvera-ai-protocol-head,
.olvera-ai-protocol-head > div,
.olvera-ai-predictions article,
.olvera-ai-checkpoints button,
.olvera-ai-metrics > div { min-width: 0; }
.olvera-ai-protocol-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.olvera-ai-protocol-head small {
  display: block;
  margin-bottom: 5px;
  color: var(--gold, #9a7950);
  font: 650 8px Inter, sans-serif;
  letter-spacing: .14em;
}
.olvera-ai-protocol-head h3 { margin: 0; font: 650 14px/1.35 Inter, sans-serif; }
.olvera-ai-protocol-head > strong {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(201, 215, 195, .55);
  color: #59603f;
  font: 700 8px Inter, sans-serif;
  white-space: nowrap;
}
.olvera-ai-predictions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}
.olvera-ai-predictions article {
  padding: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .65);
}
.olvera-ai-predictions span,
.olvera-ai-predictions strong { display: block; }
.olvera-ai-predictions span { color: var(--muted, #74706a); font: 600 7px Inter, sans-serif; }
.olvera-ai-predictions strong { margin-top: 4px; font: 650 8px/1.4 Inter, sans-serif; }
.olvera-ai-predictions p,
.olvera-ai-disclaimer { margin: 5px 0 0; color: var(--muted, #74706a); font: 500 7px/1.45 Inter, sans-serif; }
.olvera-ai-checkpoints {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 9px;
}
.olvera-ai-checkpoints button {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgba(27, 27, 29, .08);
  border-radius: 9px;
  background: rgba(255, 255, 255, .55);
  color: var(--ink, #242321);
  font: 600 7px Inter, sans-serif;
  cursor: pointer;
  text-align: left;
}
.olvera-ai-checkpoints button b {
  width: 18px;
  height: 18px;
  display: grid;
  flex: 0 0 18px;
  place-items: center;
  border-radius: 50%;
  background: rgba(27, 27, 29, .08);
}
.olvera-ai-checkpoints button.done { color: #59603f; }
.olvera-ai-checkpoints button.done b { background: rgba(201, 215, 195, .75); }
.olvera-ai-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 9px;
}
.olvera-ai-metrics > div { padding: 9px; border-radius: 9px; background: rgba(239, 235, 226, .68); }
.olvera-ai-metrics small,
.olvera-ai-metrics strong { display: block; }
.olvera-ai-metrics small { color: var(--muted, #74706a); font: 550 7px Inter, sans-serif; }
.olvera-ai-metrics strong { margin-top: 3px; font: 700 11px Inter, sans-serif; }
.olvera-ai-next { margin: 10px 0 0; color: var(--muted, #74706a); font: 500 8px/1.5 Inter, sans-serif; }
.olvera-ai-next button {
  border: 0;
  padding: 0;
  background: transparent;
  color: #59603f;
  font: 650 8px Inter, sans-serif;
  cursor: pointer;
  text-decoration: underline;
}

@media (max-width: 720px) {
  .olvera-ai-predictions,
  .olvera-ai-checkpoints { grid-template-columns: 1fr; }
  .olvera-ai-metrics { grid-template-columns: repeat(3, minmax(90px, 1fr)); overflow-x: auto; }
}

.olvera-protocol-head,
.olvera-surface-overview-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.olvera-protocol-head > div:first-child,
.olvera-surface-overview-head > div { min-width: 185px; }
.olvera-protocol-head small,
.olvera-surface-overview-head small {
  display: block;
  margin-bottom: 4px;
  color: var(--gold, #9a7950);
  font: 650 8px Inter, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.olvera-protocol-head strong,
.olvera-surface-overview-head strong {
  color: var(--ink, #242321);
  font: 650 9px Inter, sans-serif;
}
.olvera-protocol-head em {
  color: #59603f;
  font: 700 9px Inter, sans-serif;
  font-style: normal;
}

.olvera-protocol-progress {
  flex: 1;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(27, 27, 29, .07);
}
.olvera-protocol-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #aeb99d, #697050);
  transition: width .25s ease;
}

.olvera-protocol-scroll {
  margin-top: 13px;
  overflow-x: auto;
}

.olvera-protocol-grid {
  display: grid;
  grid-template-columns: 72px repeat(6, minmax(55px, 1fr));
  gap: 5px;
  min-width: 520px;
  align-items: center;
}
.olvera-protocol-grid > b,
.olvera-protocol-grid > strong {
  color: var(--muted, #74706a);
  font: 600 7px Inter, sans-serif;
}
.olvera-protocol-grid > b { text-align: center; }
.olvera-protocol-grid > button {
  min-height: 29px;
  border: 1px dashed rgba(27, 27, 29, .12);
  border-radius: 8px;
  background: rgba(243, 240, 233, .5);
  color: rgba(27, 27, 29, .35);
  font: 700 11px Inter, sans-serif;
  cursor: pointer;
}
.olvera-protocol-grid > button:hover {
  border-color: rgba(142, 125, 173, .36);
  background: rgba(216, 208, 226, .24);
  color: var(--ink, #242321);
}
.olvera-protocol-grid > button.done {
  border-style: solid;
  border-color: rgba(105, 112, 80, .2);
  background: rgba(215, 226, 213, .58);
  color: #59603f;
}
.olvera-test-protocol > p {
  margin: 11px 0 0;
  color: var(--muted, #74706a);
  font: 500 8px/1.5 Inter, sans-serif;
}
.olvera-test-protocol > p button,
.olvera-surface-summary button {
  border: 0;
  padding: 0;
  background: none;
  color: #795d38;
  font: 650 8px Inter, sans-serif;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}

.olvera-surface-overview-head { justify-content: space-between; }
.olvera-surface-overview-head > span {
  color: var(--muted, #74706a);
  font: 500 8px Inter, sans-serif;
}
.olvera-surface-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}
.olvera-surface-summary {
  min-width: 0;
  padding: 11px;
  border-radius: 11px;
  background: rgba(243, 240, 233, .62);
}
.olvera-surface-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 7px;
}
.olvera-surface-summary span,
.olvera-surface-summary strong {
  color: var(--muted, #74706a);
  font: 600 8px Inter, sans-serif;
}
.olvera-surface-summary > b {
  display: block;
  margin-top: 8px;
  color: var(--ink, #242321);
  font: 700 15px Inter, sans-serif;
}
.olvera-surface-summary p {
  display: -webkit-box;
  margin: 7px 0 0;
  overflow: hidden;
  color: var(--muted, #74706a);
  font: 500 8px/1.45 Inter, sans-serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.olvera-surface-summary.empty { opacity: .72; }
.olvera-surface-summary button { margin-top: 9px; }

.olvera-formula-history {
  margin-top: 15px;
  border-top: 1px solid rgba(27, 27, 29, .08);
}

.olvera-formula-history summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 2px 4px;
  cursor: pointer;
  list-style: none;
}

.olvera-formula-history summary::-webkit-details-marker { display: none; }
.olvera-formula-history summary span {
  color: var(--ink, #242321);
  font: 650 10px Inter, sans-serif;
}
.olvera-formula-history summary strong {
  color: var(--muted, #74706a);
  font: 600 8px Inter, sans-serif;
}

.olvera-history-list {
  position: relative;
  display: grid;
  gap: 8px;
  margin-top: 9px;
}

.olvera-history-list::before {
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 18px;
  width: 1px;
  background: rgba(105, 112, 80, .2);
  content: "";
}

.olvera-history-version {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 37px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: start;
  padding: 11px;
  border: 1px solid rgba(27, 27, 29, .07);
  border-radius: 13px;
  background: rgba(255, 255, 255, .56);
}

.olvera-history-version.active {
  border-color: rgba(105, 112, 80, .28);
  background: rgba(215, 226, 213, .26);
}

.olvera-history-node {
  width: 37px;
  height: 37px;
  display: grid;
  place-items: center;
  border: 4px solid rgba(255, 255, 255, .9);
  border-radius: 50%;
  background: #e7eadc;
  color: #59603f;
  font: 700 9px Inter, sans-serif;
}

.olvera-history-version strong,
.olvera-history-version small { display: block; }
.olvera-history-version strong { color: var(--ink, #242321); font: 650 10px Inter, sans-serif; }
.olvera-history-version small { margin-top: 3px; color: var(--muted, #74706a); font: 500 8px Inter, sans-serif; }
.olvera-history-version p { margin: 7px 0 0; color: var(--muted, #74706a); font: 500 9px/1.5 Inter, sans-serif; }
.olvera-history-version > em { color: var(--muted, #74706a); font: 600 8px Inter, sans-serif; white-space: nowrap; }

.olvera-history-batches {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.olvera-history-batches span,
.olvera-history-empty {
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(27, 27, 29, .05);
  color: var(--muted, #74706a);
  font: 600 8px Inter, sans-serif;
}

.olvera-history-batches span.active { background: rgba(215, 226, 213, .72); color: #59603f; }
.olvera-history-empty { display: inline-block; margin-top: 8px; }
.olvera-history-conclusion b { color: var(--ink, #242321); }

.olvera-quick-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.olvera-quick-choices button {
  border: 1px solid rgba(27, 27, 29, .1);
  border-radius: 999px;
  padding: 6px 9px;
  background: rgba(255, 255, 255, .68);
  color: var(--muted, #74706a);
  font: 600 8px Inter, sans-serif;
  cursor: pointer;
}

.olvera-quick-choices button:hover,
.olvera-quick-choices button.selected {
  border-color: rgba(142, 125, 173, .34);
  background: rgba(216, 208, 226, .3);
  color: var(--ink, #242321);
}

.olvera-iteration-banner {
  display: grid;
  grid-template-columns: minmax(210px, .7fr) 1fr auto;
  align-items: center;
  gap: 18px;
  margin: 18px;
  padding: 17px 19px;
  border: 1px solid rgba(105, 112, 80, .22);
  border-radius: 17px;
  background: linear-gradient(120deg, rgba(215, 226, 213, .58), rgba(231, 218, 198, .42));
}

.olvera-iteration-banner p {
  margin: 0;
  white-space: pre-line;
  color: var(--muted, #74706a);
  font: 500 9px/1.5 Inter, sans-serif;
}

.olvera-iteration-banner > strong {
  max-width: 190px;
  color: #59603f;
  font: 650 9px/1.45 Inter, sans-serif;
}

.olvera-iteration-workspace {
  margin: 0 18px 18px;
  padding: 18px 19px;
  border: 1px solid rgba(105, 112, 80, .2);
  border-radius: 17px;
  background: rgba(255, 255, 255, .76);
}

.olvera-iteration-head,
.olvera-iteration-grid {
  display: flex;
  justify-content: space-between;
  gap: 15px;
}

.olvera-iteration-head { align-items: center; }
.olvera-iteration-head span,
.olvera-iteration-grid small {
  display: block;
  margin-bottom: 5px;
  color: var(--gold, #9a7950);
  font: 650 8px/1.2 Inter, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.olvera-iteration-head h3 { margin: 0; color: var(--ink, #242321); font-size: 15px; }
.olvera-iteration-head > strong {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(27, 27, 29, .05);
  color: var(--muted, #74706a);
  font: 650 8px Inter, sans-serif;
}
.olvera-iteration-head > strong[data-tone="good"] { background: rgba(215, 226, 213, .72); color: #59603f; }
.olvera-iteration-head > strong[data-tone="warn"] { background: rgba(231, 218, 198, .85); color: #795d38; }

.olvera-iteration-grid {
  align-items: stretch;
  margin-top: 14px;
}

.olvera-iteration-grid > div {
  flex: 1;
  min-width: 0;
  padding: 13px;
  border-radius: 13px;
  background: rgba(243, 240, 233, .66);
}

.olvera-live-diff { display: grid; }
.olvera-live-diff-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 9px;
  align-items: center;
  padding: 7px 0;
  border-bottom: 1px solid rgba(27, 27, 29, .06);
}
.olvera-live-diff-row span { overflow: hidden; color: var(--ink, #242321); font: 600 9px Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.olvera-live-diff-row small { color: var(--muted, #74706a); font: 500 8px Inter, sans-serif; }
.olvera-live-diff-row strong { color: #59603f; font: 650 8px Inter, sans-serif; white-space: nowrap; }
.olvera-live-diff-row[data-change="removed"] strong { color: #845149; }
.olvera-live-empty { padding: 16px 4px; text-align: center; }
.olvera-live-empty strong,
.olvera-live-empty span { display: block; }
.olvera-live-empty strong { color: var(--ink, #242321); font: 600 9px Inter, sans-serif; }
.olvera-live-empty span { margin-top: 5px; color: var(--muted, #74706a); font: 500 8px/1.45 Inter, sans-serif; }

@media (max-width: 800px) {
  .olvera-loop-details { flex-direction: column; }
  .olvera-conclusion-head { flex-direction: column; }
  .olvera-conclusion-metrics,
  .olvera-conclusion-actions { grid-template-columns: 1fr; }
  .olvera-iteration-banner { grid-template-columns: 1fr; margin: 12px; }
  .olvera-iteration-banner > strong { max-width: none; }
  .olvera-iteration-workspace { margin: 0 12px 12px; }
  .olvera-iteration-grid { flex-direction: column; }
  .olvera-history-version { grid-template-columns: 37px minmax(0, 1fr); }
  .olvera-history-version > em { grid-column: 2; }
  .olvera-protocol-head,
  .olvera-surface-overview-head { align-items: flex-start; flex-wrap: wrap; }
  .olvera-protocol-progress { min-width: 160px; }
  .olvera-surface-summary-grid { grid-template-columns: 1fr; }
  .olvera-learning-grid { grid-template-columns: 1fr; }
  .olvera-learning-head { align-items: flex-start; flex-direction: column; }
  .olvera-iteration-learning article { grid-template-columns: 1fr; }
  .olvera-iteration-learning article p { grid-column: auto; }
}

.olvera-professional-protocol {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(71, 83, 65, .2);
  border-radius: 17px;
  background:
    radial-gradient(circle at 100% 0, rgba(208, 219, 202, .58), transparent 35%),
    rgba(252, 251, 247, .82);
}

.olvera-professional-protocol[data-status="ready"] {
  border-color: rgba(82, 105, 74, .38);
}

.olvera-professional-head,
.olvera-professional-summary,
.olvera-blind-panel,
.olvera-weighing-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.olvera-professional-head small {
  display: block;
  margin-bottom: 5px;
  color: var(--gold, #9a7950);
  font: 650 9px Inter, sans-serif;
  letter-spacing: .13em;
}

.olvera-professional-head h3 {
  margin: 0;
  color: var(--ink, #242321);
  font: 650 16px/1.35 Inter, sans-serif;
}

.olvera-professional-head > strong {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(201, 215, 195, .72);
  color: #59603f;
  font: 700 10px Inter, sans-serif;
}

.olvera-professional-hypothesis {
  margin: 13px 0 0;
  color: var(--muted, #74706a);
  font: 500 13px/1.55 Inter, sans-serif;
}

.olvera-professional-hypothesis b { color: var(--ink, #242321); }

.olvera-traceability-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 13px;
}

.olvera-traceability-checks span {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(27, 27, 29, .05);
  color: var(--muted, #74706a);
  font: 600 9px Inter, sans-serif;
}

.olvera-traceability-checks span.done {
  background: rgba(201, 215, 195, .62);
  color: #59603f;
}

.olvera-traceability-checks i { font-style: normal; font-weight: 800; }

.olvera-professional-summary {
  margin-top: 13px;
}

.olvera-professional-summary > div {
  flex: 1;
  min-width: 0;
  padding: 11px;
  border-radius: 11px;
  background: rgba(255, 255, 255, .68);
}

.olvera-professional-summary small,
.olvera-professional-summary strong {
  display: block;
}

.olvera-professional-summary small {
  color: var(--muted, #74706a);
  font: 550 9px Inter, sans-serif;
}

.olvera-professional-summary strong {
  margin-top: 4px;
  overflow: hidden;
  color: var(--ink, #242321);
  font: 700 12px Inter, sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.olvera-blind-panel {
  align-items: center;
  margin-top: 10px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(226, 219, 235, .35);
}

.olvera-blind-panel small,
.olvera-blind-panel strong { display: block; }
.olvera-blind-panel small { color: var(--muted, #74706a); font: 550 9px Inter, sans-serif; }
.olvera-blind-panel strong { margin-top: 4px; font: 700 12px Inter, sans-serif; }
.olvera-blind-panel > div:last-child { display: flex; align-items: center; gap: 7px; }
.olvera-blind-panel button {
  padding: 7px 9px;
  border: 1px solid rgba(27, 27, 29, .1);
  border-radius: 9px;
  background: rgba(255, 255, 255, .72);
  color: var(--ink, #242321);
  font: 600 9px Inter, sans-serif;
  cursor: pointer;
}
.olvera-blind-panel span { color: #59603f; font: 650 10px Inter, sans-serif; }

.olvera-professional-editor {
  margin-top: 14px;
  border-top: 1px solid rgba(27, 27, 29, .08);
}

.olvera-professional-editor > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 1px 4px;
  list-style: none;
  cursor: pointer;
}

.olvera-professional-editor > summary::-webkit-details-marker { display: none; }
.olvera-professional-editor > summary span { font: 650 12px Inter, sans-serif; }
.olvera-professional-editor > summary b { color: var(--muted, #74706a); font: 550 9px Inter, sans-serif; }

.olvera-professional-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.olvera-professional-fields label {
  display: grid;
  gap: 5px;
  color: var(--muted, #74706a);
  font: 600 9px Inter, sans-serif;
}

.olvera-professional-fields label.wide { grid-column: 1/-1; }
.olvera-professional-fields input,
.olvera-professional-fields select,
.olvera-professional-fields textarea,
.olvera-weighing-row input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 10px;
  border: 1px solid rgba(27, 27, 29, .1);
  border-radius: 10px;
  background: rgba(255, 255, 255, .78);
  color: var(--ink, #242321);
  font: 500 11px Inter, sans-serif;
}

.olvera-professional-fields textarea { min-height: 70px; resize: vertical; }
.olvera-professional-fields .olvera-blind-toggle {
  display: flex;
  align-items: center;
  align-self: end;
  gap: 7px;
  min-height: 37px;
}
.olvera-professional-fields .olvera-blind-toggle input { width: auto; }

.olvera-weighings {
  display: grid;
  gap: 6px;
  margin-top: 14px;
}

.olvera-weighing-head { align-items: center; }
.olvera-weighing-head strong { font: 650 11px Inter, sans-serif; }
.olvera-weighing-head span { color: var(--muted, #74706a); font: 550 9px Inter, sans-serif; }
.olvera-weighing-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 110px 150px;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .55);
}
.olvera-weighing-row > span { overflow: hidden; font: 600 10px Inter, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.olvera-weighing-row small { display: block; margin-top: 3px; color: var(--muted, #74706a); font: 500 8px Inter, sans-serif; }

.olvera-professional-save {
  margin-top: 13px;
  padding: 10px 14px;
  border: 0;
  border-radius: 11px;
  background: #59603f;
  color: #fff;
  font: 650 11px Inter, sans-serif;
  cursor: pointer;
}
.olvera-professional-save:disabled { cursor: wait; opacity: .6; }
.olvera-correction-note { margin: 9px 0 0; color: var(--muted, #74706a); font: 500 9px Inter, sans-serif; }

@media (max-width: 800px) {
  .olvera-professional-summary,
  .olvera-blind-panel { flex-direction: column; }
  .olvera-professional-summary > div { width: 100%; box-sizing: border-box; }
  .olvera-professional-fields { grid-template-columns: 1fr; }
  .olvera-professional-fields label.wide { grid-column: auto; }
  .olvera-weighing-row { grid-template-columns: 1fr; }
}
