.owo-acc-box,
.owo-acc-final-panel {
  --owo-acc-bg: color-mix(in srgb, Canvas 92%, CanvasText 8%);
  --owo-acc-border: color-mix(in srgb, CanvasText 18%, transparent);
  --owo-acc-soft: color-mix(in srgb, CanvasText 7%, transparent);
  --owo-acc-text: CanvasText;
  background: color-mix(in srgb, Canvas 96%, CanvasText 4%);
  color: var(--owo-acc-text);
  border: 1px solid var(--owo-acc-border);
  border-radius: 22px;
  padding: clamp(16px, 2vw, 24px);
  margin: 18px 0;
  box-shadow: none;
}

.owo-acc-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.owo-acc-kicker {
  margin: 0 0 6px;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.72;
}

.owo-acc-box h3,
.owo-acc-final-panel h3,
.owo-acc-report h2,
.owo-acc-report h3 {
  margin: 0 0 8px;
  color: inherit;
}

.owo-acc-box p,
.owo-acc-final-panel p {
  margin: 0;
  opacity: 0.86;
}

.owo-acc-progress {
  min-width: 78px;
  display: grid;
  gap: 6px;
  text-align: right;
  font-weight: 700;
}

.owo-acc-progress i,
.owo-acc-final-meter {
  display: block;
  height: 8px;
  width: 100%;
  min-width: 78px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--owo-acc-soft);
}

.owo-acc-progress i::before,
.owo-acc-final-meter span {
  content: "";
  display: block;
  height: 100%;
  width: var(--owo-acc-progress, 0%);
  background: currentColor;
  opacity: 0.72;
}

.owo-acc-fields {
  display: grid;
  gap: 16px;
}

.owo-acc-field {
  display: grid;
  gap: 8px;
}

.owo-acc-label {
  font-weight: 700;
}

.owo-acc-label span {
  opacity: 0.72;
}

.owo-acc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.owo-acc-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--owo-acc-border);
  border-radius: 999px;
  padding: 9px 12px;
  cursor: pointer;
  background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
  color: inherit;
  font-size: 0.92rem;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.owo-acc-chip:hover {
  transform: translateY(-1px);
}

.owo-acc-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.owo-acc-chip.is-selected {
  background: color-mix(in srgb, CanvasText 7%, Canvas 93%);
  color: var(--owo-acc-text);
  border-color: color-mix(in srgb, CanvasText 78%, transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb, CanvasText 28%, transparent),
    inset 0 0 0 1px color-mix(in srgb, Canvas 50%, transparent);
  font-weight: 850;
}

.owo-acc-chip.is-selected::before {
  content: '✓';
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  min-width: 17px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
}

.owo-acc-chip.is-selected span {
  color: inherit;
}

.owo-acc-chip.is-selected:hover {
  transform: translateY(-1px);
  border-color: CanvasText;
}
.owo-acc-field input[type="text"],
.owo-acc-field textarea {
  width: 100%;
  border: 1px solid var(--owo-acc-border);
  background: Canvas;
  color: CanvasText;
  border-radius: 16px;
  padding: 11px 13px;
  font: inherit;
}

.owo-acc-field textarea {
  resize: vertical;
}

.owo-acc-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 16px;
}

.owo-acc-button {
  border: 1px solid CanvasText;
  background: CanvasText;
  color: Canvas;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
  cursor: pointer;
}

.owo-acc-button-secondary {
  background: color-mix(in srgb, CanvasText 88%, Canvas 12%);
}

.owo-acc-button-ghost {
  background: transparent;
  color: CanvasText;
}

.owo-acc-status {
  min-height: 1.2em;
  font-size: 0.92rem;
  opacity: 0.8;
}

.owo-acc-status.is-error {
  opacity: 1;
  font-weight: 700;
}

.owo-acc-resources {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.owo-acc-detail {
  border-top: 1px solid var(--owo-acc-border);
  padding-top: 10px;
}

.owo-acc-detail summary {
  cursor: pointer;
  font-weight: 800;
}

.owo-acc-detail pre {
  overflow: auto;
  white-space: pre-wrap;
  background: color-mix(in srgb, CanvasText 8%, Canvas 92%);
  border: 1px solid var(--owo-acc-border);
  border-radius: 16px;
  padding: 14px;
}

.owo-acc-note,
.owo-acc-biblio small {
  display: block;
  font-size: 0.86rem;
  opacity: 0.72;
}

.owo-acc-biblio {
  display: grid;
  gap: 10px;
  padding-left: 20px;
}

.owo-acc-biblio a {
  color: inherit;
  font-weight: 700;
}

.owo-acc-final-panel {
  max-width: 720px;
  margin: 20px auto;
}

.owo-acc-final-meter span {
  width: 0;
  background: CanvasText;
  opacity: 0.72;
}

.owo-acc-report-preview {
  margin-top: 16px;
}

.owo-acc-report {
  background: Canvas;
  color: CanvasText;
  border: 1px solid var(--owo-acc-border);
  border-radius: 18px;
  padding: 18px;
}

.owo-acc-report-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  font-size: 0.92rem;
}

.owo-acc-report-section {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--owo-acc-border);
}

.owo-acc-report dl {
  display: grid;
  grid-template-columns: minmax(150px, 0.36fr) minmax(0, 1fr);
  gap: 8px 16px;
}

.owo-acc-report dt {
  font-weight: 800;
}

.owo-acc-report dd {
  margin: 0;
}

@media (max-width: 900px) {
  .owo-acc-head,
  .owo-acc-report dl {
    grid-template-columns: 1fr;
  }
  .owo-acc-progress {
    text-align: left;
  }
}

@media (max-width: 640px) {
  .owo-acc-box,
  .owo-acc-final-panel {
    border-radius: 18px;
    padding: 14px;
  }
  .owo-acc-chip {
    width: 100%;
    justify-content: center;
  }
  .owo-acc-actions,
  .owo-acc-actions .owo-acc-button {
    width: 100%;
  }
}

@media print {
  .owo-acc-box,
  .owo-acc-final-panel > :not(.owo-acc-report-preview),
  .owo-edu-lms-sidebar,
  .owo-edu-card-top-line,
  .owo-edu-card-bottom-panel {
    display: none !important;
  }
  .owo-acc-report-preview,
  .owo-acc-report {
    display: block !important;
    border: 0;
  }
}


/* OWO Plantillas Acumulativas 0.2.0 · campos numéricos y calculadoras */
.owo-acc-hint,
.owo-acc-calculated-wrap small {
  display: block;
  font-size: 0.86rem;
  line-height: 1.35;
  opacity: 0.70;
}

.owo-acc-field input[type="number"],
.owo-acc-field input[type="text"],
.owo-acc-field textarea {
  width: 100%;
  border: 1px solid var(--owo-acc-border);
  background: Canvas;
  color: CanvasText;
  border-radius: 16px;
  padding: 11px 13px;
  font: inherit;
}

.owo-acc-field input[type="number"] {
  min-height: 44px;
  font-variant-numeric: tabular-nums;
}

.owo-acc-field-calculated_or_number {
  border: 1px solid color-mix(in srgb, CanvasText 14%, transparent);
  border-radius: 18px;
  padding: 12px;
  background: color-mix(in srgb, Canvas 90%, CanvasText 10%);
}

.owo-acc-field-calculated_or_number .owo-acc-label::after {
  content: " · cálculo";
  opacity: .55;
  font-weight: 700;
}

.owo-acc-calculated-wrap {
  display: grid;
  gap: 7px;
}

.owo-acc-field-calculated_or_number input {
  font-size: clamp(1rem, 2vw, 1.22rem);
  font-weight: 850;
}

.owo-acc-field.is-empty-result .owo-acc-calculated-wrap small::after {
  content: " Completa los datos necesarios para calcular.";
}

.owo-acc-calculator-section {
  border: 1px dashed var(--owo-acc-border);
  border-radius: 16px;
  padding: 12px;
  background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
}

.owo-acc-field-number_or_percent input::placeholder,
.owo-acc-field-number input::placeholder {
  opacity: .52;
}

@media (min-width: 900px) {
  .owo-acc-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owo-acc-field-multi_choice,
  .owo-acc-field-chips_multi,
  .owo-acc-field-textarea_short,
  .owo-acc-field-textarea_optional {
    grid-column: 1 / -1;
  }
  .owo-acc-field-calculated_or_number {
    align-self: start;
  }
}

@media (max-width: 640px) {
  .owo-acc-field input[type="number"],
  .owo-acc-field input[type="text"],
  .owo-acc-field textarea {
    min-height: 44px;
  }
}


/* Prompt IA: copiar al portapapeles */
.owo-acc-copy-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 10px 0 10px;
}

.owo-acc-copy-prompt {
  appearance: none;
  border: 1px solid var(--owo-acc-line, rgba(15, 15, 15, .14));
  border-radius: 999px;
  background: var(--owo-acc-button-bg, #111);
  color: var(--owo-acc-button-text, #fff);
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.owo-acc-copy-prompt:disabled {
  opacity: .58;
  cursor: wait;
}

.owo-acc-copy-feedback {
  color: var(--owo-acc-muted, rgba(20, 20, 20, .62));
  font-size: 12px;
  font-weight: 750;
}

.owo-acc-copy-feedback.is-error {
  color: #9d1d1d;
}

.owo-acc-prompt-box {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.owo-acc-chip.is-selected:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, CanvasText 68%, transparent);
}


/* Reunioon Plantillas Acumulativas 0.2.4 · chips claros y compactos */
.owo-acc-chip {
  position: relative;
  min-height: 34px;
  color: var(--owo-acc-text);
  line-height: 1.16;
}

.owo-acc-chip span {
  color: inherit;
}

.owo-acc-chip:focus-within {
  outline: 2px solid color-mix(in srgb, CanvasText 52%, transparent);
  outline-offset: 2px;
}

@media (min-width: 900px) {
  .owo-acc-chip {
    padding: 8px 11px;
    font-size: .86rem;
  }

  .owo-acc-fields {
    gap: 14px;
  }

  .owo-acc-box,
  .owo-acc-final-panel {
    padding: clamp(16px, 1.8vw, 22px);
  }
}


/* Reunioon Plantillas Acumulativas 0.2.5 · calculadora express */
.owo-acc-box {
  --owo-acc-result-bg: color-mix(in srgb, CanvasText 9%, Canvas 91%);
}

.owo-acc-head {
  margin-bottom: 12px;
}

.owo-acc-head h3 {
  font-size: clamp(1rem, 1.3vw, 1.22rem);
  line-height: 1.12;
}

.owo-acc-head p:not(.owo-acc-kicker) {
  max-width: 52ch;
  font-size: .92rem;
  line-height: 1.45;
}

.owo-acc-fields {
  gap: 12px;
}

.owo-acc-field {
  gap: 6px;
}

.owo-acc-label {
  font-size: .92rem;
  line-height: 1.2;
}

.owo-acc-hint {
  display: block;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .78rem;
  line-height: 1.35;
}

.owo-acc-field input[type="text"],
.owo-acc-field input[type="number"],
.owo-acc-field textarea {
  min-height: 39px;
  border-radius: 14px;
  padding: 9px 11px;
}

.owo-acc-field-calculated_or_number {
  margin: 4px 0;
  padding: 12px;
  border: 1px solid color-mix(in srgb, CanvasText 18%, transparent);
  border-radius: 18px;
  background: var(--owo-acc-result-bg);
}

.owo-acc-field-calculated_or_number .owo-acc-label {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .74;
}

.owo-acc-calculated-wrap {
  display: grid;
  gap: 5px;
}

.owo-acc-calculated-wrap input[type="number"] {
  border: 0;
  background: transparent;
  padding: 0;
  min-height: 0;
  color: var(--owo-acc-text);
  font-size: clamp(1.55rem, 3.2vw, 2.3rem);
  font-weight: 900;
  letter-spacing: -.045em;
}

.owo-acc-calculated-wrap small {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .76rem;
}

.owo-acc-resources {
  margin-top: 12px;
}

.owo-acc-detail {
  padding-top: 8px;
}

@media (min-width: 900px) {
  .owo-acc-box {
    padding: 18px;
  }

  .owo-acc-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .owo-acc-field-calculated_or_number {
    grid-column: 1 / -1;
  }

  .owo-acc-field-multi_choice,
  .owo-acc-field-single_choice,
  .owo-acc-field-chips_single,
  .owo-acc-field-chips_multi {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .owo-acc-head {
    grid-template-columns: 1fr;
  }

  .owo-acc-progress {
    text-align: left;
  }

  .owo-acc-calculated-wrap input[type="number"] {
    font-size: clamp(1.45rem, 9vw, 2rem);
  }
}


/* Reunioon Plantillas Acumulativas 0.2.6 · bibliografía compacta con información del enlace */
.owo-acc-biblio {
  list-style: none;
  padding-left: 0;
}

.owo-acc-biblio-card {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid var(--owo-acc-border, rgba(255,255,255,.14));
  border-radius: 14px;
  background: color-mix(in srgb, CanvasText 5%, Canvas 95%);
}

.owo-acc-biblio-card strong {
  font-size: .92rem;
  line-height: 1.22;
}

.owo-acc-biblio-card p {
  margin: 0;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 68%, transparent));
  font-size: .82rem;
  line-height: 1.36;
}

.owo-acc-biblio-lesson {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .76rem;
  line-height: 1.25;
}

.owo-acc-biblio-open {
  width: fit-content;
  margin-top: 2px;
  border-bottom: 1px solid currentColor;
  color: inherit;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  opacity: .86;
}

.owo-acc-biblio-open:hover,
.owo-acc-biblio-open:focus-visible {
  opacity: 1;
}


/* Reunioon Plantillas Acumulativas 0.3.2 · cierre de ruta y mapa final */
.owo-acc-route-panel {
  margin: clamp(18px, 4vw, 36px) auto;
  max-width: 1120px;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 16%, transparent));
  border-radius: 28px;
  background: color-mix(in srgb, CanvasText 4%, Canvas 96%);
  color: var(--owo-acc-text, CanvasText);
}

.owo-acc-route-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.owo-acc-route-hero h3 {
  margin: 0;
  font-size: clamp(1.45rem, 3.2vw, 2.6rem);
  line-height: .96;
  letter-spacing: -.055em;
}

.owo-acc-route-hero p {
  max-width: 68ch;
}

.owo-acc-route-score {
  display: grid;
  place-items: center;
  min-width: 112px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 16%, transparent));
  border-radius: 999px;
  text-align: center;
  background: Canvas;
}

.owo-acc-route-score strong {
  display: block;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  line-height: .9;
  letter-spacing: -.05em;
}

.owo-acc-route-score span {
  max-width: 78px;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 60%, transparent));
  font-size: .72rem;
  line-height: 1.1;
}

.owo-acc-route-next {
  margin: 10px 0 16px;
  font-weight: 800;
}

.owo-acc-route-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.owo-acc-route-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  min-height: 118px;
  padding: 12px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 16%, transparent));
  border-radius: 18px;
  background: Canvas;
}

.owo-acc-route-step-index {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-size: .82rem;
  font-weight: 900;
}

.owo-acc-route-step h4 {
  margin: 0 0 4px;
  font-size: .95rem;
  line-height: 1.1;
}

.owo-acc-route-step p {
  margin: 0 0 7px;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .78rem;
  line-height: 1.25;
}

.owo-acc-route-step small {
  font-weight: 800;
}

.owo-acc-route-step.is-locked,
.owo-acc-route-step.is-missing {
  opacity: .58;
}

.owo-acc-route-step.is-progress {
  box-shadow: 0 0 0 2px color-mix(in srgb, CanvasText 18%, transparent) inset;
}

.owo-acc-route-step.is-completed {
  background: color-mix(in srgb, CanvasText 8%, Canvas 92%);
}

.owo-acc-route-detail {
  margin-top: 10px;
}

.owo-acc-route-map {
  display: grid;
  gap: 14px;
  margin-top: 12px;
}

.owo-acc-route-course,
.owo-acc-route-section {
  display: grid;
  gap: 10px;
}

.owo-acc-route-course {
  padding: 12px 0;
  border-top: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
}

.owo-acc-route-course h4,
.owo-acc-route-section h5 {
  margin: 0;
}

.owo-acc-route-section {
  padding: 12px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 16px;
  background: Canvas;
}

.owo-acc-route-section dl {
  display: grid;
  grid-template-columns: minmax(140px, .42fr) minmax(0, 1fr);
  gap: 8px 14px;
  margin: 0;
}

.owo-acc-route-section dt {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .78rem;
  font-weight: 800;
}

.owo-acc-route-section dd {
  margin: 0;
  font-size: .88rem;
  line-height: 1.36;
}

.owo-acc-route-plan ol {
  margin: 0;
  padding-left: 22px;
}

.owo-acc-route-actions {
  margin-top: 14px;
}

@media (max-width: 920px) {
  .owo-acc-route-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .owo-acc-route-hero {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-score {
    min-width: 96px;
    min-height: 96px;
  }

  .owo-acc-route-steps {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-section dl {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}


/* Reunioon Plantillas Acumulativas 0.3.3 · mapa visible */
.owo-acc-route-actions .owo-acc-button {
  text-decoration: none;
}


/* Reunioon Plantillas Acumulativas 0.3.4 · avance compacto y arrastre real de datos */
.owo-acc-route-panel,
.owo-acc-route-compact {
  margin: 12px 0 16px;
  padding: 14px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 20px;
  background: color-mix(in srgb, CanvasText 3%, Canvas 97%);
  color: var(--owo-acc-text, CanvasText);
}

.owo-acc-route-compact {
  max-width: none;
}

.owo-acc-route-compact-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}

.owo-acc-route-compact-head h3 {
  margin: 0;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.owo-acc-route-compact-head p {
  margin: 4px 0 0;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 64%, transparent));
  font-size: .84rem;
  line-height: 1.35;
}

.owo-acc-route-compact-score {
  display: grid;
  place-items: center;
  min-width: 68px;
  min-height: 68px;
  padding: 8px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 999px;
  background: Canvas;
  text-align: center;
}

.owo-acc-route-compact-score strong {
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: -.04em;
}

.owo-acc-route-compact-score span {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .68rem;
  line-height: 1;
}

.owo-acc-route-mini-steps {
  display: flex;
  gap: 6px;
  margin: 10px 0;
}

.owo-acc-route-mini-steps span {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 16%, transparent));
  border-radius: 999px;
  background: Canvas;
  color: var(--owo-acc-text, CanvasText);
  font-size: .78rem;
  font-weight: 900;
}

.owo-acc-route-mini-steps span.is-completed {
  background: CanvasText;
  color: Canvas;
}

.owo-acc-route-mini-steps span.is-progress {
  box-shadow: 0 0 0 2px color-mix(in srgb, CanvasText 28%, transparent) inset;
}

.owo-acc-route-mini-steps span.is-locked,
.owo-acc-route-mini-steps span.is-missing {
  opacity: .42;
}

.owo-acc-route-progress-detail {
  margin-top: 8px;
}

.owo-acc-route-progress-detail > summary,
.owo-acc-context-bridge > summary {
  cursor: pointer;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 16%, transparent));
  border-radius: 999px;
  background: Canvas;
  font-size: .82rem;
  font-weight: 850;
  list-style: none;
}

.owo-acc-route-progress-detail > summary::-webkit-details-marker,
.owo-acc-context-bridge > summary::-webkit-details-marker {
  display: none;
}

.owo-acc-context-bridge {
  margin: 10px 0 14px;
  padding: 10px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 12%, transparent));
  border-radius: 16px;
  background: color-mix(in srgb, CanvasText 2%, Canvas 98%);
}

.owo-acc-context-grid,
.owo-acc-route-summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.owo-acc-context-grid article,
.owo-acc-route-summary-grid article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 12%, transparent));
  border-radius: 14px;
  background: Canvas;
}

.owo-acc-context-grid span,
.owo-acc-route-summary-grid span {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
}

.owo-acc-context-grid strong,
.owo-acc-route-summary-grid strong {
  font-size: .86rem;
  line-height: 1.25;
}

.owo-acc-route-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.owo-acc-route-step {
  min-height: auto;
  padding: 10px;
  border-radius: 14px;
}

.owo-acc-route-step h4 {
  font-size: .86rem;
}

.owo-acc-route-step p {
  font-size: .73rem;
}

@media (max-width: 760px) {
  .owo-acc-route-compact-head {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-compact-score {
    width: 68px;
  }

  .owo-acc-route-steps,
  .owo-acc-context-grid,
  .owo-acc-route-summary-grid {
    grid-template-columns: 1fr;
  }
}


/* Reunioon Plantillas Acumulativas 0.3.5 · mapa separado, prácticas limpias */
.owo-acc-route-compact,
.owo-acc-context-bridge {
  display: none !important;
}

.owo-acc-route-separate {
  width: min(1120px, calc(100vw - 32px));
  margin: clamp(18px, 4vw, 42px) auto;
  padding: clamp(18px, 3vw, 32px);
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 28px;
  background: Canvas;
  color: CanvasText;
}

.owo-acc-route-separate-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
  margin-bottom: 18px;
}

.owo-acc-route-separate-head h2 {
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2rem, 5vw, 4.25rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.owo-acc-route-separate-head p {
  max-width: 58ch;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
}

.owo-acc-route-big-score {
  display: grid;
  place-items: center;
  min-width: 124px;
  min-height: 124px;
  padding: 14px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 999px;
  background: color-mix(in srgb, CanvasText 4%, Canvas 96%);
  text-align: center;
}

.owo-acc-route-big-score strong {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: .9;
  letter-spacing: -.06em;
}

.owo-acc-route-big-score span {
  width: 76px;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .72rem;
  line-height: 1.1;
}

.owo-acc-route-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.owo-acc-route-flow-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 18px;
  background: color-mix(in srgb, CanvasText 3%, Canvas 97%);
}

.owo-acc-route-flow-card > span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-weight: 950;
}

.owo-acc-route-flow-card h3 {
  margin: 0 0 4px;
  font-size: .96rem;
  line-height: 1.08;
}

.owo-acc-route-flow-card p {
  margin: 0 0 6px;
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .78rem;
  line-height: 1.25;
}

.owo-acc-route-flow-card small {
  font-weight: 850;
}

.owo-acc-route-flow-card.is-locked,
.owo-acc-route-flow-card.is-missing {
  opacity: .48;
}

.owo-acc-route-main-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 12px;
  margin: 12px 0;
}

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail {
  padding: 16px;
  border: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 14%, transparent));
  border-radius: 20px;
  background: color-mix(in srgb, CanvasText 2%, Canvas 98%);
}

.owo-acc-route-clean-card h3 {
  margin: 0 0 12px;
  font-size: 1rem;
}

.owo-acc-route-summary-list {
  display: grid;
  gap: 8px;
}

.owo-acc-route-summary-list div {
  display: grid;
  gap: 3px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--owo-acc-border, color-mix(in srgb, CanvasText 10%, transparent));
}

.owo-acc-route-summary-list span {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
  font-size: .72rem;
  font-weight: 800;
}

.owo-acc-route-summary-list strong {
  font-size: .9rem;
  line-height: 1.28;
}

.owo-acc-route-action-list {
  margin: 0;
  padding-left: 20px;
}

.owo-acc-route-action-list li {
  margin-bottom: 8px;
}

.owo-acc-route-clean-detail {
  margin-top: 10px;
}

.owo-acc-route-clean-detail > summary {
  cursor: pointer;
  font-weight: 900;
  list-style: none;
}

.owo-acc-route-clean-detail > summary::-webkit-details-marker {
  display: none;
}

.owo-acc-route-empty {
  color: var(--owo-acc-muted, color-mix(in srgb, CanvasText 62%, transparent));
}

@media (max-width: 920px) {
  .owo-acc-route-flow,
  .owo-acc-route-main-grid {
    grid-template-columns: 1fr 1fr;
  }

  .owo-acc-route-separate-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .owo-acc-route-separate {
    width: min(100%, calc(100vw - 20px));
    padding: 16px;
    border-radius: 22px;
  }

  .owo-acc-route-flow,
  .owo-acc-route-main-grid {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-big-score {
    min-width: 96px;
    min-height: 96px;
  }
}


/* Reunioon Plantillas Acumulativas 0.3.6 · página limpia automática */
.page .owo-acc-route-separate,
.owo_course .owo-acc-route-separate {
  box-sizing: border-box;
}


/* Reunioon Plantillas Acumulativas 0.3.7 · Clean Canvas para avance de ruta */
.owo-acc-route-clean-canvas,
.entry-content .owo-acc-route-clean-canvas,
.wp-block-post-content .owo-acc-route-clean-canvas {
  box-sizing: border-box;
  width: min(1180px, calc(100vw - 28px)) !important;
  max-width: none !important;
  margin: clamp(18px, 4vw, 42px) auto !important;
  padding: clamp(18px, 3vw, 34px) !important;
  border: 1px solid color-mix(in srgb, CanvasText 12%, transparent) !important;
  border-radius: 28px !important;
  background: Canvas !important;
  color: CanvasText !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.entry-content > .owo-acc-route-clean-canvas,
.wp-block-post-content > .owo-acc-route-clean-canvas {
  margin-left: 50% !important;
  transform: translateX(-50%);
}

.owo-acc-route-clean-canvas *,
.owo-acc-route-clean-canvas *::before,
.owo-acc-route-clean-canvas *::after {
  box-sizing: border-box;
}

.owo-acc-route-canvas-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 4vw, 42px);
  align-items: start;
  padding-bottom: 18px;
  border-bottom: 1px solid color-mix(in srgb, CanvasText 10%, transparent);
}

.owo-acc-route-canvas-title h2 {
  margin: 0;
  max-width: 12ch;
  color: CanvasText;
  font-size: clamp(2.1rem, 5vw, 4.75rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.owo-acc-route-canvas-title p:not(.owo-acc-kicker) {
  max-width: 66ch;
  margin: 12px 0 0;
  color: color-mix(in srgb, CanvasText 68%, transparent);
  font-size: clamp(.96rem, 1.25vw, 1.08rem);
  line-height: 1.52;
}

.owo-acc-route-canvas-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.owo-acc-route-primary,
.owo-acc-route-primary:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid CanvasText;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas !important;
  font-size: .88rem;
  font-weight: 900;
  text-decoration: none !important;
}

.owo-acc-route-progress-orb {
  display: grid;
  place-items: center;
  width: clamp(96px, 13vw, 138px);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, CanvasText 13%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, CanvasText 3%, Canvas 97%);
  text-align: center;
}

.owo-acc-route-progress-orb strong {
  color: CanvasText;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: .9;
  letter-spacing: -.065em;
}

.owo-acc-route-progress-orb span {
  width: 76px;
  color: color-mix(in srgb, CanvasText 62%, transparent);
  font-size: .72rem;
  line-height: 1.08;
}

.owo-acc-route-stage-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.owo-acc-route-stage-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 76px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, CanvasText 11%, transparent);
  border-radius: 18px;
  background: color-mix(in srgb, CanvasText 2%, Canvas 98%);
}

.owo-acc-route-stage-pill > span {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-size: .84rem;
  font-weight: 950;
}

.owo-acc-route-stage-pill strong {
  display: block;
  color: CanvasText;
  font-size: .9rem;
  line-height: 1.08;
}

.owo-acc-route-stage-pill small {
  display: block;
  margin-top: 3px;
  color: color-mix(in srgb, CanvasText 62%, transparent);
  font-size: .72rem;
  font-weight: 750;
}

.owo-acc-route-stage-pill.is-locked,
.owo-acc-route-stage-pill.is-missing {
  opacity: .48;
}

.owo-acc-route-stage-pill.is-progress {
  border-color: color-mix(in srgb, CanvasText 32%, transparent);
}

.owo-acc-route-stage-pill.is-completed {
  background: color-mix(in srgb, CanvasText 7%, Canvas 93%);
}

.owo-acc-route-canvas-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) minmax(280px, .76fr);
  gap: 12px;
  margin-top: 12px;
}

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail {
  border: 1px solid color-mix(in srgb, CanvasText 11%, transparent) !important;
  border-radius: 22px !important;
  background: color-mix(in srgb, CanvasText 2%, Canvas 98%) !important;
  color: CanvasText !important;
  box-shadow: none !important;
}

.owo-acc-route-clean-card {
  padding: 16px !important;
}

.owo-acc-route-card-head {
  margin-bottom: 14px;
}

.owo-acc-route-card-head span {
  display: block;
  color: color-mix(in srgb, CanvasText 58%, transparent);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.owo-acc-route-card-head h3 {
  margin: 3px 0 0;
  color: CanvasText;
  font-size: clamp(1.08rem, 1.6vw, 1.35rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.owo-acc-route-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.owo-acc-route-summary-list div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid color-mix(in srgb, CanvasText 9%, transparent);
  border-radius: 14px;
  background: Canvas;
}

.owo-acc-route-summary-list span {
  color: color-mix(in srgb, CanvasText 58%, transparent);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.18;
}

.owo-acc-route-summary-list strong {
  color: CanvasText;
  font-size: .86rem;
  line-height: 1.28;
  font-weight: 800;
}

.owo-acc-route-action-list {
  margin: 0;
  padding-left: 20px;
  color: CanvasText;
}

.owo-acc-route-action-list li {
  margin-bottom: 10px;
  line-height: 1.34;
}

.owo-acc-route-detail-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

.owo-acc-route-clean-detail {
  padding: 14px 16px !important;
}

.owo-acc-route-clean-detail > summary {
  cursor: pointer;
  color: CanvasText;
  font-size: .92rem;
  font-weight: 900;
  list-style: none;
}

.owo-acc-route-clean-detail > summary::-webkit-details-marker {
  display: none;
}

.owo-acc-route-map {
  margin-top: 14px;
}

.owo-acc-route-course h4,
.owo-acc-route-section h5 {
  color: CanvasText;
}

.owo-acc-route-empty {
  color: color-mix(in srgb, CanvasText 62%, transparent);
  line-height: 1.45;
}

@media (max-width: 940px) {
  .owo-acc-route-canvas-head,
  .owo-acc-route-canvas-grid,
  .owo-acc-route-detail-row {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-stage-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .owo-acc-route-clean-canvas,
  .entry-content .owo-acc-route-clean-canvas,
  .wp-block-post-content .owo-acc-route-clean-canvas {
    width: min(100%, calc(100vw - 18px)) !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  .owo-acc-route-stage-row,
  .owo-acc-route-summary-list {
    grid-template-columns: 1fr;
  }
}


/* Reunioon Plantillas Acumulativas 0.3.8 · route page actual styled */
.owo-acc-route-clean-canvas,
.owo-acc-route-clean-canvas * {
  box-sizing: border-box;
}

.owo-acc-route-clean-canvas {
  --route-bg: color-mix(in srgb, Canvas 97%, CanvasText 3%);
  --route-soft: color-mix(in srgb, CanvasText 5%, transparent);
  --route-border: color-mix(in srgb, CanvasText 12%, transparent);
  --route-muted: color-mix(in srgb, CanvasText 62%, transparent);
  width: min(1180px, calc(100vw - 40px));
  margin: clamp(18px, 4vw, 42px) auto;
  padding: clamp(18px, 3vw, 34px);
  border: 1px solid var(--route-border);
  border-radius: 32px;
  background: var(--route-bg);
  color: CanvasText;
}

.owo-acc-route-canvas-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: start;
  margin-bottom: 20px;
}

.owo-acc-route-canvas-title h2 {
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.2rem, 6vw, 5rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.owo-acc-route-canvas-title > p:not(.owo-acc-kicker) {
  max-width: 62ch;
  margin: 10px 0 0;
  color: var(--route-muted);
  font-size: clamp(.98rem, 1.4vw, 1.05rem);
  line-height: 1.5;
}

.owo-acc-route-canvas-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.owo-acc-route-primary,
.owo-acc-route-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid var(--route-border);
}

.owo-acc-route-primary {
  background: CanvasText;
  color: Canvas;
  border-color: CanvasText;
}

.owo-acc-route-secondary {
  background: Canvas;
  color: CanvasText;
}

.owo-acc-route-progress-orb {
  display: grid;
  place-items: center;
  min-width: 136px;
  min-height: 136px;
  padding: 14px;
  border: 1px solid var(--route-border);
  border-radius: 999px;
  background:
    radial-gradient(circle at center, color-mix(in srgb, CanvasText 4%, Canvas 96%) 0%, Canvas 70%),
    Canvas;
}

.owo-acc-route-progress-orb strong {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.owo-acc-route-progress-orb span {
  width: 88px;
  color: var(--route-muted);
  font-size: .76rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.15;
}

.owo-acc-route-stage-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.owo-acc-route-stage-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--route-border);
  border-radius: 20px;
  background: color-mix(in srgb, Canvas 90%, CanvasText 10%);
}

.owo-acc-route-stage-pill > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-weight: 900;
}

.owo-acc-route-stage-pill strong {
  display: block;
  margin-bottom: 4px;
  font-size: .96rem;
  line-height: 1.05;
}

.owo-acc-route-stage-pill small {
  color: var(--route-muted);
  font-size: .78rem;
  line-height: 1.25;
}

.owo-acc-route-stage-pill.is-locked,
.owo-acc-route-stage-pill.is-missing { opacity: .48; }
.owo-acc-route-stage-pill.is-progress { box-shadow: 0 0 0 2px color-mix(in srgb, CanvasText 16%, transparent) inset; }

.owo-acc-route-canvas-grid,
.owo-acc-route-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 14px;
}

.owo-acc-route-detail-row { margin-top: 14px; }

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail,
.owo-acc-route-map,
.owo-acc-route-section {
  border: 1px solid var(--route-border);
  border-radius: 24px;
  background: Canvas;
}

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail { padding: 18px; }

.owo-acc-route-card-head { margin-bottom: 14px; }
.owo-acc-route-card-head span {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--route-muted);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.owo-acc-route-card-head h3 { margin: 0; font-size: 1.1rem; }

.owo-acc-route-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.owo-acc-route-summary-list div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--route-border);
  border-radius: 16px;
  background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
}

.owo-acc-route-summary-list span {
  color: var(--route-muted);
  font-size: .74rem;
  font-weight: 800;
}

.owo-acc-route-summary-list strong {
  font-size: .94rem;
  line-height: 1.3;
}

.owo-acc-route-action-list {
  margin: 0;
  padding-left: 18px;
}
.owo-acc-route-action-list li { margin-bottom: 10px; line-height: 1.4; }

.owo-acc-route-clean-detail > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 900;
}
.owo-acc-route-clean-detail > summary::-webkit-details-marker { display: none; }
.owo-acc-route-clean-detail > summary::after {
  content: '▾';
  float: right;
  color: var(--route-muted);
}
.owo-acc-route-clean-detail[open] > summary::after { content: '▴'; }

.owo-acc-route-map {
  margin-top: 14px;
  padding: 14px;
}
.owo-acc-route-course + .owo-acc-route-course { margin-top: 16px; }
.owo-acc-route-course h4 {
  margin: 0 0 10px;
  font-size: 1rem;
}
.owo-acc-route-section {
  padding: 14px;
}
.owo-acc-route-section + .owo-acc-route-section { margin-top: 10px; }
.owo-acc-route-section h5 {
  margin: 0 0 10px;
  font-size: .95rem;
}
.owo-acc-route-section dl {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 8px 14px;
  margin: 0;
}
.owo-acc-route-section dt {
  color: var(--route-muted);
  font-size: .84rem;
  font-weight: 800;
}
.owo-acc-route-section dd {
  margin: 0;
  font-size: .92rem;
  line-height: 1.4;
}

@media (max-width: 1080px) {
  .owo-acc-route-stage-row,
  .owo-acc-route-canvas-grid,
  .owo-acc-route-detail-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 820px) {
  .owo-acc-route-clean-canvas {
    width: min(100%, calc(100vw - 22px));
    padding: 16px;
    border-radius: 24px;
  }
  .owo-acc-route-canvas-head,
  .owo-acc-route-stage-row,
  .owo-acc-route-canvas-grid,
  .owo-acc-route-detail-row,
  .owo-acc-route-summary-list,
  .owo-acc-route-section dl { grid-template-columns: 1fr; }
  .owo-acc-route-progress-orb { min-width: 104px; min-height: 104px; }
}


/* Reunioon Plantillas Acumulativas 0.3.9 · navegación por páginas de etapa */
.owo-acc-route-stage-pill {
  color: inherit;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.owo-acc-route-stage-pill:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, CanvasText 28%, transparent);
}

.owo-acc-route-stage-pill.is-current {
  border-color: CanvasText;
  background: color-mix(in srgb, CanvasText 9%, Canvas 91%);
  box-shadow: 0 0 0 2px color-mix(in srgb, CanvasText 12%, transparent) inset;
}

.owo-acc-route-secondary.is-active {
  border-color: CanvasText;
  box-shadow: 0 0 0 2px color-mix(in srgb, CanvasText 10%, transparent) inset;
}

.owo-acc-route-stage-page {
  display: grid;
  gap: 14px;
}

.owo-acc-route-stage-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.owo-acc-route-stage-overview-grid > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--route-border);
  border-radius: 16px;
  background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
}

.owo-acc-route-stage-overview-grid span {
  color: var(--route-muted);
  font-size: .74rem;
  font-weight: 800;
}

.owo-acc-route-stage-overview-grid strong {
  font-size: .96rem;
  line-height: 1.25;
}

@media (max-width: 820px) {
  .owo-acc-route-stage-overview-grid {
    grid-template-columns: 1fr;
  }
}


/* Reunioon Plantillas Acumulativas 0.4.0 · avance estable por anclas */
.owo-acc-route-clean-canvas,
.owo-acc-route-clean-canvas * {
  box-sizing: border-box;
}

.owo-acc-route-clean-canvas {
  --route-bg: color-mix(in srgb, Canvas 97%, CanvasText 3%);
  --route-soft: color-mix(in srgb, CanvasText 5%, transparent);
  --route-border: color-mix(in srgb, CanvasText 12%, transparent);
  --route-muted: color-mix(in srgb, CanvasText 62%, transparent);
  width: min(1180px, calc(100vw - 40px)) !important;
  max-width: 1180px !important;
  margin: clamp(18px, 4vw, 42px) auto !important;
  padding: clamp(18px, 3vw, 34px) !important;
  border: 1px solid var(--route-border);
  border-radius: 32px;
  background: var(--route-bg);
  color: CanvasText;
}

.owo-acc-route-canvas-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: start;
  margin-bottom: 20px;
}

.owo-acc-route-canvas-title h2 {
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.2rem, 6vw, 5rem);
  line-height: .88;
  letter-spacing: -.075em;
}

.owo-acc-route-canvas-title > p:not(.owo-acc-kicker) {
  max-width: 62ch;
  margin: 10px 0 0;
  color: var(--route-muted);
  font-size: clamp(.98rem, 1.4vw, 1.05rem);
  line-height: 1.5;
}

.owo-acc-route-canvas-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.owo-acc-route-primary,
.owo-acc-route-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid var(--route-border);
}

.owo-acc-route-primary {
  background: CanvasText;
  color: Canvas;
  border-color: CanvasText;
}

.owo-acc-route-secondary {
  background: Canvas;
  color: CanvasText;
}

.owo-acc-route-progress-orb {
  display: grid;
  place-items: center;
  min-width: 136px;
  min-height: 136px;
  padding: 14px;
  border: 1px solid var(--route-border);
  border-radius: 999px;
  background: Canvas;
}

.owo-acc-route-progress-orb strong {
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.owo-acc-route-progress-orb span {
  width: 88px;
  color: var(--route-muted);
  font-size: .76rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.15;
}

.owo-acc-route-stage-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.owo-acc-route-stage-pill {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--route-border);
  border-radius: 20px;
  background: color-mix(in srgb, Canvas 90%, CanvasText 10%);
  color: inherit;
  text-decoration: none;
}

.owo-acc-route-stage-pill > span {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: CanvasText;
  color: Canvas;
  font-weight: 900;
}

.owo-acc-route-stage-pill strong {
  display: block;
  margin-bottom: 4px;
  font-size: .96rem;
  line-height: 1.05;
}

.owo-acc-route-stage-pill small {
  color: var(--route-muted);
  font-size: .78rem;
  line-height: 1.25;
}

.owo-acc-route-stage-pill.is-later,
.owo-acc-route-stage-pill.is-missing {
  opacity: .56;
}

.owo-acc-route-canvas-grid,
.owo-acc-route-detail-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 14px;
}

.owo-acc-route-detail-row {
  margin-top: 14px;
}

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail,
.owo-acc-route-stage-section,
.owo-acc-route-map,
.owo-acc-route-section {
  border: 1px solid var(--route-border);
  border-radius: 24px;
  background: Canvas;
}

.owo-acc-route-clean-card,
.owo-acc-route-clean-detail,
.owo-acc-route-stage-section {
  padding: 18px;
}

.owo-acc-route-card-head {
  margin-bottom: 14px;
}

.owo-acc-route-card-head span {
  display: inline-block;
  margin-bottom: 6px;
  color: var(--route-muted);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.owo-acc-route-card-head h3 {
  margin: 0;
  font-size: 1.1rem;
}

.owo-acc-route-card-head p {
  margin: 6px 0 0;
  color: var(--route-muted);
}

.owo-acc-route-summary-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.owo-acc-route-summary-list div,
.owo-acc-route-stage-overview-grid > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--route-border);
  border-radius: 16px;
  background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
}

.owo-acc-route-summary-list span,
.owo-acc-route-stage-overview-grid span {
  color: var(--route-muted);
  font-size: .74rem;
  font-weight: 800;
}

.owo-acc-route-summary-list strong,
.owo-acc-route-stage-overview-grid strong {
  font-size: .94rem;
  line-height: 1.3;
}

.owo-acc-route-action-list {
  margin: 0;
  padding-left: 18px;
}

.owo-acc-route-action-list li {
  margin-bottom: 10px;
  line-height: 1.4;
}

.owo-acc-route-stage-sections {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.owo-acc-route-stage-section {
  scroll-margin-top: 24px;
}

.owo-acc-route-stage-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.owo-acc-route-stage-link {
  margin: 14px 0 0;
}

.owo-acc-route-clean-detail > summary {
  cursor: pointer;
  list-style: none;
  font-weight: 900;
}

.owo-acc-route-clean-detail > summary::-webkit-details-marker {
  display: none;
}

.owo-acc-route-clean-detail > summary::after {
  content: '▾';
  float: right;
  color: var(--route-muted);
}

.owo-acc-route-clean-detail[open] > summary::after {
  content: '▴';
}

.owo-acc-route-map {
  margin-top: 14px;
  padding: 14px;
}

.owo-acc-route-course + .owo-acc-route-course {
  margin-top: 16px;
}

.owo-acc-route-course h4 {
  margin: 0 0 10px;
  font-size: 1rem;
}

.owo-acc-route-section {
  padding: 14px;
}

.owo-acc-route-section + .owo-acc-route-section {
  margin-top: 10px;
}

.owo-acc-route-section h5 {
  margin: 0 0 10px;
  font-size: .95rem;
}

.owo-acc-route-section dl {
  display: grid;
  grid-template-columns: minmax(0, 220px) minmax(0, 1fr);
  gap: 8px 14px;
  margin: 0;
}

.owo-acc-route-section dt {
  color: var(--route-muted);
  font-size: .84rem;
  font-weight: 800;
}

.owo-acc-route-section dd {
  margin: 0;
  font-size: .92rem;
  line-height: 1.4;
}

.owo-acc-route-empty {
  color: var(--route-muted);
}

@media (max-width: 1080px) {
  .owo-acc-route-stage-row,
  .owo-acc-route-canvas-grid,
  .owo-acc-route-detail-row {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 820px) {
  .owo-acc-route-clean-canvas {
    width: min(100%, calc(100vw - 22px)) !important;
    padding: 16px !important;
    border-radius: 24px;
  }

  .owo-acc-route-canvas-head,
  .owo-acc-route-stage-row,
  .owo-acc-route-canvas-grid,
  .owo-acc-route-detail-row,
  .owo-acc-route-summary-list,
  .owo-acc-route-stage-overview-grid,
  .owo-acc-route-section dl {
    grid-template-columns: 1fr;
  }

  .owo-acc-route-progress-orb {
    min-width: 104px;
    min-height: 104px;
  }
}
