/* Nòduls · Sistema visual consolidat v8
   Criteris 1–16: neteja, jerarquia, cerques, pestanyes, compactació,
   resums sticky, ajuda contextual, responsive i accessibilitat.
*/

.page--generator.v8-polish {
  --v8-bg: #f5f8ff;
  --v8-surface: #ffffff;
  --v8-surface-soft: #f7faff;
  --v8-surface-cyan: #edfafd;
  --v8-surface-blue: #eef3ff;
  --v8-surface-warm: #fffaf0;
  --v8-ink: #10234a;
  --v8-ink-2: #29466f;
  --v8-muted: #405a82;
  --v8-line: #d8e3f5;
  --v8-line-strong: #9fb4d5;
  --v8-primary: #365bdc;
  --v8-primary-strong: #2448c7;
  --v8-primary-soft: #e8efff;
  --v8-cyan: #08a6ba;
  --v8-cyan-soft: #e8fbfd;
  --v8-success: #078f6a;
  --v8-success-soft: #e9faf4;
  --v8-warning: #bd7713;
  --v8-warning-soft: #fff7e6;
  --v8-danger: #c84f5c;
  --v8-danger-soft: #fff0f2;
  --v8-radius: .2rem;
  --v8-shadow: 0 12px 32px rgba(31, 57, 119, .075);
  --v8-shadow-soft: 0 6px 18px rgba(31, 57, 119, .055);
  color: var(--v8-ink);
  background: var(--v8-bg);
}

/* 1–2 · Neteja global i escala tipogràfica. */
.page--generator.v8-polish,
.page--generator.v8-polish button,
.page--generator.v8-polish input,
.page--generator.v8-polish select,
.page--generator.v8-polish textarea {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.page--generator.v8-polish .noduls-admin-v7__content {
  padding: .9rem 1rem 1.35rem;
}

.page--generator.v8-polish .noduls-admin-v7__intro {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .75rem;
  margin-bottom: .7rem;
}

.page--generator.v8-polish .noduls-admin-v7__intro > span,
.page--generator.v8-polish .generator-panel__heading > span {
  color: var(--v8-primary) !important;
  font-size: .62rem !important;
  font-weight: 840 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase;
}

.page--generator.v8-polish .noduls-admin-v7__intro > h2 {
  grid-column: 1;
  margin: .17rem 0 0 !important;
  color: var(--v8-ink) !important;
  font-size: 1.44rem !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -.034em !important;
}

.page--generator.v8-polish .noduls-admin-v7__intro > p {
  grid-column: 1;
  max-width: 59rem;
  margin: .26rem 0 0 !important;
  color: var(--v8-muted) !important;
  font-size: .78rem !important;
  line-height: 1.48 !important;
}

.page--generator.v8-polish main h2 {
  color: var(--v8-ink) !important;
  font-size: 1.18rem !important;
  font-weight: 790 !important;
  line-height: 1.18 !important;
  letter-spacing: -.022em !important;
}

.page--generator.v8-polish main h3 {
  color: var(--v8-ink) !important;
  font-size: 1.04rem !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  letter-spacing: -.018em !important;
}

.page--generator.v8-polish main h4 {
  color: var(--v8-ink) !important;
  font-size: .92rem !important;
  font-weight: 770 !important;
  line-height: 1.24 !important;
  letter-spacing: -.012em !important;
}

.page--generator.v8-polish main p,
.page--generator.v8-polish main small,
.page--generator.v8-polish main dt {
  color: var(--v8-muted) !important;
}

.page--generator.v8-polish main strong,
.page--generator.v8-polish main dd {
  color: var(--v8-ink) !important;
}

/* Superfícies fosques heretades: substitució completa. */
.page--generator.v8-polish :is(
  .generator-catalog__summary,
  .curriculum-selector__main,
  .curriculum-selection-summary,
  .curriculum-selector__tab-intro,
  .curriculum-item,
  .annual-builder,
  .annual-builder__header,
  .annual-term,
  .annual-item,
  .curriculum-distribution,
  .curriculum-distribution__header,
  .curriculum-distribution__main,
  .distribution-sa-summary,
  .distribution-item,
  .sa-editor__empty,
  .sa-editor__workspace,
  .sa-editor__topbar,
  .sa-editor__section,
  .sa-curriculum,
  .sa-objectives,
  .sa-methodology,
  .sa-inclusion,
  .sa-assessment,
  .sa-review,
  .review-dashboard,
  .review-coverage,
  .review-map-table,
  .review-term-balance,
  .review-checks,
  .generator-export
) {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.page--generator.v8-polish :is(
  .generator-catalog__summary,
  .curriculum-selection-summary,
  .distribution-sa-summary,
  .review-checks,
  .noduls-v8-sa-status
) {
  box-shadow: var(--v8-shadow-soft) !important;
}

/* Geometria coherent. */
.page--generator.v8-polish :is(
  button, input, select, textarea,
  [class*="card"], [class*="panel"], [class*="summary"],
  [class*="section"], [class*="workspace"], [class*="item"],
  [class*="toolbar"], [class*="message"], [class*="notice"]
) {
  border-radius: var(--v8-radius) !important;
}

/* 3–4 · Cerques unificades i lupa. */
.page--generator.v8-polish :is(
  .noduls-admin-v7__search,
  .curriculum-selector__search,
  .curriculum-distribution__search
) {
  position: relative;
}

.page--generator.v8-polish :is(
  .noduls-admin-v7__search img,
  .curriculum-selector__search svg,
  .curriculum-distribution__search svg
) {
  position: absolute !important;
  z-index: 2;
  top: 50% !important;
  left: .78rem !important;
  width: 1.04rem !important;
  height: 1.04rem !important;
  margin: 0 !important;
  color: var(--v8-primary) !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
  transform: translateY(-50%) !important;
  pointer-events: none;
}

.page--generator.v8-polish :is(
  .noduls-admin-v7__search input,
  .curriculum-selector__search input,
  .curriculum-distribution__search input
) {
  min-height: 2.65rem !important;
  padding-left: 2.55rem !important;
  padding-right: 2.4rem !important;
  border: 1px solid var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface) !important;
  font-size: .77rem !important;
}

.page--generator.v8-polish :is(
  .noduls-admin-v7__search input,
  .curriculum-selector__search input,
  .curriculum-distribution__search input
):focus {
  border-color: var(--v8-primary) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 .2rem rgba(54, 91, 220, .1) !important;
}

.noduls-v8-search-clear {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: .42rem;
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: var(--v8-muted);
  background: transparent;
  transform: translateY(-50%);
  cursor: pointer;
}

.noduls-v8-search-clear[hidden] {
  display: none !important;
}

.noduls-v8-search-clear:hover {
  color: var(--v8-primary);
  background: var(--v8-primary-soft);
}

.noduls-v8-search-clear img {
  width: .82rem;
  height: .82rem;
}

/* 3 · Pestanyes identificables. */
.page--generator.v8-polish :is(
  .curriculum-selector__tabs,
  .curriculum-distribution__tabs,
  .noduls-v8-tabs
) {
  display: flex;
  gap: .18rem;
  min-width: 0;
  padding: .28rem .28rem 0 !important;
  overflow-x: auto;
  border: 1px solid var(--v8-line) !important;
  border-bottom-color: var(--v8-line-strong) !important;
  background: var(--v8-surface-soft) !important;
  scrollbar-width: thin;
}

.page--generator.v8-polish :is(
  .curriculum-selector__tabs button,
  .curriculum-distribution__tabs button,
  .noduls-v8-tab
) {
  position: relative;
  flex: 0 0 auto;
  min-height: 2.72rem !important;
  display: inline-flex !important;
  align-items: center;
  gap: .42rem;
  padding: 0 .78rem !important;
  border: 0 !important;
  color: var(--v8-muted) !important;
  background: transparent !important;
  font-size: .73rem !important;
  font-weight: 760 !important;
  cursor: pointer;
}

.page--generator.v8-polish :is(
  .curriculum-selector__tabs button,
  .curriculum-distribution__tabs button,
  .noduls-v8-tab
)::after {
  content: "";
  position: absolute;
  right: .55rem;
  bottom: 0;
  left: .55rem;
  height: .17rem;
  background: linear-gradient(90deg, var(--v8-primary), var(--v8-cyan));
  opacity: 0;
}

.page--generator.v8-polish :is(
  .curriculum-selector__tabs button.is-active,
  .curriculum-distribution__tabs button.is-active,
  .noduls-v8-tab[aria-selected="true"]
) {
  color: var(--v8-primary-strong) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish :is(
  .curriculum-selector__tabs button.is-active,
  .curriculum-distribution__tabs button.is-active,
  .noduls-v8-tab[aria-selected="true"]
)::after {
  opacity: 1;
}

.page--generator.v8-polish :is(
  .curriculum-selector__tabs button strong,
  .curriculum-distribution__tabs button strong,
  .noduls-v8-tab__count
) {
  min-width: 1.35rem;
  height: 1.35rem;
  display: inline-grid;
  place-items: center;
  padding: 0 .3rem;
  border-radius: 999px !important;
  color: var(--v8-primary-strong) !important;
  background: var(--v8-primary-soft) !important;
  font-size: .61rem !important;
  font-weight: 820 !important;
}

/* 5 · Curs i matèria. */
.page--generator.v8-polish .generator-catalog {
  display: grid;
  gap: .8rem;
}

.page--generator.v8-polish .generator-catalog__stage {
  padding: .72rem 0;
  border-bottom: 1px solid var(--v8-line);
}

.page--generator.v8-polish .generator-catalog__stage span {
  color: var(--v8-primary) !important;
  font-size: .62rem !important;
  font-weight: 820 !important;
}

.page--generator.v8-polish .generator-catalog__stage strong {
  color: var(--v8-ink) !important;
  font-size: 1.08rem !important;
}

.page--generator.v8-polish .generator-catalog__grid {
  gap: .9rem !important;
}

.page--generator.v8-polish .generator-catalog__summary {
  display: grid !important;
  grid-template-columns: minmax(14rem, 1.2fr) repeat(3, minmax(8rem, .65fr));
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .generator-catalog__summary-heading {
  padding: .8rem .9rem;
  border-right: 1px solid var(--v8-line);
}

.page--generator.v8-polish .generator-catalog__summary-heading > span {
  color: var(--v8-primary) !important;
  font-size: .58rem !important;
  font-weight: 820 !important;
}

.page--generator.v8-polish .generator-catalog__summary-heading h3 {
  margin: .18rem 0 0 !important;
  color: var(--v8-ink) !important;
  font-family: inherit !important;
  font-size: 1.08rem !important;
}

.page--generator.v8-polish .generator-catalog__metadata {
  display: contents !important;
}

.page--generator.v8-polish .generator-catalog__metadata > div {
  min-width: 0;
  padding: .8rem .9rem !important;
  border-left: 0 !important;
  border-right: 1px solid var(--v8-line);
}

.page--generator.v8-polish .generator-catalog__metadata dt {
  color: var(--v8-muted) !important;
  font-size: .58rem !important;
  font-weight: 800 !important;
}

.page--generator.v8-polish .generator-catalog__metadata dd {
  margin: .22rem 0 0 !important;
  color: var(--v8-ink) !important;
  font-size: .78rem !important;
  font-weight: 780 !important;
}

.page--generator.v8-polish .generator-catalog__notes,
.page--generator.v8-polish .generator-catalog__status {
  grid-column: 1 / -1;
}

/* 6 · Selecció curricular clara i sticky. */
.page--generator.v8-polish .curriculum-selector__intro {
  gap: 1rem;
  padding-bottom: .8rem !important;
  border-bottom: 1px solid var(--v8-line);
}

.page--generator.v8-polish .curriculum-selector__intro h3 {
  margin-top: .25rem !important;
}

.page--generator.v8-polish .curriculum-selector__context {
  min-width: 19rem;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .curriculum-selector__toolbar {
  gap: .65rem;
  padding: .7rem !important;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish .curriculum-selector__layout {
  grid-template-columns: minmax(0, 1fr) 18rem !important;
  gap: .8rem !important;
  align-items: start;
}

.page--generator.v8-polish .curriculum-selector__main {
  overflow: hidden;
  border: 1px solid var(--v8-line) !important;
}

.page--generator.v8-polish .curriculum-selector__tab-intro {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .56fr);
  gap: .8rem !important;
  padding: .85rem !important;
  border-bottom: 1px solid var(--v8-line);
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .curriculum-selector__tab-intro h4 {
  margin: .18rem 0 0 !important;
}

.page--generator.v8-polish .curriculum-selector__items {
  display: grid;
  gap: .48rem;
  padding: .72rem !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .curriculum-item {
  padding: .72rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .curriculum-item:hover {
  border-color: var(--v8-line-strong) !important;
  box-shadow: var(--v8-shadow-soft) !important;
}

.page--generator.v8-polish .curriculum-item:has(input:checked) {
  border-color: rgba(54, 91, 220, .48) !important;
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish .curriculum-item__check {
  border-color: var(--v8-line-strong) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .curriculum-item input:checked + .curriculum-item__check {
  border-color: var(--v8-primary) !important;
  color: #fff !important;
  background: var(--v8-primary) !important;
}

.page--generator.v8-polish .curriculum-item__meta strong {
  color: var(--v8-primary-strong) !important;
}

.page--generator.v8-polish .curriculum-item__text {
  color: var(--v8-ink) !important;
  font-size: .76rem !important;
  line-height: 1.48 !important;
}

.page--generator.v8-polish .curriculum-selection-summary {
  position: sticky !important;
  top: 5.2rem !important;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .curriculum-selection-summary header {
  padding-bottom: .65rem;
  border-bottom: 1px solid var(--v8-line);
}

.page--generator.v8-polish .curriculum-selection-summary header > span {
  color: var(--v8-primary) !important;
}

.page--generator.v8-polish .curriculum-selection-summary dl > div {
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .curriculum-selection-summary dd {
  color: var(--v8-primary-strong) !important;
  font-size: 1.05rem !important;
}

/* 7 · Estructura anual compacta. */
.page--generator.v8-polish .annual-builder {
  display: grid;
  gap: .7rem;
}

.page--generator.v8-polish .annual-builder__header {
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish .annual-builder__header h3 {
  margin: .18rem 0 0 !important;
  font-size: 1.08rem !important;
}

.page--generator.v8-polish .annual-builder__header p {
  max-width: 52rem;
  margin-top: .22rem !important;
  font-size: .72rem !important;
}

.page--generator.v8-polish .annual-builder__summary {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .annual-builder__summary > div {
  padding: .62rem .72rem !important;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .annual-builder__summary strong {
  color: var(--v8-primary-strong) !important;
  font-size: 1.02rem !important;
}

.page--generator.v8-polish .annual-builder__terms {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}

.page--generator.v8-polish .annual-term {
  min-width: 0;
  padding: .68rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .annual-term__header {
  padding-bottom: .5rem !important;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .annual-term__header h4 {
  font-size: .88rem !important;
}

.page--generator.v8-polish .annual-item {
  margin-top: .48rem !important;
  padding: .62rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .annual-item__header {
  gap: .5rem;
}

.page--generator.v8-polish .annual-item__fields {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 6rem 7.5rem !important;
  gap: .45rem !important;
  margin-top: .55rem !important;
}

.page--generator.v8-polish .annual-item__field--wide {
  grid-column: auto !important;
}

.page--generator.v8-polish .annual-item :is(input, select, textarea) {
  min-height: 2.35rem !important;
  font-size: .7rem !important;
}

.page--generator.v8-polish .annual-item textarea {
  min-height: 2.35rem !important;
  resize: vertical;
}

.page--generator.v8-polish .annual-item__footer {
  margin-top: .45rem !important;
  padding-top: .45rem !important;
  border-color: var(--v8-line) !important;
}

/* Distribució i cobertura. */
.page--generator.v8-polish .curriculum-distribution__header {
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish .curriculum-distribution__header h3 {
  margin: .18rem 0 0 !important;
  font-size: 1.08rem !important;
}

.page--generator.v8-polish .curriculum-distribution__coverage strong,
.page--generator.v8-polish [data-review-coverage-total] {
  color: var(--v8-primary-strong) !important;
  opacity: 1 !important;
  font-size: 1.35rem !important;
}

.page--generator.v8-polish .curriculum-distribution__metrics,
.page--generator.v8-polish .review-dashboard__metrics {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .curriculum-distribution__metrics > div,
.page--generator.v8-polish .review-dashboard__metrics > div {
  padding: .6rem .7rem !important;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .curriculum-distribution__metrics strong,
.page--generator.v8-polish .review-dashboard__metrics strong {
  color: var(--v8-primary-strong) !important;
  font-size: 1rem !important;
}

.page--generator.v8-polish .curriculum-distribution__toolbar {
  gap: .6rem !important;
  padding: .68rem !important;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .curriculum-distribution__layout {
  grid-template-columns: minmax(0, 1fr) 18rem !important;
  gap: .8rem !important;
}

.page--generator.v8-polish .curriculum-distribution__main {
  overflow: hidden;
  border: 1px solid var(--v8-line) !important;
}

.page--generator.v8-polish .curriculum-distribution__items {
  display: grid;
  gap: .45rem;
  padding: .68rem !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .distribution-item {
  padding: .68rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .distribution-item:has(input:checked) {
  border-color: rgba(54, 91, 220, .45) !important;
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish .distribution-item__text {
  color: var(--v8-ink) !important;
  font-size: .74rem !important;
}

.page--generator.v8-polish .distribution-sa-summary {
  position: sticky !important;
  top: 5.2rem !important;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
}

.noduls-v8-coverage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: .8rem;
}

.noduls-v8-coverage__main,
.noduls-v8-coverage__aside {
  padding: .9rem;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface);
}

.noduls-v8-coverage__aside {
  position: sticky;
  top: 5.2rem;
  align-self: start;
  box-shadow: var(--v8-shadow-soft);
}

.noduls-v8-coverage__metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}

.noduls-v8-coverage__metric {
  padding: .72rem;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface-soft);
}

.noduls-v8-coverage__metric span {
  display: block;
  color: var(--v8-muted);
  font-size: .61rem;
  font-weight: 760;
}

.noduls-v8-coverage__metric strong {
  display: block;
  margin-top: .22rem;
  color: var(--v8-primary-strong) !important;
  font-size: 1.2rem;
}

.noduls-v8-coverage__bars {
  display: grid;
  gap: .65rem;
  margin-top: .85rem;
}

.noduls-v8-coverage__bar div {
  height: .38rem;
  margin-top: .3rem;
  overflow: hidden;
  background: var(--v8-primary-soft);
}

.noduls-v8-coverage__bar div span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--v8-primary), var(--v8-cyan));
}

/* 8 · Constructor de SA: pestanyes i resum sticky. */
.page--generator.v8-polish [data-generator-panel="3"].noduls-v8-step5 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: .8rem;
  align-items: start;
}

.page--generator.v8-polish [data-generator-panel="3"] > .noduls-v8-tabs {
  grid-column: 1 / -1;
}

.page--generator.v8-polish [data-generator-panel="3"] > :is(
  .sa-editor,
  .sa-curriculum,
  .sa-objectives,
  .sa-methodology,
  .sa-inclusion,
  .sa-assessment,
  .sa-review
) {
  grid-column: 1;
  min-width: 0;
}

.noduls-v8-sa-status {
  grid-column: 2;
  position: sticky;
  top: 5.2rem;
  align-self: start;
  padding: .85rem;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface);
}

.noduls-v8-sa-status__title {
  margin: .18rem 0 .7rem;
  color: var(--v8-ink);
  font-size: .95rem;
}

.noduls-v8-sa-status dl {
  margin: 0;
}

.noduls-v8-sa-status dl > div {
  display: flex;
  justify-content: space-between;
  gap: .65rem;
  padding: .48rem 0;
  border-top: 1px solid var(--v8-line);
}

.noduls-v8-sa-status dt {
  font-size: .64rem;
}

.noduls-v8-sa-status dd {
  margin: 0;
  font-size: .7rem;
  font-weight: 780;
  text-align: right;
}

.noduls-v8-sa-status__state {
  margin-top: .7rem;
  padding: .6rem;
  border-left: .18rem solid var(--v8-warning);
  color: #7d510c;
  background: var(--v8-warning-soft);
  font-size: .65rem;
  line-height: 1.42;
}

.noduls-v8-sa-status__state.is-ready {
  border-left-color: var(--v8-success);
  color: #12684f;
  background: var(--v8-success-soft);
}

.page--generator.v8-polish .sa-editor__topbar {
  padding: .75rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish .sa-editor__identity > span {
  color: #fff !important;
  background: var(--v8-primary) !important;
}

.page--generator.v8-polish .sa-editor__identity h3 {
  font-size: 1.08rem !important;
}

.page--generator.v8-polish .sa-editor__overview {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .sa-editor__overview > div {
  padding: .58rem .68rem !important;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .sa-editor__section {
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .sa-editor__section > header {
  padding-bottom: .6rem !important;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .sa-editor__section > header > span {
  color: var(--v8-primary) !important;
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish :is(
  .sa-curriculum__header,
  .sa-objectives__header,
  .sa-methodology__header,
  .sa-inclusion__header,
  .sa-assessment__header,
  .sa-review__header
) {
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish :is(
  .sa-curriculum,
  .sa-objectives,
  .sa-methodology,
  .sa-inclusion,
  .sa-assessment,
  .sa-review
) {
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
}

/* 9 · Revisió i mapatge. */
.page--generator.v8-polish .review-dashboard__header {
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
  background: var(--v8-surface-cyan) !important;
}

.page--generator.v8-polish .review-dashboard__layout {
  grid-template-columns: minmax(0, 1fr) 18rem !important;
  gap: .8rem !important;
}

.page--generator.v8-polish .review-coverage,
.page--generator.v8-polish .review-map-table,
.page--generator.v8-polish .review-term-balance {
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
}

.page--generator.v8-polish .review-checks {
  position: sticky !important;
  top: 5.2rem !important;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
}

.page--generator.v8-polish .review-coverage__rows article {
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .review-coverage__rows article > div:last-child,
.page--generator.v8-polish .review-term > div:last-child {
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish .review-coverage__rows article > div:last-child span,
.page--generator.v8-polish .review-term > div:last-child span {
  background: linear-gradient(90deg, var(--v8-primary), var(--v8-cyan)) !important;
}

.page--generator.v8-polish .review-map-table th {
  color: var(--v8-ink-2) !important;
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish .review-map-table td {
  color: var(--v8-ink-2) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish .generator-export {
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
}

/* 10 · Bombilla, info i drawer. */
.noduls-v8-tip-button {
  grid-column: 2;
  grid-row: 1 / span 3;
  min-height: 2.55rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: 0 .7rem;
  border: 1px solid rgba(189, 119, 19, .28);
  color: #86540d;
  background: var(--v8-warning-soft);
  font-size: .68rem;
  font-weight: 780;
  cursor: pointer;
}

.noduls-v8-tip-button:hover {
  border-color: var(--v8-warning);
  background: #fff2cf;
}

.noduls-v8-tip-button img,
.noduls-v8-tip-button svg {
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 1.15rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.85;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.noduls-v8-info {
  width: 1.8rem;
  height: 1.8rem;
  display: inline-grid;
  place-items: center;
  margin-left: .28rem;
  padding: 0;
  border: 0;
  border-radius: var(--v8-radius) !important;
  color: var(--v8-primary-strong);
  background: transparent;
  vertical-align: middle;
  cursor: pointer;
}

.noduls-v8-info :is(img, svg) {
  width: 1.22rem;
  height: 1.22rem;
}

.noduls-v8-tip-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 220;
  width: min(25rem, calc(100vw - 1rem));
  height: 100vh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  border-left: 1px solid var(--v8-line);
  background: var(--v8-surface);
  box-shadow: -18px 0 50px rgba(23, 46, 102, .16);
  transform: translateX(102%);
  transition: transform .2s ease;
}

.page--generator.v8-tips-open .noduls-v8-tip-drawer {
  transform: translateX(0);
}

.noduls-v8-tip-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .9rem;
  border-bottom: 1px solid var(--v8-line);
  background: var(--v8-surface-warm);
}

.noduls-v8-tip-drawer__header strong {
  color: var(--v8-ink);
  font-size: .92rem;
}

.noduls-v8-tip-drawer__close {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface);
}

.noduls-v8-tip-drawer__close img {
  width: .86rem;
  height: .86rem;
}

.noduls-v8-tip-drawer__body {
  overflow-y: auto;
  padding: .95rem;
}

.noduls-v8-tip-drawer__body h3 {
  margin: 0 0 .35rem;
}

.noduls-v8-tip-drawer__body p {
  margin: 0 0 .85rem;
  color: var(--v8-muted);
  font-size: .74rem;
  line-height: 1.52;
}

.noduls-v8-tip-list {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.noduls-v8-tip-list li {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  gap: .5rem;
  padding: .65rem;
  border: 1px solid var(--v8-line);
  background: var(--v8-surface-soft);
  color: var(--v8-ink-2);
  font-size: .7rem;
  line-height: 1.45;
}

.noduls-v8-tip-list span {
  width: 1.35rem;
  height: 1.35rem;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--v8-primary);
  font-size: .58rem;
  font-weight: 820;
}

.noduls-v8-tip-backdrop {
  position: fixed;
  inset: 0;
  z-index: 210;
  border: 0;
  background: rgba(16, 35, 74, .22);
  backdrop-filter: blur(2px);
}

.noduls-v8-tip-backdrop[hidden] {
  display: none !important;
}

/* 11 · Sidebar més llegible. */
.page--generator.v8-polish .noduls-admin-v7__steps .generator-step {
  min-height: 4rem;
}

.page--generator.v8-polish .noduls-admin-v7__steps strong {
  font-size: .79rem !important;
}

.page--generator.v8-polish .noduls-admin-v7__steps small {
  color: var(--v8-muted) !important;
  font-size: .61rem !important;
  line-height: 1.3;
}

.page--generator.v8-polish .noduls-admin-v7__steps .step-count {
  color: var(--v8-muted);
  font-size: .61rem;
}

.page--generator.v8-polish .noduls-admin-v7__steps .generator-step.is-active {
  color: var(--v8-primary-strong);
  background: linear-gradient(135deg, var(--v8-primary-soft), var(--v8-cyan-soft));
}

/* Inputs i botons. */
.page--generator.v8-polish label {
  color: var(--v8-ink) !important;
  font-size: .72rem !important;
  font-weight: 760 !important;
}

.page--generator.v8-polish :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea:not([data-item-focus])) {
  border: 1px solid var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface) !important;
}

.page--generator.v8-polish :is(input, textarea)::placeholder {
  color: #7a8cac !important;
  opacity: .9 !important;
}

.page--generator.v8-polish :is(input, select, textarea):focus {
  border-color: var(--v8-primary) !important;
  outline: 0 !important;
  box-shadow: 0 0 0 .2rem rgba(54, 91, 220, .1) !important;
}

.page--generator.v8-polish :is(
  [data-generator-next],
  [data-next-step],
  button[type="submit"],
  .is-primary
) {
  border-color: var(--v8-success) !important;
  color: #fff !important;
  background: var(--v8-success) !important;
}

.page--generator.v8-polish :is(
  [data-generator-next],
  [data-next-step],
  button[type="submit"],
  .is-primary
):hover {
  border-color: #057657 !important;
  background: #057657 !important;
}

/* 12–14 · Responsive, accessibilitat i verificació visual. */
@media (max-width: 78rem) {
  .page--generator.v8-polish .curriculum-selector__layout,
  .page--generator.v8-polish .curriculum-distribution__layout,
  .page--generator.v8-polish .review-dashboard__layout,
  .noduls-v8-coverage {
    grid-template-columns: minmax(0, 1fr) 16rem !important;
  }

  .page--generator.v8-polish [data-generator-panel="3"].noduls-v8-step5 {
    grid-template-columns: minmax(0, 1fr) 16rem;
  }

  .page--generator.v8-polish .annual-builder__terms {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 64rem) {
  .page--generator.v8-polish .curriculum-selector__layout,
  .page--generator.v8-polish .curriculum-distribution__layout,
  .page--generator.v8-polish .review-dashboard__layout,
  .noduls-v8-coverage,
  .page--generator.v8-polish [data-generator-panel="3"].noduls-v8-step5 {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish :is(
    .curriculum-selection-summary,
    .distribution-sa-summary,
    .review-checks,
    .noduls-v8-coverage__aside,
    .noduls-v8-sa-status
  ) {
    position: static !important;
    grid-column: 1 !important;
  }

  .page--generator.v8-polish .generator-catalog__summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page--generator.v8-polish .generator-catalog__summary-heading {
    grid-column: 1 / -1;
    border-right: 0;
    border-bottom: 1px solid var(--v8-line);
  }
}

@media (max-width: 48rem) {
  .page--generator.v8-polish .noduls-admin-v7__intro {
    grid-template-columns: 1fr;
  }

  .noduls-v8-tip-button {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .page--generator.v8-polish .curriculum-selector__intro,
  .page--generator.v8-polish .curriculum-selector__tab-intro {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .curriculum-selector__context {
    min-width: 0;
  }

  .page--generator.v8-polish .annual-builder__summary,
  .page--generator.v8-polish .curriculum-distribution__metrics,
  .page--generator.v8-polish .review-dashboard__metrics,
  .noduls-v8-coverage__metrics,
  .page--generator.v8-polish .sa-editor__overview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .generator-catalog__summary {
    grid-template-columns: 1fr;
  }

  .page--generator.v8-polish .generator-catalog__metadata > div {
    border-right: 0;
    border-top: 1px solid var(--v8-line);
  }
}

@media (prefers-reduced-motion: reduce) {
  .noduls-v8-tip-drawer {
    transition-duration: .01ms;
  }
}

/* Home: només correcció de patrons de cerca si existeixen. */
.page--home :is(.home-search, [data-home-search]) {
  position: relative;
}

.page--home :is(.home-search, [data-home-search]) input {
  padding-left: 2.7rem !important;
}

.page--home :is(.home-search, [data-home-search]) :is(svg, img) {
  position: absolute;
  top: 50%;
  left: .8rem;
  width: 1.05rem;
  height: 1.05rem;
  transform: translateY(-50%);
}


/* v8.2.0 · Afinat visual de l'Estructura anual i llegibilitat */
.page--generator.v8-polish .annual-builder__header,
.page--generator.v8-polish .curriculum-distribution__header,
.page--generator.v8-polish .annual-term,
.page--generator.v8-polish .annual-item,
.page--generator.v8-polish .distribution-item,
.page--generator.v8-polish .distribution-sa-summary {
  box-shadow: none !important;
}

.page--generator.v8-polish .annual-builder__summary > div,
.page--generator.v8-polish .curriculum-distribution__metrics > div {
  background: #ffffff !important;
}

.page--generator.v8-polish .annual-builder__summary small,
.page--generator.v8-polish .annual-builder__summary span,
.page--generator.v8-polish .annual-term__header small,
.page--generator.v8-polish .annual-term__header span,
.page--generator.v8-polish .annual-item__header small,
.page--generator.v8-polish .annual-item__footer,
.page--generator.v8-polish .distribution-item__text small,
.page--generator.v8-polish .curriculum-distribution__coverage small,
.page--generator.v8-polish [data-review-coverage-total] + small {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .annual-term__header h4,
.page--generator.v8-polish .annual-item__header h4,
.page--generator.v8-polish .distribution-sa-summary h3,
.page--generator.v8-polish .distribution-item__text strong,
.page--generator.v8-polish .curriculum-distribution__metrics strong,
.page--generator.v8-polish .annual-builder__summary strong {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .annual-item__fields {
  align-items: start !important;
}

.page--generator.v8-polish .annual-item :is(input, select) {
  min-height: 2.5rem !important;
  height: 2.5rem !important;
  line-height: 1.2 !important;
  padding: .62rem .78rem !important;
  font-size: .8rem !important;
  font-weight: 560 !important;
}


.page--generator.v8-polish .annual-item textarea::-webkit-scrollbar {
  height: 6px;
}

.page--generator.v8-polish .annual-item__field--wide {
  min-width: 0;
}

.page--generator.v8-polish .annual-item__footer {
  gap: .5rem !important;
  align-items: center !important;
}

.page--generator.v8-polish .annual-item__footer > *:first-child {
  color: var(--v8-muted) !important;
  font-weight: 520 !important;
}

.page--generator.v8-polish .annual-item__fields label,
.page--generator.v8-polish .annual-item__header,
.page--generator.v8-polish .annual-term__header {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .annual-item :is(input, textarea)::placeholder {
  color: #7b8aa8 !important;
  opacity: 1 !important;
}


/* v8.3.0 · Embut pedagògic, fases contextualitzades i neteja final */
.page--generator.v8-polish {
  --v83-sky: #f2f7ff;
  --v83-mint: #eefbf8;
  --v83-amber: #fff8e9;
  --v83-violet: #f2efff;
}

/* Guia de progressió: del marc general a la situació concreta. */
.noduls-v83-funnel-guide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(12rem, .72fr) minmax(0, 1.35fr) auto;
  align-items: center;
  gap: .78rem;
  margin-top: .22rem;
  padding: .62rem .72rem;
  border: 1px solid var(--v8-line);
  border-left: .18rem solid var(--v8-primary);
  border-radius: var(--v8-radius);
  color: var(--v8-ink);
  background: linear-gradient(105deg, var(--v83-sky), var(--v8-surface-cyan));
}

.noduls-v83-funnel-guide__scope {
  min-width: 0;
  display: grid;
  grid-template-columns: 1.85rem minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
}

.noduls-v83-funnel-guide__scope img {
  width: 1.15rem;
  height: 1.15rem;
  padding: .34rem;
  border: 1px solid rgba(54, 91, 220, .2);
  border-radius: var(--v8-radius);
  background: #fff;
  box-sizing: content-box;
}

.noduls-v83-funnel-guide__eyebrow {
  display: block;
  color: var(--v8-primary) !important;
  font-size: .56rem;
  font-weight: 840;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.noduls-v83-funnel-guide__scope strong {
  display: block;
  margin-top: .08rem;
  color: var(--v8-ink) !important;
  font-size: .76rem;
}

.noduls-v83-funnel-guide__copy {
  min-width: 0;
}

.noduls-v83-funnel-guide__copy p {
  margin: 0 !important;
  color: var(--v8-ink-2) !important;
  font-size: .69rem !important;
  line-height: 1.42 !important;
}

.noduls-v83-funnel-guide__rail {
  display: grid;
  grid-template-columns: repeat(6, minmax(2.15rem, 1fr));
  gap: .16rem;
  margin-top: .4rem;
}

.noduls-v83-funnel-guide__node {
  position: relative;
  min-height: .3rem;
  border-radius: 999px !important;
  background: #dbe5f7;
}

.noduls-v83-funnel-guide__node.is-complete {
  background: #9fcbd0;
}

.noduls-v83-funnel-guide__node.is-active {
  background: linear-gradient(90deg, var(--v8-primary), var(--v8-cyan));
  box-shadow: 0 0 0 .12rem rgba(54, 91, 220, .1);
}

.noduls-v83-funnel-guide__result {
  min-width: 13.2rem;
  display: grid;
  gap: .2rem;
  padding-left: .72rem;
  border-left: 1px solid var(--v8-line-strong);
}

.noduls-v83-funnel-guide__result span {
  color: var(--v8-muted) !important;
  font-size: .57rem;
  font-weight: 760;
}

.noduls-v83-funnel-guide__result strong {
  color: var(--v8-primary-strong) !important;
  font-size: .68rem;
  line-height: 1.35;
}

.noduls-v83-funnel-guide__next {
  color: var(--v8-muted) !important;
  font-size: .58rem;
}

/* Qualsevol superfície heretada detectada com a fosca passa a clara. */
.page--generator.v8-polish .noduls-v83-light-surface {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface) !important;
  background-image: none !important;
  box-shadow: none !important;
}

.page--generator.v8-polish .noduls-v83-light-surface :is(h2, h3, h4, strong, dd) {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .noduls-v83-light-surface :is(p, small, dt, span) {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

/* Constructor de SA · vinculació curricular sense reminiscències fosques. */
.page--generator.v8-polish .sa-curriculum {
  display: grid;
  gap: .68rem;
  padding: .76rem !important;
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface-soft) !important;
}

.page--generator.v8-polish .sa-curriculum__header {
  padding: .78rem !important;
  border: 1px solid var(--v8-line) !important;
  background: linear-gradient(110deg, var(--v8-surface-cyan), var(--v83-sky)) !important;
}

.page--generator.v8-polish .sa-curriculum__header :is(h2, h3, h4, strong) {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .sa-curriculum__header :is(p, span, small) {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .sa-curriculum button:disabled {
  border-color: var(--v8-line) !important;
  color: #7889a6 !important;
  background: #edf2f8 !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .noduls-v83-curriculum-block {
  display: grid !important;
  grid-template-columns: minmax(15rem, .34fr) minmax(0, 1fr);
  gap: .75rem !important;
  align-items: stretch;
  padding: .72rem !important;
  border: 1px solid var(--v8-line) !important;
  border-left: .18rem solid var(--v8-primary) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface) !important;
  box-shadow: none !important;
}

.page--generator.v8-polish .noduls-v83-curriculum-block :is(h3, h4, strong) {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .noduls-v83-curriculum-block :is(p, small, span) {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .noduls-v83-curriculum-block > :first-child {
  min-width: 0;
}

.page--generator.v8-polish .noduls-v83-empty-state {
  min-height: 4.6rem;
  display: grid !important;
  place-items: center;
  padding: .7rem !important;
  border: 1px dashed var(--v8-line-strong) !important;
  color: var(--v8-muted) !important;
  background: var(--v8-surface-soft) !important;
  text-align: center;
  font-size: .68rem !important;
  line-height: 1.42 !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .sa-curriculum :is(
  [class*="competenc"],
  [class*="criter"],
  [class*="knowledge"],
  [class*="saber"]
) {
  border-color: var(--v8-line) !important;
}

/* Fase 4 · compacte, orientada a decisions anuals. */
.page--generator.v8-polish [data-generator-panel="3"] > .noduls-v8-tabs,
.page--generator.v8-polish [data-generator-panel="4"] > .noduls-v8-tabs,
.page--generator.v8-polish [data-generator-panel="5"] > .noduls-v8-tabs {
  position: sticky;
  top: 4.2rem;
  z-index: 31;
  box-shadow: 0 5px 14px rgba(31, 57, 119, .045);
}

.page--generator.v8-polish .annual-builder__header,
.page--generator.v8-polish .curriculum-distribution__header,
.page--generator.v8-polish .review-dashboard__header {
  min-height: 0 !important;
  padding: .68rem .76rem !important;
}

.page--generator.v8-polish .annual-builder__header h3,
.page--generator.v8-polish .curriculum-distribution__header h3,
.page--generator.v8-polish .review-dashboard__header h3 {
  font-size: 1rem !important;
}

.page--generator.v8-polish .annual-builder__summary,
.page--generator.v8-polish .curriculum-distribution__metrics,
.page--generator.v8-polish .review-dashboard__metrics {
  overflow: hidden;
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .annual-builder__summary > div,
.page--generator.v8-polish .curriculum-distribution__metrics > div,
.page--generator.v8-polish .review-dashboard__metrics > div {
  min-width: 0;
  padding: .52rem .62rem !important;
}

.page--generator.v8-polish .annual-builder__summary span,
.page--generator.v8-polish .curriculum-distribution__metrics span,
.page--generator.v8-polish .review-dashboard__metrics span {
  color: var(--v8-muted) !important;
  font-size: .57rem !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .annual-builder__summary strong,
.page--generator.v8-polish .curriculum-distribution__metrics strong,
.page--generator.v8-polish .review-dashboard__metrics strong {
  color: var(--v8-primary-strong) !important;
  font-size: .94rem !important;
}

/* Fase 5 · disseny concret de cada SA. */
.page--generator.v8-polish [data-generator-panel="3"].noduls-v8-step5 {
  grid-template-columns: minmax(0, 1fr) 18.5rem;
}

.page--generator.v8-polish .noduls-v8-sa-status {
  border-top: .18rem solid var(--v8-primary);
  background: linear-gradient(180deg, var(--v8-surface), var(--v83-sky));
}

.page--generator.v8-polish .noduls-v8-sa-status__state {
  color: #80520d !important;
}

.page--generator.v8-polish .noduls-v8-sa-status__state.is-ready {
  color: #12684f !important;
}

/* Fase 6 · validació, incidències i sortida final. */
.page--generator.v8-polish .review-dashboard__layout {
  align-items: start;
}

.page--generator.v8-polish .review-checks {
  border-top: .18rem solid var(--v8-primary) !important;
  background: linear-gradient(180deg, var(--v8-surface), var(--v83-sky)) !important;
}

.page--generator.v8-polish .review-checks :is(h3, h4, strong) {
  color: var(--v8-ink) !important;
}

.page--generator.v8-polish .review-checks :is(p, span, small) {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .generator-export {
  max-width: 64rem;
  margin-inline: auto;
  border-top: .18rem solid var(--v8-success) !important;
  background: linear-gradient(180deg, var(--v8-surface), var(--v83-mint)) !important;
}

/* Fases 1–3 · coherència amb el mateix sistema. */
.page--generator.v8-polish [data-generator-panel="0"] > :is(section, article),
.page--generator.v8-polish [data-generator-panel="1"] > :is(section, article),
.page--generator.v8-polish [data-generator-panel="3"] > :is(section, article) {
  border-color: var(--v8-line) !important;
}

.page--generator.v8-polish .generator-catalog__summary,
.page--generator.v8-polish .curriculum-selection-summary {
  border-top: .18rem solid var(--v8-primary) !important;
}

/* Focus, contrast i responsive. */
.page--generator.v8-polish :is(.noduls-v83-funnel-guide, .noduls-v83-curriculum-block, .review-checks, .noduls-v8-sa-status) :focus-visible {
  outline: .18rem solid rgba(54, 91, 220, .24) !important;
  outline-offset: .1rem;
}

@media (max-width: 72rem) {
  .noduls-v83-funnel-guide {
    grid-template-columns: minmax(11rem, .7fr) minmax(0, 1fr);
  }

  .noduls-v83-funnel-guide__result {
    grid-column: 1 / -1;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
    padding: .5rem 0 0;
    border-top: 1px solid var(--v8-line);
    border-left: 0;
  }

  .page--generator.v8-polish .noduls-v83-curriculum-block {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 48rem) {
  .noduls-v83-funnel-guide {
    grid-template-columns: 1fr;
  }

  .noduls-v83-funnel-guide__rail {
    grid-template-columns: repeat(6, 1fr);
  }

  .noduls-v83-funnel-guide__result {
    display: block;
  }

  .noduls-v83-funnel-guide__next {
    display: block;
    margin-top: .18rem;
  }

  .page--generator.v8-polish [data-generator-panel="3"] > .noduls-v8-tabs,
  .page--generator.v8-polish [data-generator-panel="4"] > .noduls-v8-tabs,
  .page--generator.v8-polish [data-generator-panel="5"] > .noduls-v8-tabs {
    top: 0;
  }
}


/* v8.4.0 · Aïllament estricte de fases i Context ordenat */
.page--generator.v8-polish [data-generator-panel][hidden],
.page--generator.v8-polish .generator-panel[hidden] {
  display: none !important;
}

.page--generator.v8-polish [data-generator-panel="3"].noduls-v8-step5:not([hidden]) {
  display: grid !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-form-grid {
  align-items: start;
  gap: .72rem 1rem !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, .46fr);
  gap: .9rem;
  align-items: stretch;
  margin-top: .25rem;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
  border-left: .18rem solid var(--v8-cyan) !important;
  background: linear-gradient(135deg, var(--v8-surface), var(--v8-surface-cyan)) !important;
  box-shadow: none !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .48rem;
  padding: .25rem .2rem;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card__label {
  color: var(--v8-primary) !important;
  font-size: .6rem !important;
  font-weight: 840 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card h3 {
  margin: 0 !important;
  color: var(--v8-ink) !important;
  font-size: 1rem !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card p {
  max-width: 42rem;
  margin: 0 !important;
  color: var(--v8-muted) !important;
  font-size: .73rem !important;
  line-height: 1.48 !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card__actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-top: .15rem;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-button,
.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-remove {
  min-height: 2.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 .72rem;
  border: 1px solid var(--v8-line-strong) !important;
  color: var(--v8-primary-strong) !important;
  background: var(--v8-surface) !important;
  font-size: .68rem !important;
  font-weight: 770 !important;
  cursor: pointer;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-remove {
  color: var(--v8-danger) !important;
  border-color: rgba(200, 79, 92, .28) !important;
  background: var(--v8-danger-soft) !important;
}

.page--generator.v8-polish [data-generator-panel="0"] [data-logo-status] {
  display: block;
  color: var(--v8-muted) !important;
  font-size: .62rem !important;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview {
  min-height: 9.5rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px dashed var(--v8-line-strong) !important;
  color: var(--v8-muted) !important;
  background: rgba(255, 255, 255, .82) !important;
  cursor: pointer;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview:hover,
.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview:focus-visible {
  border-color: var(--v8-primary) !important;
  background: var(--v8-primary-soft) !important;
  outline: 0;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview img {
  width: 100%;
  height: 100%;
  max-height: 9.25rem;
  object-fit: contain;
  padding: .65rem;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview__empty {
  display: grid;
  justify-items: center;
  gap: .22rem;
  padding: .8rem;
  text-align: center;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview__empty > span {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  color: #fff !important;
  background: var(--v8-primary) !important;
  font-size: 1rem;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview__empty strong {
  color: var(--v8-ink) !important;
  font-size: .72rem;
}

.page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview__empty small {
  color: var(--v8-muted) !important;
  font-size: .62rem;
}

@media (max-width: 58rem) {
  .page--generator.v8-polish [data-generator-panel="0"] .generator-logo-card {
    grid-template-columns: 1fr;
  }
  .page--generator.v8-polish [data-generator-panel="0"] .generator-logo-preview {
    min-height: 8rem;
  }
}


/* v8.4.1 · Ajust d’aire visual a la fitxa de curs i matèria */
.page--generator.v8-polish .generator-catalog__summary {
  grid-template-columns: minmax(16rem, 1.15fr) minmax(12rem, .8fr) minmax(12rem, .8fr) !important;
  gap: 0 !important;
  border-top: .18rem solid var(--v8-primary) !important;
  background: linear-gradient(180deg, var(--v8-surface), var(--v8-surface-soft)) !important;
}

.page--generator.v8-polish .generator-catalog__summary-heading {
  padding: 1.15rem 1.35rem !important;
  border-right: 1px solid var(--v8-line) !important;
}

.page--generator.v8-polish .generator-catalog__summary-heading > span {
  display: inline-block;
  margin-bottom: .35rem;
  letter-spacing: .16em;
}

.page--generator.v8-polish .generator-catalog__summary-heading h3 {
  margin: 0 !important;
  font-size: 1.18rem !important;
  line-height: 1.28 !important;
}

.page--generator.v8-polish .generator-catalog__metadata > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.35rem;
  padding: 1.15rem 1.35rem !important;
}

.page--generator.v8-polish .generator-catalog__metadata dt {
  margin-bottom: .42rem;
  letter-spacing: .16em;
  color: var(--v8-muted) !important;
}

.page--generator.v8-polish .generator-catalog__metadata dd {
  margin: 0 !important;
  font-size: .96rem !important;
  line-height: 1.42 !important;
}

.page--generator.v8-polish .curriculum-selector__context {
  padding: .3rem 0 !important;
  border-top: .18rem solid var(--v8-primary) !important;
  background: linear-gradient(180deg, var(--v8-surface), var(--v8-surface-soft)) !important;
}

.page--generator.v8-polish .curriculum-selector__context > * {
  padding: 1rem 1.2rem !important;
}

.page--generator.v8-polish .curriculum-selector__context > * + * {
  border-top: 1px solid var(--v8-line);
}

.page--generator.v8-polish .curriculum-selector__context :is(dt, .label, [data-label]) {
  display: block;
  margin: 0 0 .34rem 0;
  color: var(--v8-muted) !important;
  font-size: .62rem !important;
  font-weight: 820 !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.page--generator.v8-polish .curriculum-selector__context :is(dd, strong, b, [data-value]) {
  margin: 0 !important;
  color: var(--v8-ink) !important;
  font-size: .98rem !important;
  line-height: 1.4 !important;
  font-weight: 790 !important;
}

@media (max-width: 72rem) {
  .page--generator.v8-polish .generator-catalog__summary {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page--generator.v8-polish .generator-catalog__summary-heading {
    grid-column: 1 / -1;
    border-right: 0 !important;
    border-bottom: 1px solid var(--v8-line) !important;
  }
}

@media (max-width: 48rem) {
  .page--generator.v8-polish .generator-catalog__summary {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .generator-catalog__metadata > div {
    min-height: auto;
    border-right: 0 !important;
    border-top: 1px solid var(--v8-line) !important;
  }

  .page--generator.v8-polish .curriculum-selector__context > * {
    padding: .9rem 1rem !important;
  }
}


/* v8.4.2 · Replantejament del configurador de SA */
.page--generator.v8-polish .annual-item__fields {
  grid-template-columns: minmax(0, .52fr) minmax(0, .82fr) !important;
  grid-template-areas:
    "sessions trimester"
    "title title"
    "context context" !important;
  gap: .68rem .72rem !important;
  align-items: start !important;
}

.page--generator.v8-polish .annual-item__fields > *:nth-child(1) {
  grid-area: title;
}

.page--generator.v8-polish .annual-item__fields > *:nth-child(2) {
  grid-area: context;
}

.page--generator.v8-polish .annual-item__fields > *:nth-child(3) {
  grid-area: sessions;
}

.page--generator.v8-polish .annual-item__fields > *:nth-child(4) {
  grid-area: trimester;
}

.page--generator.v8-polish .annual-item__fields label {
  display: flex !important;
  flex-direction: column !important;
  gap: .36rem !important;
}

.page--generator.v8-polish .annual-item__fields label:nth-child(3) :is(input, select, textarea) {
  max-width: 7rem !important;
}

.page--generator.v8-polish .annual-item__fields label:nth-child(4) :is(input, select, textarea) {
  max-width: 11rem !important;
}

.page--generator.v8-polish .annual-item__fields label:nth-child(1) :is(input, select, textarea),
.page--generator.v8-polish .annual-item__fields label:nth-child(2) :is(input, select, textarea) {
  width: 100% !important;
  max-width: none !important;
}

.page--generator.v8-polish .annual-item__fields textarea {
  width: 100% !important;
}

@media (max-width: 64rem) {
  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
}

@media (max-width: 42rem) {
  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "sessions"
      "trimester"
      "title"
      "context" !important;
  }

  .page--generator.v8-polish .annual-item__fields label:nth-child(3) :is(input, select, textarea),
  .page--generator.v8-polish .annual-item__fields label:nth-child(4) :is(input, select, textarea) {
    max-width: none !important;
  }
}

/* v8.5.1 · Contrast reforçat, mapatge llegible i exportació clara */
.page--generator.v8-polish {
  --v8-muted: #4c638a;
  --v8-line: #cfdbef;
  --v8-line-strong: #a8bce1;
  --v8-primary-soft: #eaf0ff;
}

.page--generator.v8-polish :is(
  .annual-builder__header p,
  .annual-term__header strong,
  .annual-item__footer,
  .review-dashboard__header p,
  .review-map-table header p,
  .generator-export__header p,
  .generator-export__privacy,
  .generator-export__format small,
  .sa-editor__section > header p,
  .sa-concepts__empty,
  .sa-editor__footer > span
) {
  color: var(--v8-muted) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .annual-item__fields {
  grid-template-columns: minmax(6.5rem, 7rem) minmax(10rem, 1fr) !important;
  gap: .6rem !important;
}

.page--generator.v8-polish .annual-item__fields > .annual-item__field:nth-child(3) {
  grid-column: 1;
  grid-row: 1;
}

.page--generator.v8-polish .annual-item__fields > .annual-item__field:nth-child(4) {
  grid-column: 2;
  grid-row: 1;
}

.page--generator.v8-polish .annual-item__fields > .annual-item__field:nth-child(1) {
  grid-column: 1 / -1;
  grid-row: 2;
}

.page--generator.v8-polish .annual-item__fields > .annual-item__field:nth-child(2) {
  grid-column: 1 / -1;
  grid-row: 3;
}

.page--generator.v8-polish .annual-item__field {
  min-width: 0;
}

.page--generator.v8-polish .annual-item__field > span {
  color: var(--v8-ink) !important;
  font-size: .72rem !important;
  font-weight: 780 !important;
}

.page--generator.v8-polish .annual-item__fields > .annual-item__field:nth-child(3) input {
  max-width: 100%;
}

.page--generator.v8-polish .annual-item :is(input, select) {
  color: var(--v8-ink) !important;
  background: #ffffff !important;
}


.page--generator.v8-polish .sa-concepts__form input {
  color: var(--v8-ink) !important;
  background: #ffffff !important;
}

.page--generator.v8-polish .sa-concepts__list {
  gap: .55rem !important;
}

.page--generator.v8-polish .sa-concept {
  min-height: 2.15rem;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: 0 .45rem 0 .8rem;
  border: 1px solid #bdd0ff !important;
  border-radius: 999px !important;
  color: #24406f !important;
  background: #eff4ff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
  font-size: .7rem !important;
  font-weight: 700 !important;
}

.page--generator.v8-polish .sa-concept button {
  width: 1.45rem;
  height: 1.45rem;
  border: 1px solid #c9d6f3;
  color: var(--v8-primary-strong) !important;
  background: #ffffff !important;
}

.page--generator.v8-polish .sa-concept button:hover {
  color: #ffffff !important;
  background: var(--v8-primary) !important;
  border-color: var(--v8-primary) !important;
}

.page--generator.v8-polish .review-map-table {
  background: #ffffff !important;
}

.page--generator.v8-polish .review-map-table header,
.page--generator.v8-polish .generator-export__header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, .36fr);
  gap: 1rem;
  align-items: start;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--v8-line);
}

.page--generator.v8-polish .review-map-table__scroll {
  margin-top: .75rem;
  border: 1px solid var(--v8-line);
  background: #ffffff;
}

.page--generator.v8-polish .review-map-table table {
  width: 100%;
  border-collapse: collapse;
}

.page--generator.v8-polish .review-map-table th {
  padding: .8rem .75rem !important;
  border-bottom: 1px solid var(--v8-line) !important;
  color: var(--v8-ink-2) !important;
  background: #eef3ff !important;
  font-size: .69rem !important;
  font-weight: 800 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.page--generator.v8-polish .review-map-table td {
  padding: .78rem .75rem !important;
  border-bottom: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #ffffff !important;
  font-size: .76rem !important;
}

.page--generator.v8-polish .review-map-table tbody tr:hover td {
  background: #f9fbff !important;
}

.page--generator.v8-polish .review-map-table td:first-child strong {
  display: block;
  margin-bottom: .28rem;
  color: var(--v8-ink) !important;
  font-size: .76rem !important;
  font-weight: 820 !important;
}

.page--generator.v8-polish .review-map-table td:first-child span {
  display: block;
  color: var(--v8-ink-2) !important;
  font-size: .9rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .review-map-table__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.6rem;
  min-height: 1.95rem;
  padding: 0 .72rem;
  border: 1px solid #e9cf9a;
  border-radius: 999px !important;
  color: #996010 !important;
  background: #fff6e8 !important;
  font-size: .68rem !important;
  font-weight: 780 !important;
  white-space: nowrap;
}

.page--generator.v8-polish .review-map-table__status.is-ready {
  border-color: #9fd4be;
  color: #0f7256 !important;
  background: #edf9f3 !important;
}

.page--generator.v8-polish .generator-export {
  border-color: #b7ddd1 !important;
  background: linear-gradient(180deg, #fbfffd 0%, #f4fffb 100%) !important;
  box-shadow: var(--v8-shadow-soft) !important;
}

.page--generator.v8-polish .generator-export__header {
  margin-bottom: .85rem;
}

.page--generator.v8-polish .generator-export__format {
  padding: .8rem .9rem;
  border: 1px solid #cde7de;
  background: #ffffff;
}

.page--generator.v8-polish .generator-export__format > span {
  color: var(--v8-muted) !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.page--generator.v8-polish .generator-export__format strong {
  display: block;
  margin-top: .2rem;
  color: var(--v8-ink) !important;
  font-size: 1.06rem !important;
}

.page--generator.v8-polish .generator-export__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .72rem !important;
}

.page--generator.v8-polish .generator-export__grid article {
  display: grid !important;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  gap: .72rem;
  align-items: start;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
  background: #ffffff !important;
}

.page--generator.v8-polish .generator-export__grid article > span {
  width: 2.35rem;
  height: 2.35rem;
  display: grid;
  place-items: center;
  color: var(--v8-primary-strong) !important;
  background: var(--v8-primary-soft) !important;
  font-size: .95rem !important;
  font-weight: 820 !important;
}

.page--generator.v8-polish .generator-export__grid article strong {
  display: block;
  color: var(--v8-ink) !important;
  font-size: .82rem !important;
  font-weight: 790 !important;
}

.page--generator.v8-polish .generator-export__grid article p {
  margin: .26rem 0 0 !important;
  color: var(--v8-muted) !important;
  font-size: .72rem !important;
  line-height: 1.45 !important;
}

.page--generator.v8-polish .generator-export__status {
  margin-top: .8rem;
  padding: .75rem .85rem !important;
  border-left: .18rem solid var(--v8-primary) !important;
  background: #f6fbff !important;
  color: var(--v8-ink-2) !important;
}

.page--generator.v8-polish .generator-export__actions {
  display: flex !important;
  justify-content: flex-end;
  gap: .65rem;
  margin-top: .9rem;
}

.page--generator.v8-polish .generator-export__actions > button:not(.is-primary) {
  border: 1px solid var(--v8-line-strong) !important;
  color: var(--v8-primary-strong) !important;
  background: #ffffff !important;
}

.page--generator.v8-polish .generator-export__privacy {
  margin-top: .9rem;
  text-align: right;
}

@media (max-width: 64rem) {
  .page--generator.v8-polish .review-map-table header,
  .page--generator.v8-polish .generator-export__header {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .generator-export__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 48rem) {
  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: 1fr !important;
  }

  .page--generator.v8-polish .annual-item__fields > .annual-item__field {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

/* ──────────────────────────────────────────────────────────────
   Nòduls Generador · sistema visual consolidat 8.5.13
   Auditoria transversal: llegibilitat, contrast, controls i iconografia.
   ────────────────────────────────────────────────────────────── */

.page--generator.v8-polish {
  --v8-ink: #0b2347;
  --v8-ink-2: #173b6c;
  --v8-muted: #36547c;
  --v8-subtle: #526f98;
  --v8-line: #d2def0;
  --v8-line-strong: #aebfd9;
  --v8-primary: #365bdc;
  --v8-primary-strong: #2448c7;
  --v8-primary-soft: #edf2ff;
  --v8-cyan-soft: #eaf9fc;
  --v8-success: #087957;
  --v8-success-soft: #edf9f4;
  --v8-warning: #9a5f0a;
  --v8-warning-soft: #fff7e8;
  --v8-danger: #b93448;
  --v8-danger-soft: #fff1f3;
  color: var(--v8-ink) !important;
}

/* Llegibilitat mínima compartida. */
.page--generator.v8-polish main :is(p, li, label, input, select, textarea, button, summary, dt, dd) {
  color: var(--v8-ink-2);
  font-size: max(.78rem, 13px);
  line-height: 1.48;
}
.page--generator.v8-polish main :is(small, .help-text, [class*="__help"], [class*="__description"]) {
  color: var(--v8-muted) !important;
  font-size: max(.72rem, 12px) !important;
  line-height: 1.5 !important;
  opacity: 1 !important;
}
.page--generator.v8-polish main :is(h2, h3, h4, strong, legend, summary) {
  color: var(--v8-ink) !important;
  opacity: 1 !important;
}
.page--generator.v8-polish :is(input, select, textarea)::placeholder {
  color: #6a7fa2 !important;
  opacity: 1 !important;
}
.page--generator.v8-polish :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(54, 91, 220, .24) !important;
  outline-offset: 2px !important;
}
.page--generator.v8-polish button:disabled,
.page--generator.v8-polish [aria-disabled="true"] {
  border-color: #b9cae7 !important;
  color: #5d7294 !important;
  background: #edf3ff !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

/* Iconografia inline: una única font de veritat, sense doble cercle. */
.page--generator.v8-polish .noduls-v8-info,
.page--generator.v8-polish .noduls-v8-help-trigger {
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 1.8rem !important;
  inline-size: 1.8rem !important;
  block-size: 1.8rem !important;
  min-inline-size: 1.8rem !important;
  min-block-size: 1.8rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--v8-radius) !important;
  color: var(--v8-primary-strong) !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}
.page--generator.v8-polish .noduls-v8-info::before,
.page--generator.v8-polish .noduls-v8-info::after,
.page--generator.v8-polish .noduls-v8-help-trigger::before,
.page--generator.v8-polish .noduls-v8-help-trigger::after {
  content: none !important;
  display: none !important;
}
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger) > svg {
  display: block !important;
  inline-size: 1.22rem !important;
  block-size: 1.22rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.9 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  pointer-events: none !important;
}
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger):hover,
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger):focus-visible {
  color: #173f9f !important;
  background: var(--v8-primary-soft) !important;
}
.page--generator.v8-polish .sa-inclusion__heading-row {
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
  min-width: 0 !important;
}
.page--generator.v8-polish .sa-inclusion__heading-row h4 {
  margin: 0 !important;
}

/* Botons de tancament coherents i SVG visible. */
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete) {
  display: inline-grid !important;
  place-items: center !important;
  inline-size: 2rem !important;
  block-size: 2rem !important;
  min-inline-size: 2rem !important;
  min-block-size: 2rem !important;
  padding: 0 !important;
  border: 1px solid #aebfd9 !important;
  border-radius: 50% !important;
  color: #27496f !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(21, 48, 91, .08) !important;
  cursor: pointer !important;
}
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete)::before,
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete)::after {
  content: none !important;
  display: none !important;
}
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete) > svg {
  display: block !important;
  inline-size: .95rem !important;
  block-size: .95rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.25 !important;
  stroke-linecap: round !important;
  pointer-events: none !important;
}
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete):hover,
.page--generator.v8-polish :is(.sa-inclusion-measure__delete, [data-inclusion-measure-delete], .assessment-custom-agent__delete):focus-visible {
  border-color: var(--v8-danger) !important;
  color: #fff !important;
  background: var(--v8-danger) !important;
}

/* Cerques: icona centrada, camp llegible i esborrat visible. */
.page--generator.v8-polish :is(.noduls-admin-v7__search, .curriculum-selector__search, .curriculum-distribution__search) {
  position: relative !important;
}
.page--generator.v8-polish :is(.noduls-admin-v7__search img, .noduls-admin-v7__search svg, .curriculum-selector__search svg, .curriculum-distribution__search svg) {
  position: absolute !important;
  z-index: 2 !important;
  inset-block-start: 50% !important;
  inset-inline-start: .82rem !important;
  inline-size: 1.2rem !important;
  block-size: 1.2rem !important;
  margin: 0 !important;
  color: #3155c9 !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
.page--generator.v8-polish :is(.noduls-admin-v7__search input, .curriculum-selector__search input, .curriculum-distribution__search input) {
  min-height: 2.9rem !important;
  padding-inline: 2.75rem 2.7rem !important;
  border-color: var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-size: .82rem !important;
}
.page--generator.v8-polish .noduls-v8-search-clear {
  position: absolute !important;
  z-index: 3 !important;
  inset-block-start: 50% !important;
  inset-inline-end: .55rem !important;
  display: inline-grid !important;
  place-items: center !important;
  inline-size: 2rem !important;
  block-size: 2rem !important;
  padding: 0 !important;
  border: 0 !important;
  color: #466289 !important;
  background: transparent !important;
  transform: translateY(-50%) !important;
}
.page--generator.v8-polish .noduls-v8-search-clear svg {
  inline-size: .95rem !important;
  block-size: .95rem !important;
  stroke: currentColor !important;
}

/* Edició directa del títol de la SA. */
.page--generator.v8-polish :is(.annual-item__identity, .annual-item__title-editor, .sa-editor__title-editor) {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: .55rem !important;
}
.page--generator.v8-polish .annual-item__title-editor { flex: 1 1 auto !important; }
.page--generator.v8-polish :is(.annual-item__title-button, .sa-editor__title-button) {
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;
  padding: .3rem .42rem !important;
  border: 1px solid transparent !important;
  color: var(--v8-ink) !important;
  background: transparent !important;
  text-align: left !important;
}
.page--generator.v8-polish :is(.annual-item__title-button, .sa-editor__title-button):hover {
  border-color: var(--v8-line-strong) !important;
  background: var(--v8-primary-soft) !important;
}
.page--generator.v8-polish :is(.annual-item__title-button, .sa-editor__title-button) img {
  inline-size: 1rem !important;
  block-size: 1rem !important;
  opacity: .82 !important;
}
.page--generator.v8-polish :is(.annual-item__title-editor, .sa-editor__title-editor) > input {
  width: min(32rem, 100%) !important;
  min-height: 2.55rem !important;
  padding: 0 .72rem !important;
  border: 1px solid var(--v8-primary) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-weight: 750 !important;
}

/* Estructura anual: tres columnes, camps i jerarquia estable. */
.page--generator.v8-polish .annual-builder,
.page--generator.v8-polish .annual-term,
.page--generator.v8-polish .annual-item {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.page--generator.v8-polish .annual-builder__terms {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .75rem !important;
  align-items: start !important;
}
.page--generator.v8-polish .annual-term {
  min-width: 0 !important;
  padding: .65rem !important;
  background: #f8fbff !important;
}
.page--generator.v8-polish .annual-item {
  container-type: inline-size !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 26rem !important;
}
.page--generator.v8-polish .annual-item__header {
  min-height: 3.75rem !important;
  padding: .72rem .75rem .72rem .9rem !important;
  border-bottom: 1px solid #e1e9f5 !important;
  background: #fff !important;
}
.page--generator.v8-polish .annual-item__fields[data-annual-item-fields],
.page--generator.v8-polish .annual-item__fields {
  display: grid !important;
  flex: 1 1 auto !important;
  grid-template-columns: 4.6rem minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(13rem, 1fr) !important;
  grid-template-areas: "sessions term" "focus focus" !important;
  gap: .85rem 1rem !important;
  align-items: stretch !important;
  align-content: stretch !important;
  min-height: 18.5rem !important;
  padding: 1rem 1rem .65rem !important;
  background: #fff !important;
}
.page--generator.v8-polish .annual-item__field {
  display: grid !important;
  gap: .42rem !important;
  width: 100% !important;
  min-width: 0 !important;
}
.page--generator.v8-polish .annual-item__field > span {
  color: var(--v8-ink-2) !important;
  font-size: .76rem !important;
  font-weight: 780 !important;
}
.page--generator.v8-polish .annual-item__field--sessions {
  grid-area: sessions !important;
  width: 4.6rem !important;
  max-width: 4.6rem !important;
}
.page--generator.v8-polish .annual-item__field--sessions input {
  width: 4.6rem !important;
  min-width: 4.6rem !important;
  max-width: 4.6rem !important;
  min-height: 2.7rem !important;
  padding-inline: .35rem !important;
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}
.page--generator.v8-polish .annual-item__field--term {
  grid-area: term !important;
  width: 100% !important;
}
.page--generator.v8-polish .annual-item__field--term select {
  width: 100% !important;
  min-height: 2.7rem !important;
}
.page--generator.v8-polish .annual-item__field--focus {
  grid-area: focus !important;
  grid-column: 1 / -1 !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: 100% !important;
  align-self: stretch !important;
}
.page--generator.v8-polish .annual-item__field--focus textarea {
  flex: 1 1 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 13rem !important;
  height: auto !important;
  padding: .78rem .82rem !important;
  line-height: 1.52 !important;
  resize: vertical !important;
}
.page--generator.v8-polish .annual-item__footer {
  min-height: 3.4rem !important;
  padding: .68rem .8rem .68rem 1rem !important;
  border-top: 1px solid #e1e9f5 !important;
  color: var(--v8-muted) !important;
  background: #fff !important;
}

/* Superfícies clares del Constructor i Distribució. */
.page--generator.v8-polish :is(
  .sa-curriculum, .sa-objectives, .sa-methodology, .sa-inclusion,
  .sa-assessment, .sa-review, .curriculum-distribution,
  .curriculum-distribution__workspace, .curriculum-distribution__main,
  .curriculum-distribution__toolbar, .curriculum-distribution__items,
  .distribution-sa-summary, .distribution-item
) {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  background-image: none !important;
  opacity: 1 !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum__header, .sa-objectives__header, .sa-methodology__header,
  .sa-inclusion__header, .sa-assessment__header, .sa-review__header,
  .curriculum-distribution__header
) {
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: linear-gradient(110deg, var(--v8-cyan-soft), var(--v8-primary-soft)) !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum__workspace, .sa-objectives__workspace,
  .sa-methodology__workspace, .sa-inclusion__workspace,
  .sa-assessment__workspace, .sa-review__workspace
) {
  color: var(--v8-ink) !important;
  background: #fff !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum__metrics, .sa-objectives__metrics,
  .sa-methodology__metrics, .sa-inclusion__metrics,
  .sa-assessment__metrics, .sa-review__metrics
) {
  border-color: var(--v8-line) !important;
  background: #fff !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum__metrics, .sa-objectives__metrics,
  .sa-methodology__metrics, .sa-inclusion__metrics,
  .sa-assessment__metrics, .sa-review__metrics
) > div {
  border-color: #e1e9f5 !important;
  background: #fff !important;
}

/* Checklist curricular: un sol control, gran i alineat. */
.page--generator.v8-polish :is(.distribution-item, .curriculum-item) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1.35rem minmax(0, 1fr) !important;
  gap: .75rem !important;
  align-items: start !important;
  padding: .8rem !important;
  border: 1px solid var(--v8-line) !important;
  background: #fff !important;
}
.page--generator.v8-polish :is(.distribution-item, .curriculum-item) > input[type="checkbox"] {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}
.page--generator.v8-polish :is(.distribution-item__check, .curriculum-item__check) {
  display: inline-grid !important;
  place-items: center !important;
  inline-size: 1.22rem !important;
  block-size: 1.22rem !important;
  margin-top: .06rem !important;
  border: 1.5px solid #8fa5c8 !important;
  border-radius: .16rem !important;
  color: transparent !important;
  background: #fff !important;
}
.page--generator.v8-polish :is(.distribution-item__check, .curriculum-item__check) svg {
  inline-size: .78rem !important;
  block-size: .78rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.5 !important;
}
.page--generator.v8-polish :is(.distribution-item, .curriculum-item) > input:checked + :is(.distribution-item__check, .curriculum-item__check) {
  border-color: #365bdc !important;
  color: #fff !important;
  background: #365bdc !important;
}
.page--generator.v8-polish :is(.distribution-item, .curriculum-item):has(> input:checked) {
  border-color: #7892ed !important;
  background: #edf2ff !important;
  box-shadow: inset .18rem 0 0 #365bdc !important;
}
.page--generator.v8-polish :is(.distribution-item__text, .curriculum-item__text) {
  color: var(--v8-ink) !important;
  font-size: .8rem !important;
  line-height: 1.48 !important;
}
.page--generator.v8-polish :is(.distribution-item__meta, .distribution-item__footer, .curriculum-item__meta, .curriculum-item__footer) {
  color: var(--v8-muted) !important;
  font-size: .72rem !important;
}

/* Checkboxes reals del Constructor: sense duplicats ni solapaments. */
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid, .sa-inclusion__choice-grid,
  .sa-inclusion__dua-grid, .sa-assessment__moments,
  .assessment-evidence__agent-presets, .assessment-custom-agent
) label::before,
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid, .sa-inclusion__choice-grid,
  .sa-inclusion__dua-grid, .sa-assessment__moments,
  .assessment-evidence__agent-presets, .assessment-custom-agent
) label::after {
  content: none !important;
  display: none !important;
}
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid, .sa-inclusion__choice-grid,
  .sa-inclusion__dua-grid, .sa-assessment__moments,
  .assessment-evidence__agent-presets, .assessment-custom-agent
) label {
  display: flex !important;
  align-items: center !important;
  gap: .65rem !important;
  min-height: 3.05rem !important;
  padding: .68rem .78rem !important;
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink-2) !important;
  background: #f8fbff !important;
  font-size: .8rem !important;
  font-weight: 720 !important;
  line-height: 1.35 !important;
}
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid, .sa-inclusion__choice-grid,
  .sa-inclusion__dua-grid, .sa-assessment__moments,
  .assessment-evidence__agent-presets, .assessment-custom-agent
) input[type="checkbox"] {
  position: static !important;
  flex: 0 0 auto !important;
  inline-size: 1.15rem !important;
  block-size: 1.15rem !important;
  margin: 0 !important;
  opacity: 1 !important;
  accent-color: #365bdc !important;
}
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid, .sa-inclusion__choice-grid,
  .sa-inclusion__dua-grid, .sa-assessment__moments,
  .assessment-evidence__agent-presets, .assessment-custom-agent
) label:has(input:checked) {
  border-color: #7892ed !important;
  color: var(--v8-ink) !important;
  background: #edf2ff !important;
  box-shadow: inset .18rem 0 0 #365bdc !important;
}

/* Metodologia: opcions i rols amb lectura còmoda. */
.page--generator.v8-polish .sa-methodology__choice-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}
.page--generator.v8-polish .sa-methodology__two-columns,
.page--generator.v8-polish .sa-methodology__roles {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .8rem !important;
}
.page--generator.v8-polish .sa-methodology :is(textarea, input, select) {
  border-color: var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-size: .8rem !important;
}
.page--generator.v8-polish .sa-methodology textarea {
  min-height: 8.5rem !important;
  padding: .8rem !important;
  line-height: 1.55 !important;
}

/* Inclusió i DUA: columnes blanques, mesures i botons nets. */
.page--generator.v8-polish .sa-inclusion__panel {
  padding: 1rem !important;
  border: 1px solid var(--v8-line) !important;
  background: #fff !important;
}
.page--generator.v8-polish .sa-inclusion__panel > header {
  display: grid !important;
  grid-template-columns: 2rem minmax(0, 1fr) !important;
  gap: .75rem !important;
  align-items: start !important;
  padding-bottom: .85rem !important;
  border-bottom: 1px solid #e5ecf6 !important;
}
.page--generator.v8-polish .sa-inclusion__dua-grid,
.page--generator.v8-polish .sa-inclusion__measure-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .8rem !important;
}
.page--generator.v8-polish .sa-inclusion__dua-grid > article,
.page--generator.v8-polish .sa-inclusion__measure-columns > article {
  min-width: 0 !important;
  padding: .85rem !important;
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
}
.page--generator.v8-polish .sa-inclusion-measure {
  position: relative !important;
  padding: .7rem 3rem .7rem .7rem !important;
  border: 1px solid var(--v8-line) !important;
  background: #f8fbff !important;
}
.page--generator.v8-polish .sa-inclusion-measure textarea {
  width: 100% !important;
  min-height: 7.8rem !important;
  padding: .75rem !important;
  border-color: var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
}
.page--generator.v8-polish .sa-inclusion-measure__delete {
  position: absolute !important;
  inset-block-start: .7rem !important;
  inset-inline-end: .65rem !important;
}
.page--generator.v8-polish .sa-inclusion__measure-columns > article > button {
  width: 100% !important;
  min-height: 2.75rem !important;
  margin-top: .65rem !important;
  border: 1px solid #9fb3d3 !important;
  color: #2448c7 !important;
  background: #f8fbff !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
}
.page--generator.v8-polish .sa-inclusion__measure-columns > article > button:hover {
  border-color: #365bdc !important;
  color: #fff !important;
  background: #365bdc !important;
}

/* Avaluació: evidències, agents i vinculació sense aglomeracions. */
.page--generator.v8-polish .assessment-evidence {
  padding: 1rem !important;
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.page--generator.v8-polish .assessment-evidence__grid {
  display: grid !important;
  grid-template-columns: minmax(15rem, 1.8fr) minmax(9rem, .7fr) minmax(10rem, .85fr) minmax(6.5rem, .5fr) !important;
  gap: .7rem !important;
}
.page--generator.v8-polish .assessment-evidence__description {
  grid-column: 1 / -1 !important;
}
.page--generator.v8-polish .assessment-evidence :is(input, select, textarea) {
  border-color: var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-size: .8rem !important;
}
.page--generator.v8-polish .assessment-evidence__agents {
  display: block !important;
  margin: 1rem 0 !important;
  padding: 1rem !important;
  border: 1px solid var(--v8-line) !important;
  background: #f8fbff !important;
}
.page--generator.v8-polish .assessment-evidence__agents legend {
  padding: 0 .35rem !important;
  color: var(--v8-ink) !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
}
.page--generator.v8-polish .assessment-evidence__agent-presets,
.page--generator.v8-polish .assessment-evidence__custom-agents {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}
.page--generator.v8-polish .assessment-evidence__agent-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: .65rem !important;
  align-items: end !important;
  margin-top: .85rem !important;
  padding-top: .85rem !important;
  border-top: 1px solid #dbe4f1 !important;
}
.page--generator.v8-polish .assessment-evidence__agent-form > label {
  display: grid !important;
  gap: .4rem !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.page--generator.v8-polish .assessment-evidence__agent-form > label::before,
.page--generator.v8-polish .assessment-evidence__agent-form > label::after {
  content: none !important;
  display: none !important;
}
.page--generator.v8-polish .assessment-evidence__agent-form input,
.page--generator.v8-polish .assessment-evidence__agent-form button {
  min-height: 2.8rem !important;
  font-size: .8rem !important;
}
.page--generator.v8-polish .assessment-evidence__agent-form button {
  border-color: #365bdc !important;
  color: #fff !important;
  background: #365bdc !important;
  font-weight: 760 !important;
}
.page--generator.v8-polish .assessment-custom-agent {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 2.2rem !important;
  gap: .4rem !important;
  align-items: stretch !important;
}
.page--generator.v8-polish .assessment-evidence__alignment details,
.page--generator.v8-polish .assessment-option,
.page--generator.v8-polish .assessment-validation-item {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
}

/* Revisió: controls i accions sobre superfícies clares. */
.page--generator.v8-polish .sa-review__layout {
  gap: .9rem !important;
}
.page--generator.v8-polish :is(.sa-review__checks, .sa-review__actions, .sa-review__summary, .sa-review__alignment) {
  border: 1px solid var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.page--generator.v8-polish .sa-review-check {
  display: grid !important;
  grid-template-columns: 1.4rem minmax(0, 1fr) auto !important;
  gap: .7rem !important;
  align-items: start !important;
  padding: .78rem 0 !important;
  border-bottom: 1px solid #e3eaf5 !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
}
.page--generator.v8-polish .sa-review-check :is(strong, p, span) {
  color: inherit !important;
  opacity: 1 !important;
}
.page--generator.v8-polish .sa-review__actions nav {
  display: grid !important;
  gap: .55rem !important;
}
.page--generator.v8-polish .sa-review__actions nav button,
.page--generator.v8-polish .review-checks__actions button {
  min-height: 2.75rem !important;
  border: 1px solid #aebfd9 !important;
  color: #2448c7 !important;
  background: #fff !important;
  font-size: .78rem !important;
  font-weight: 730 !important;
}
.page--generator.v8-polish .sa-review__message.is-warning,
.page--generator.v8-polish .review-checks__message.is-warning {
  border-color: #d49b43 !important;
  color: #774500 !important;
  background: var(--v8-warning-soft) !important;
}

/* Pestanyes i botons: mida de lectura coherent. */
.page--generator.v8-polish :is(.noduls-v8-tab, .curriculum-distribution__tabs button, .curriculum-selector__tabs button) {
  min-height: 2.85rem !important;
  padding: .62rem .8rem !important;
  color: #36547c !important;
  font-size: .78rem !important;
  font-weight: 740 !important;
}
.page--generator.v8-polish :is(.noduls-v8-tab, .curriculum-distribution__tabs button, .curriculum-selector__tabs button)[aria-selected="true"],
.page--generator.v8-polish :is(.curriculum-distribution__tabs button, .curriculum-selector__tabs button).is-active {
  color: #173f9f !important;
  background: #fff !important;
}

@media (max-width: 72rem) {
  .page--generator.v8-polish .annual-builder__terms {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .page--generator.v8-polish .sa-methodology__choice-grid,
  .page--generator.v8-polish .assessment-evidence__agent-presets,
  .page--generator.v8-polish .assessment-evidence__custom-agents {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .page--generator.v8-polish .assessment-evidence__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .page--generator.v8-polish .assessment-evidence__description {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 58rem) {
  .page--generator.v8-polish .sa-inclusion__dua-grid,
  .page--generator.v8-polish .sa-inclusion__measure-columns {
    grid-template-columns: 1fr !important;
  }
  .page--generator.v8-polish .sa-methodology__two-columns,
  .page--generator.v8-polish .sa-methodology__roles {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 48rem) {
  .page--generator.v8-polish .annual-builder__terms,
  .page--generator.v8-polish .sa-methodology__choice-grid,
  .page--generator.v8-polish .assessment-evidence__agent-presets,
  .page--generator.v8-polish .assessment-evidence__custom-agents,
  .page--generator.v8-polish .assessment-evidence__agent-form,
  .page--generator.v8-polish .assessment-evidence__grid {
    grid-template-columns: 1fr !important;
  }
  .page--generator.v8-polish .annual-item__fields[data-annual-item-fields],
  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: "sessions" "term" "focus" !important;
  }
  .page--generator.v8-polish .annual-item__field--sessions,
  .page--generator.v8-polish .annual-item__field--sessions input {
    width: 6rem !important;
    max-width: 6rem !important;
  }
  .page--generator.v8-polish .assessment-evidence__agent-form button {
    width: 100% !important;
  }
}




/* 15 · Capa UIX accessible i coherent · alpha.15 */
.page--generator.v8-polish {
  font-size: 15px;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.page--generator.v8-polish main :is(p, li, dt, dd, small),
.page--generator.v8-polish .step-copy small,
.page--generator.v8-polish [class*="description"],
.page--generator.v8-polish [class*="help"] {
  color: var(--v8-ink-2) !important;
  line-height: 1.52 !important;
  opacity: 1 !important;
}

.page--generator.v8-polish main p { font-size: .84rem !important; }
.page--generator.v8-polish main small,
.page--generator.v8-polish main dt,
.page--generator.v8-polish .step-copy small { font-size: .72rem !important; }

.page--generator.v8-polish :is(label, legend, summary) {
  color: var(--v8-ink) !important;
  font-size: .82rem !important;
  line-height: 1.4 !important;
}

.page--generator.v8-polish :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea:not([data-item-focus])) {
  min-height: 2.8rem !important;
  border-color: var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
}
.page--generator.v8-polish textarea { padding: .78rem .85rem !important; }
.page--generator.v8-polish :is(input, select, textarea)::placeholder {
  color: #526b91 !important;
  opacity: 1 !important;
}
.page--generator.v8-polish :is(button, [role="button"]) {
  font-size: .8rem;
  line-height: 1.25;
}
.page--generator.v8-polish :is(button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid rgba(54, 91, 220, .24) !important;
  outline-offset: 2px !important;
}

/* Els controls desactivats continuen sent blaus i llegibles, mai grisos opacs. */
.page--generator.v8-polish button:disabled,
.page--generator.v8-polish [aria-disabled="true"] {
  border-color: #b9cae7 !important;
  color: #405a82 !important;
  background: #edf3ff !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
}

/* Navegació i capçalera. */
.page--generator.v8-polish .generator-step {
  min-height: 4.25rem !important;
  gap: .68rem !important;
  padding: .62rem .68rem !important;
}
.page--generator.v8-polish .generator-step .step-icon {
  width: 2.2rem !important;
  height: 2.2rem !important;
}
.page--generator.v8-polish .generator-step .step-copy strong {
  color: var(--v8-ink) !important;
  font-size: .86rem !important;
  line-height: 1.22 !important;
}
.page--generator.v8-polish .generator-step .step-count {
  color: #2448c7 !important;
  font-size: .7rem !important;
  font-weight: 780 !important;
}
.page--generator.v8-polish .noduls-admin-v7__topbar h1 {
  color: var(--v8-ink) !important;
  font-size: 1.8rem !important;
  line-height: 1.08 !important;
}
.page--generator.v8-polish .noduls-admin-v7__topbar p,
.page--generator.v8-polish .noduls-admin-v7__breadcrumb {
  color: var(--v8-ink-2) !important;
  font-size: .76rem !important;
}

/* Consells del pas: bombilla SVG real i visible. */
.page--generator.v8-polish .noduls-v8-tip-button {
  color: #774500 !important;
  background: var(--v8-warning-soft) !important;
  border-color: #d49b43 !important;
}
.page--generator.v8-polish .noduls-v8-tip-button > svg,
.page--generator.v8-polish .noduls-v8-tip-button__icon {
  display: block !important;
  width: 1.18rem !important;
  height: 1.18rem !important;
  flex: 0 0 1.18rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.85 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

/* Icones d'informació: només el cercle dibuixat pel mateix SVG. */
.page--generator.v8-polish .noduls-v8-info,
.page--generator.v8-polish .noduls-v8-help-trigger {
  width: 1.8rem !important;
  height: 1.8rem !important;
  min-width: 1.8rem !important;
  min-height: 1.8rem !important;
  flex-basis: 1.8rem !important;
  border: 0 !important;
  border-radius: var(--v8-radius) !important;
  color: var(--v8-primary-strong) !important;
  background: transparent !important;
}
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger) > svg {
  width: 1.22rem !important;
  height: 1.22rem !important;
}
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger):hover,
.page--generator.v8-polish :is(.noduls-v8-info, .noduls-v8-help-trigger):focus-visible {
  color: #173f9f !important;
  background: var(--v8-primary-soft) !important;
}

/* Cerques. */
.page--generator.v8-polish :is(
  .noduls-admin-v7__search img,
  .noduls-admin-v7__search svg,
  .curriculum-selector__search svg,
  .curriculum-distribution__search svg
) {
  width: 1.22rem !important;
  height: 1.22rem !important;
  color: #2448c7 !important;
  stroke-width: 2 !important;
}
.page--generator.v8-polish :is(
  .noduls-admin-v7__search input,
  .curriculum-selector__search input,
  .curriculum-distribution__search input
) {
  min-height: 2.9rem !important;
  padding-left: 2.75rem !important;
  font-size: .84rem !important;
}

/* Pestanyes. */
.page--generator.v8-polish :is(
  .noduls-v8-tab,
  .sa-editor__tabs button,
  .curriculum-selector__tabs button,
  .curriculum-distribution__tabs button,
  .review-dashboard__tabs button
) {
  min-height: 3rem !important;
  padding: .68rem .9rem !important;
  color: #36547c !important;
  background: var(--v8-surface-soft) !important;
  font-size: .82rem !important;
  font-weight: 740 !important;
}
.page--generator.v8-polish :is(
  .noduls-v8-tab[aria-selected="true"],
  .sa-editor__tabs button[aria-selected="true"],
  .curriculum-selector__tabs button.is-active,
  .curriculum-distribution__tabs button.is-active,
  .review-dashboard__tabs button.is-active
) {
  color: #173f9f !important;
  background: #fff !important;
}

/* 16 · Eliminació sistemàtica de superfícies grises heretades. */
.page--generator.v8-polish :is(
  .sa-curriculum__columns > section,
  .sa-objective-card,
  .sa-methodology__panel,
  .sa-inclusion__panel,
  .assessment-evidence,
  .sa-review__checks,
  .sa-review__alignment,
  .sa-review__summary,
  .sa-review__actions,
  .curriculum-distribution__main,
  .distribution-sa-summary
) {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--v8-shadow-soft) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish :is(
  .sa-curriculum-item,
  .sa-objective-card__alignment details,
  .sa-objective-option,
  .sa-methodology-resource,
  .sa-inclusion__dua-grid > article,
  .sa-inclusion__measure-columns > article,
  .sa-inclusion-measure,
  .sa-assessment__moments,
  .assessment-evidence__alignment details,
  .assessment-option,
  .sa-assessment__validation,
  .assessment-validation-item,
  .sa-review-check,
  .sa-review__alignment-grid article,
  .sa-review__summary dl > div,
  .curriculum-distribution__toolbar,
  .curriculum-distribution__actions,
  .curriculum-distribution__items,
  .distribution-item
) {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-surface-soft) !important;
  background-image: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.page--generator.v8-polish :is(
  .sa-objective-card__alignment summary,
  .assessment-evidence__alignment summary,
  .sa-assessment__moments > header,
  .sa-assessment__validation > header,
  .sa-review__checks > header,
  .sa-review__alignment > header,
  .sa-review__summary > header,
  .sa-review__actions > header
) {
  border-color: var(--v8-line) !important;
  color: var(--v8-ink) !important;
  background: var(--v8-primary-soft) !important;
}

.page--generator.v8-polish :is(
  .sa-curriculum-item,
  .sa-objective-card,
  .sa-objective-card__alignment,
  .sa-methodology-resource,
  .sa-inclusion__dua-grid,
  .sa-inclusion__measure-columns,
  .assessment-evidence,
  .sa-assessment__validation,
  .sa-review,
  .curriculum-distribution
) :is(h2, h3, h4, strong, label, summary, dt, dd) {
  color: var(--v8-ink) !important;
  opacity: 1 !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum-item,
  .sa-objective-card,
  .sa-methodology-resource,
  .sa-inclusion__dua-grid,
  .sa-inclusion__measure-columns,
  .assessment-evidence,
  .sa-assessment__validation,
  .sa-review,
  .curriculum-distribution
) :is(p, small, span) {
  color: var(--v8-ink-2) !important;
  opacity: 1 !important;
}

/* Botons secundaris: blau pàl·lid en lloc de gris. */
.page--generator.v8-polish :is(
  .sa-curriculum__header > button,
  .sa-objectives__actions button:not(.is-primary),
  .sa-methodology__header-actions button,
  .sa-inclusion__header > button,
  .sa-assessment__header-actions button:not(.is-primary),
  .sa-assessment__footer button,
  .sa-review__actions button,
  .curriculum-distribution__actions button,
  .distribution-sa-summary > button
) {
  border-color: #aebfe0 !important;
  color: #173f9f !important;
  background: #edf3ff !important;
}
.page--generator.v8-polish :is(
  .sa-curriculum__header > button,
  .sa-objectives__actions button:not(.is-primary),
  .sa-methodology__header-actions button,
  .sa-inclusion__header > button,
  .sa-assessment__header-actions button:not(.is-primary),
  .sa-assessment__footer button,
  .sa-review__actions button,
  .curriculum-distribution__actions button,
  .distribution-sa-summary > button
):hover:not(:disabled) {
  border-color: #6f8df0 !important;
  color: #10234a !important;
  background: #dfe8ff !important;
}

/* Filtre de pendents: mai gris. */
.page--generator.v8-polish .curriculum-distribution__pending-toggle {
  border-color: #aebfe0 !important;
  color: #173f9f !important;
  background: #edf3ff !important;
}
.page--generator.v8-polish .curriculum-distribution__pending-toggle:hover,
.page--generator.v8-polish .curriculum-distribution__pending-toggle.is-active,
.page--generator.v8-polish .curriculum-distribution__pending-toggle[aria-pressed="true"] {
  border-color: #365bdc !important;
  color: #fff !important;
  background: #365bdc !important;
}

/* Checklists natius. */
.page--generator.v8-polish :is(
  .sa-methodology,
  .sa-inclusion,
  .sa-assessment,
  .curriculum-distribution,
  .curriculum-selector
) input[type="checkbox"],
.page--generator.v8-polish :is(
  .sa-methodology,
  .sa-inclusion,
  .sa-assessment,
  .curriculum-distribution,
  .curriculum-selector
) input[type="radio"] {
  width: 1.18rem !important;
  height: 1.18rem !important;
  min-width: 1.18rem !important;
  margin: 0 !important;
  accent-color: #365bdc !important;
  align-self: center !important;
}
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid label,
  .sa-inclusion__choice-grid label,
  .sa-inclusion__dua-grid label,
  .sa-assessment__moments label,
  .assessment-evidence__agent-presets label,
  .assessment-custom-agent label
) {
  display: flex !important;
  align-items: center !important;
  gap: .68rem !important;
  min-height: 3.15rem !important;
  padding: .72rem .78rem !important;
  border: 1px solid var(--v8-line-strong) !important;
  color: var(--v8-ink) !important;
  background: #f8fbff !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
}
.page--generator.v8-polish :is(
  .sa-methodology__choice-grid label,
  .sa-inclusion__choice-grid label,
  .sa-inclusion__dua-grid label,
  .sa-assessment__moments label,
  .assessment-evidence__agent-presets label,
  .assessment-custom-agent label
):has(input:checked) {
  border-color: #6f8df0 !important;
  border-left: .2rem solid #365bdc !important;
  color: #10234a !important;
  background: #eaf0ff !important;
}

/* Validacions i avisos. */
.page--generator.v8-polish .assessment-validation-item.is-ok,
.page--generator.v8-polish .sa-review-check.is-ok {
  border-color: #9dd8c3 !important;
  background: var(--v8-success-soft) !important;
}
.page--generator.v8-polish :is(.sa-assessment__notice.is-ready, .sa-objectives__notice.is-ready, .sa-inclusion__notice.is-ready, .sa-methodology__notice.is-ready) {
  color: #057657 !important;
  background: var(--v8-success-soft) !important;
}
.page--generator.v8-polish :is(.sa-review__message.is-warning, .review-checks__message.is-warning) {
  border-color: #d49b43 !important;
  color: #774500 !important;
  background: var(--v8-warning-soft) !important;
}

@media (max-width: 72rem) {
  .page--generator.v8-polish .annual-builder__terms { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .page--generator.v8-polish .sa-methodology__choice-grid,
  .page--generator.v8-polish .assessment-evidence__agent-presets,
  .page--generator.v8-polish .assessment-evidence__custom-agents { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .page--generator.v8-polish .assessment-evidence__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .page--generator.v8-polish .assessment-evidence__description { grid-column: 1 / -1 !important; }
}
@media (max-width: 58rem) {
  .page--generator.v8-polish .sa-inclusion__dua-grid,
  .page--generator.v8-polish .sa-inclusion__measure-columns,
  .page--generator.v8-polish .sa-methodology__two-columns,
  .page--generator.v8-polish .sa-methodology__roles { grid-template-columns: 1fr !important; }
}
@media (max-width: 48rem) {
  .page--generator.v8-polish .annual-builder__terms,
  .page--generator.v8-polish .sa-methodology__choice-grid,
  .page--generator.v8-polish .assessment-evidence__agent-presets,
  .page--generator.v8-polish .assessment-evidence__custom-agents,
  .page--generator.v8-polish .assessment-evidence__agent-form,
  .page--generator.v8-polish .assessment-evidence__grid { grid-template-columns: 1fr !important; }
  .page--generator.v8-polish .annual-item__fields[data-annual-item-fields],
  .page--generator.v8-polish .annual-item__fields {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-template-areas: "sessions" "term" "focus" !important;
  }
  .page--generator.v8-polish .annual-item__field--sessions,
  .page--generator.v8-polish .annual-item__field--sessions input {
    width: 6rem !important;
    max-width: 6rem !important;
  }
  .page--generator.v8-polish .assessment-evidence__agent-form button { width: 100% !important; }
}


/* v8.5.16 · Garantia final de cascada: aquests components no poden recuperar
   les superfícies fosques de les fulles CSS històriques. */
.page--generator.v8-polish :is(
  .sa-curriculum-item,
  .sa-objective-card,
  .sa-objective-card__alignment details,
  .sa-methodology-resource,
  .sa-inclusion__dua-grid > article,
  .sa-inclusion__measure-columns > article,
  .sa-inclusion-measure,
  .sa-assessment__moments,
  .assessment-evidence,
  .assessment-evidence__alignment details,
  .sa-assessment__validation,
  .assessment-validation-item,
  .sa-review__checks,
  .sa-review__alignment,
  .sa-review__summary,
  .sa-review__actions,
  .sa-review-check,
  .sa-review__alignment-grid article,
  .curriculum-distribution__toolbar,
  .curriculum-distribution__actions,
  .curriculum-distribution__items,
  .distribution-item,
  .distribution-sa-summary
) {
  color: var(--v8-ink) !important;
  background-color: var(--v8-surface-soft) !important;
  background-image: none !important;
  opacity: 1 !important;
}

.page--generator.v8-polish :is(
  .sa-curriculum-item,
  .sa-objective-card,
  .sa-methodology-resource,
  .sa-inclusion-measure,
  .assessment-evidence,
  .assessment-validation-item,
  .sa-review-check,
  .distribution-item
) :is(h2,h3,h4,strong,label,summary,dt,dd,p,small,span) {
  color: var(--v8-ink-2) !important;
  opacity: 1 !important;
}

.page--generator.v8-polish .noduls-v8-tip-button > svg {
  display: block !important;
  width: 1.45rem !important;
  height: 1.45rem !important;
  fill: none !important;
  stroke: currentColor !important;
}
