/* Llegir un plec · el que és d'aquesta app i de cap altra.
   Tot el que és comú (barra, botons, taules, etiquetes…) és a ../_comu/comu.css. */

/* ═══ Disposició: la fitxa a l'esquerra (40 %) i el plec a la dreta (60 %) ═══ */
.dividit-plec { grid-template-columns: minmax(min(520px, 100%), 40fr) minmax(0, 60fr); }
.dividit-plec > .sf-zona { border-right: 0; }
.dividit-plec > .fitxa-panell { position: relative; border-right: var(--sf-linia) solid var(--sf-filet); grid-template-rows: auto auto auto minmax(0, 1fr) auto; }

/* «Anar al plec»: només es veu quan té el focus del teclat. */
.salta-plec {
  position: absolute; z-index: 5; top: 8px; left: var(--sf-gutter);
  min-height: 44px; padding: 8px 14px; border: var(--sf-linia) solid var(--sf-tinta); border-radius: var(--sf-radi);
  background: var(--sf-paper); color: var(--sf-tinta); font: inherit; font-size: var(--sf-t-cos); font-weight: 600; cursor: pointer;
  opacity: 0; pointer-events: none;
}
.salta-plec:focus-visible { opacity: 1; pointer-events: auto; outline: 2px solid var(--sf-terra); outline-offset: 2px; }

.fitxa-cap { padding: var(--sf-e5) var(--sf-gutter) var(--sf-e3); }
.fitxa-cap__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 4px; font-size: var(--sf-t-nota); color: var(--sf-gris-fort); }
.fitxa-lots { padding: 0 var(--sf-gutter) var(--sf-e3); }
.lot-n { font-weight: 600; font-variant-numeric: tabular-nums; }
.fitxa-cap__meta .sf-mono { font-size: var(--sf-t-petit); }
/* Les tres pestanyes es veuen sempre: si no caben, el nom es parteix en dues línies. */
.sf-pestanyes { align-items: flex-end; }
.sf-pestanyes .sf-pestanya { flex: 0 1 auto; white-space: normal; text-align: left; line-height: 1.25; }

/* ═══ El plec ═══════════════════════════════════════════════════════════ */
.plec-eines { gap: var(--sf-e2) 10px; }
.dividit-plec .sf-desplacable { position: relative; }
.doc-curt, .plec-pagina__curt { display: none; }
@media (max-width: 1400px) { .doc-pag { display: none; } }
.plec-nav, .plec-zoom, .plec-enllacos { display: inline-flex; align-items: center; gap: 6px; }
.plec-enllacos { margin-left: auto; }
.plec-pagina { min-width: 7.4em; text-align: center; font-size: var(--sf-t-nota); color: var(--sf-gris-fort); font-variant-numeric: tabular-nums; white-space: nowrap; }
.plec-original { text-decoration: none; color: var(--sf-tinta); font-weight: 500; white-space: nowrap; }
.plec-eines .sf-eina:disabled { color: var(--sf-gris-suau); border-color: var(--sf-filet); cursor: not-allowed; }
.plec-tornar { white-space: nowrap; }
@media (min-width: 901px) { .plec-tornar { display: none !important; } }

.plec-llenc { background: var(--sf-paper-2); }
.visor { position: absolute; inset: 0; overflow: auto; overscroll-behavior: contain; }
.visor:focus-visible { outline: 2px solid var(--sf-terra); outline-offset: -2px; }
.visor--arrossega { cursor: grabbing; }
.escena { --plec-marge: 24px; box-sizing: content-box; position: relative; margin: 0 auto; padding: var(--plec-marge); }
.full { position: relative; width: 100%; aspect-ratio: 1042 / 1474; background: var(--sf-paper); outline: var(--sf-linia) solid var(--sf-filet-fort); }
.full img { width: 100%; height: 100%; max-width: none; user-select: none; -webkit-user-drag: none; }
.capa { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; overflow: visible; pointer-events: none; }
.capa .marca { fill: rgba(166, 61, 38, .12); stroke: var(--sf-terra); stroke-width: 2px; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.capa .marca--altra { fill: rgba(166, 61, 38, .07); stroke: none; }
.plec-buit { position: absolute; inset: 0; overflow: auto; background: var(--sf-paper); }

.plec-peu { min-height: 56px; align-items: flex-start; padding-top: 10px; padding-bottom: 10px; }
.cita-text { font-style: italic; color: var(--sf-tinta); max-width: 72ch; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cita-text q { quotes: '«' '»'; }
.cita-nom { font-style: normal; font-weight: 600; }
.cita-lloc { color: var(--sf-gris); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cita-buida { color: var(--sf-gris); }
/* A l'ordinador, la cita en dues línies com a màxim i el lloc al costat: així «Prova això» no la tapa. */
@media (min-width: 901px) {
  .plec-peu { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: var(--sf-e4); }
  .cita-text { -webkit-line-clamp: 2; }
}

/* ═══ Fitxa ═════════════════════════════════════════════════════════════ */
.grup-cap { display: flex; align-items: center; gap: var(--sf-e2) var(--sf-e3); flex-wrap: wrap; margin-bottom: var(--sf-e2); }
.fitxa-grup { margin-top: var(--sf-e8); }
.camps > li.camp { display: grid; grid-template-columns: minmax(0, 34%) minmax(0, 1fr); gap: 4px var(--sf-e4); position: relative; }
.camp__nom { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; font-size: var(--sf-t-nota); color: var(--sf-gris); line-height: 1.4; padding-top: 2px; }
.camp__valor { font-size: var(--sf-t-cos); line-height: 1.45; }
.import { font-family: var(--sf-serif); font-size: 22px; line-height: 1.1; font-variant-numeric: lining-nums; letter-spacing: -.01em; }
.camp__peu { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px var(--sf-e3); margin-top: 6px; }
.camp__nota { margin-top: 6px; }
.camp__resta { font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-gris-fort); }
.camp__detall { margin-top: 2px; padding-bottom: 2px; }
.camp__mes { margin-right: auto; color: var(--sf-gris-fort); }
.camp__extra { grid-column: 1 / -1; min-width: 0; }
.camp__nota .veure-pagina { display: block; margin-top: 2px; }
.camp__nota b { color: var(--sf-gris-fort); font-weight: 600; }
.camp__nota--dubte b { color: var(--sf-dubte-text); }

/* «Veure al plec» i les altres cites. */
.veure-grup { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; max-width: 100%; margin-left: auto; }
.veure { white-space: nowrap; }
.veure-nav { display: inline-flex; align-items: center; gap: 2px; }
.veure-compte { min-width: 3.4em; text-align: center; font-size: var(--sf-t-nota); color: var(--sf-gris-fort); font-variant-numeric: tabular-nums; white-space: nowrap; }
.veure-n {
  min-width: 30px; height: 30px; padding: 0 6px;
  border: var(--sf-linia) solid var(--sf-filet-fort); border-radius: var(--sf-radi); background: var(--sf-paper);
  font-size: var(--sf-t-petit); font-weight: 500; color: var(--sf-gris-fort); font-variant-numeric: tabular-nums; cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .veure-n:hover { border-color: var(--sf-tinta); color: var(--sf-tinta); }
  .sf-taula tbody tr[data-clicable]:hover td { background: var(--sf-paper-2); }
}

/* La fila de la cita activa: l'única marca terra, amb el requadre del plec. */
[data-actiu]:not(tr) { background: var(--sf-paper-2); box-shadow: -12px 0 0 var(--sf-paper-2), 12px 0 0 var(--sf-paper-2); position: relative; }
[data-actiu]:not(tr)::before { content: ''; position: absolute; left: -12px; top: 0; bottom: 0; width: 2px; background: var(--sf-terra); }
.avis[data-actiu] { background: none; box-shadow: none; }
.avis[data-actiu]::before { left: -15px; }

/* Els avisos de la lectura: un requadre blanc d'una línia; la resta, en desplegar-lo. */
.avisos { margin-top: var(--sf-e4); padding: 10px 14px; border: var(--sf-linia) solid var(--sf-filet-fort); background: var(--sf-paper); }
.avisos-llista { list-style: none; padding: 0; margin: 0; }
.avis { position: relative; }
.avisos--obert .avis + .avis { border-top: var(--sf-linia) solid var(--sf-filet); margin-top: 10px; padding-top: 10px; }
.avis__fila { display: flex; align-items: flex-start; justify-content: space-between; gap: 6px var(--sf-e4); }
.avis__text { min-width: 0; font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-tinta); font-weight: 500; }
.avisos:not(.avisos--obert) .avis__text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.avis__text .sf-etiq { margin-right: 2px; vertical-align: 1px; }
.avis__n { color: var(--sf-gris); font-weight: 400; white-space: nowrap; }
.avis__accions { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 0; }
.avis__accions .veure-grup { margin-left: 0; justify-content: flex-end; }
.avis__detall { margin-top: 4px; font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-gris-fort); max-width: 62ch; }
.avisos-boto { color: var(--sf-gris-fort); white-space: nowrap; }
.avisos__peu { margin-top: 8px; padding-top: 6px; border-top: var(--sf-linia) solid var(--sf-filet); }

/* El que en diu la revisió, al costat de la dada (no la corregeix: ho diu). */
.rev-marca { margin-top: 6px; padding-left: 10px; border-left: 2px solid var(--sf-filet-fort); font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-gris-fort); }
.rev-marca__tipus { font-weight: 600; color: var(--sf-tinta); }
.rev-marca__diu { font-weight: 600; }
.rev-marca--error { border-left-color: var(--sf-error); }
.rev-marca--error .rev-marca__tipus { color: var(--sf-error); }

/* La taula dels lots, dins de la fila «Lots». */
.lots-taula { margin-top: var(--sf-e3); }
.lots-taula .sf-taula { font-size: var(--sf-t-nota); }
.lots-taula .lot-num { width: 2.5em; }
.lot-triat td { font-weight: 600; color: var(--sf-tinta); }
.lots-taula .lot-triat td:first-child { box-shadow: inset 2px 0 0 var(--sf-tinta); }

/* Criteris: la barra de 100 punts i la llista. */
.criteris { margin-top: var(--sf-e4); }
.punts-barra { display: flex; height: 28px; border: var(--sf-linia) solid var(--sf-tinta); }
.punts-barra__tram {
  display: flex; align-items: center; justify-content: center; min-width: 0; flex-basis: 0;
  background: var(--sf-paper-3); border-left: var(--sf-linia) solid var(--sf-paper);
  font-size: var(--sf-t-petit); font-weight: 600; color: var(--sf-gris-fort); font-variant-numeric: tabular-nums;
}
.punts-barra__tram:first-child { border-left: 0; }
.punts-barra__tram--preu { background: var(--sf-tinta); color: var(--sf-paper); }
.punts-llegenda { display: flex; flex-wrap: wrap; gap: 4px var(--sf-e4); margin-top: 6px; font-size: var(--sf-t-nota); color: var(--sf-gris-fort); }
.punts-llegenda i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; }
.punts-llegenda__preu { background: var(--sf-tinta); }
.punts-llegenda__resta { background: var(--sf-paper-3); box-shadow: inset 0 0 0 1px var(--sf-filet-fort); }
.criteris-llista { list-style: none; padding: 0; margin: var(--sf-e3) 0 0; }
.criteri { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: var(--sf-e3); padding: var(--sf-e3) 0; border-top: var(--sf-linia) solid var(--sf-filet); position: relative; }
.criteri__punts { font-family: var(--sf-serif); font-size: 28px; line-height: 1; padding-top: 1px; font-variant-numeric: lining-nums; }
.criteri__nom { font-size: var(--sf-t-cos); font-weight: 600; line-height: 1.35; margin-bottom: 2px; }

/* L'annex de preus del lot 1. */
.annex-bloc { margin-top: var(--sf-e3); }
.annex { margin-top: var(--sf-e3); }
.annex-caixa { max-height: 340px; overflow: auto; overscroll-behavior: contain; border-bottom: var(--sf-linia) solid var(--sf-filet); }
.annex-taula { font-size: var(--sf-t-nota); }
.annex-taula td { padding-top: 7px; padding-bottom: 7px; }
.annex-desc { min-width: 12em; }
.annex-nota { margin-top: var(--sf-e2); }
.annex-suma { margin-top: var(--sf-e2); font-size: var(--sf-t-nota); color: var(--sf-gris-fort); }

/* Com va acabar. */
.acabar-llista { display: grid; grid-template-columns: minmax(0, 34%) minmax(0, 1fr); column-gap: var(--sf-e4); font-size: var(--sf-t-cos); }
.acabar-llista dt, .acabar-llista dd { padding: 8px 0; border-top: var(--sf-linia) solid var(--sf-filet); }
.acabar-llista dt { color: var(--sf-gris); font-size: var(--sf-t-nota); padding-top: 9px; }
.acabar-exclusio { margin-top: var(--sf-e3); font-size: var(--sf-t-cos); position: relative; }

/* ═══ Ens hi podem presentar? ═══════════════════════════════════════════ */
.presentar-cap { margin-bottom: var(--sf-e5); }
.presentar-empresa { display: flex; align-items: center; flex-wrap: wrap; gap: 6px var(--sf-e2); font-size: var(--sf-t-cos); }
.presentar-empresa b { font-weight: 600; }
.presentar-cap .sf-nota { margin-top: 4px; }
.xifres { margin-bottom: var(--sf-e2); }
.xifres .sf-xifra { font-size: 36px; }
.xifra-sub { margin-top: 4px; font-size: var(--sf-t-nota); line-height: 1.35; color: var(--sf-gris-fort); hyphens: manual; }
/* Sense xifra: un text clar, no un guió en Bodoni que sembla una ratlla. */
.sf-xifra.xifra-buida { font-family: var(--sf-sans); font-size: var(--sf-t-h3); font-weight: 500; line-height: 1.2; color: var(--sf-gris-fort); white-space: normal; letter-spacing: 0; padding-top: 6px; }
.presentar-lot-nota { margin-top: 8px; padding-left: 10px; border-left: 2px solid var(--sf-filet-fort); font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-gris-fort); }
.camp-error { margin-top: 4px; font-size: var(--sf-t-nota); color: var(--sf-error); }
.presentar-bloc { margin-top: var(--sf-e8); }
#requisits { margin-top: var(--sf-e6); }

/* Els requisits: l'estat a l'esquerra, amb text i signe. */
.req-grup + .req-grup { margin-top: var(--sf-e8); }
.reqs { list-style: none; padding: 0; margin: var(--sf-e2) 0 0; }
.req { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: var(--sf-e3); padding: var(--sf-e3) 0; border-top: var(--sf-linia) solid var(--sf-filet); position: relative; }
.reqs > .req:last-child { border-bottom: var(--sf-linia) solid var(--sf-filet); }
.req__estat { display: flex; align-items: flex-start; gap: 6px; font-size: var(--sf-t-nota); font-weight: 600; line-height: 1.35; color: var(--sf-tinta); padding-top: 1px; }
.req__icona { width: 16px; height: 16px; flex: none; margin-top: 1px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.req__signe { flex: none; width: 16px; text-align: center; font-weight: 700; }
.req--depen .req__estat { color: var(--sf-dubte-text); }
.req--falta .req__estat, .req--info .req__estat { color: var(--sf-gris); font-weight: 500; }
/* La fila que no es compleix: l'única cosa en terra de la pantalla. */
.req--no { background: var(--sf-terra-tint); box-shadow: -12px 0 0 var(--sf-terra-tint), 12px 0 0 var(--sf-terra-tint); border-top-color: transparent; }
.req--no::before { content: ''; position: absolute; left: -12px; top: 0; bottom: 0; width: 2px; background: var(--sf-terra); }
.req--no .req__estat { color: var(--sf-terra); }
.req--no + .req { border-top-color: transparent; }
.req--no .req__lloc { color: var(--sf-gris-fort); }
.req--no[data-actiu] { background: var(--sf-terra-tint); box-shadow: -12px 0 0 var(--sf-terra-tint), 12px 0 0 var(--sf-terra-tint); }
.req__nom { font-size: var(--sf-t-cos); font-weight: 600; line-height: 1.35; }
.req__text { margin-top: 2px; font-size: var(--sf-t-nota); line-height: 1.45; color: var(--sf-gris-fort); }
.req__calc, .req__alt, .req__dubte { margin-top: 6px; }
.req__calc { color: var(--sf-tinta); }
.req__alt b, .req__dubte b { color: var(--sf-gris-fort); font-weight: 600; }
.req__lloc { font-size: var(--sf-t-nota); color: var(--sf-gris); margin-right: auto; }
.req .camp__peu { justify-content: flex-start; }
.req .veure-grup { margin-left: 0; }
.req-subtitol { margin-top: var(--sf-e5); font-size: var(--sf-t-cos); font-weight: 600; color: var(--sf-gris-fort); }
.req-info-cap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sf-e2) var(--sf-e3); margin-top: var(--sf-e5); padding-bottom: var(--sf-e2); border-bottom: var(--sf-linia) solid var(--sf-filet); }
.req-info-cap .req-subtitol { margin-top: 0; }
.reqs--info:not([hidden]) { margin-top: 0; }

/* Caselles de 20 px (44 px d'alt amb el dit). */
.caselles { display: grid; gap: 0 var(--sf-e4); margin-top: 4px; }
.caselles--fila { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); }
.casella { display: flex; align-items: center; gap: var(--sf-e2); min-height: 36px; font-size: var(--sf-t-cos); line-height: 1.35; cursor: pointer; }
.casella__input {
  appearance: none; -webkit-appearance: none; flex: none; width: 20px; height: 20px; margin: 0;
  border: 0; border-radius: 0; cursor: pointer;
  background: center / 20px 20px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='.5' y='.5' width='19' height='19' rx='3.5' fill='%23fff' stroke='%23a3a3a3'/%3E%3C/svg%3E");
}
.casella__input:checked { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='.5' y='.5' width='19' height='19' rx='3.5' fill='%23111' stroke='%23111'/%3E%3Cpath d='M5.2 10.4l3.1 3.1 6.5-6.6' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.casella__input:focus-visible { outline: 2px solid var(--sf-terra); outline-offset: 2px; }

/* Certificacions. */
.cert-caselles { border: 0; padding: 0; margin: var(--sf-e2) 0 0; min-width: 0; }
.cert-resposta { margin-top: var(--sf-e3); font-size: var(--sf-t-cos); }
.cert-iso { margin-top: var(--sf-e2); position: relative; }
.cert-iso .camp__peu { justify-content: flex-start; }
.cert-iso .veure-grup { margin-left: 0; }

/* L'oferta: un control per criteri. */
.oferta-controls { margin-top: var(--sf-e3); }
.oferta-criteri { min-width: 0; margin: 0; padding: var(--sf-e3) 0; border: 0; border-top: var(--sf-linia) solid var(--sf-filet); }
.oferta__cap { display: flex; align-items: center; justify-content: space-between; gap: var(--sf-e3); }
.oferta__nom { font-size: var(--sf-t-cos); font-weight: 600; line-height: 1.35; }
.oferta__punts { flex: none; font-size: var(--sf-t-nota); color: var(--sf-gris-fort); white-space: nowrap; font-variant-numeric: tabular-nums; }
.oferta__control { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--sf-e4); margin-top: 6px; }
.oferta__valor { display: inline-flex; align-items: center; gap: 6px; }
.oferta__valor .sf-entrada-text { width: 72px; }
.oferta__u { min-width: 1.6em; font-size: var(--sf-t-nota); color: var(--sf-gris); }
.oferta__nota { margin-top: 6px; }
.sf-entrada-text[aria-invalid='true'] { border-color: var(--sf-error); }

/* La taula «Com hauríeu quedat». */
.taula-titol { margin-top: var(--sf-e6); }
#taula-punts { margin-top: var(--sf-e2); }
.taula-punts .taula-pos { width: 3em; }
.taula-nom__nom { display: block; }
.taula-nom__sub { display: none; }
.taula-nom__motiu { display: block; font-size: var(--sf-t-petit); color: var(--sf-gris-fort); font-weight: 400; }
.fila-vostra td { font-weight: 600; }
.fila-vostra td:first-child { box-shadow: inset 2px 0 0 var(--sf-tinta); padding-left: 8px; }
.taula-fora { white-space: nowrap; }
.fora-num { display: inline-block; min-width: 3.2em; text-align: right; font-variant-numeric: tabular-nums; }
.fora-barra { display: inline-block; position: relative; width: 72px; height: 8px; margin-left: 8px; vertical-align: middle; background: var(--sf-paper-3); }
.fora-barra__ple { position: absolute; inset: 0 auto 0 0; background: var(--sf-gris-suau); }
.fila-vostra .fora-barra__ple { background: var(--sf-tinta); }
.fora-barra__llindar { position: absolute; top: -4px; bottom: -4px; width: 1px; background: var(--sf-tinta); }
.xifra-petita { font-family: var(--sf-serif); font-size: 19px; font-weight: 400; font-variant-numeric: lining-nums tabular-nums; }
.taula-nota { margin-top: var(--sf-e3); }
.taula-nota > span { display: block; }
.taula-nota > span + span { margin-top: 2px; }

/* L'empresa. */
.empresa-camps { display: grid; gap: var(--sf-e4); margin-top: var(--sf-e3); }
.empresa-anys { min-width: 0; margin: 0; padding: 0; border: 0; }
.empresa-anys > legend { padding: 0; margin-bottom: 6px; }
.empresa-anys__camps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sf-e2); }
.empresa-anys__camps .sf-camp__nom { font-size: var(--sf-t-petit); color: var(--sf-gris); }
.empresa-camp { max-width: 280px; }
.empresa-entrada { display: flex; align-items: center; gap: 6px; }
.empresa-entrada .sf-entrada-text { width: 100%; min-width: 0; }
#empresa .caselles { margin-top: var(--sf-e3); }
.empresa-botons { margin-top: var(--sf-e4); }
#empresa > .sf-nota:last-child { margin-top: var(--sf-e3); }

/* ═══ El que encerta i el que no ════════════════════════════════════════ */
.rev-avis { margin-bottom: var(--sf-e2); }
.revisio .presentar-bloc:first-of-type { margin-top: var(--sf-e6); }
.comprovacions .req__estat { color: var(--sf-tinta); }
.req--info .req__estat { color: var(--sf-gris); }
.rev-pendent { margin-top: var(--sf-e2); padding: var(--sf-e4); border: var(--sf-linia) dashed var(--sf-filet-fort); font-size: var(--sf-t-cos); color: var(--sf-gris-fort); }
.rev-pendent b { color: var(--sf-tinta); font-weight: 600; }
.rev-xifres { margin-top: var(--sf-e4); }
.rev-cap { margin-top: var(--sf-e2); font-size: var(--sf-t-cos); color: var(--sf-tinta); }
.errors-rev { list-style: none; padding: 0; margin: var(--sf-e2) 0 0; }
.error-rev { position: relative; padding: var(--sf-e3) 0; border-top: var(--sf-linia) solid var(--sf-filet); }
.errors-rev > .error-rev:last-child { border-bottom: var(--sf-linia) solid var(--sf-filet); }
.error-rev__cap { line-height: 1.35; }
.error-rev__tipus { font-size: var(--sf-t-nota); font-weight: 500; color: var(--sf-gris); white-space: nowrap; }
.error-rev--error .error-rev__tipus { color: var(--sf-error); }
.error-rev__dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px var(--sf-e3); margin-top: 6px; font-size: var(--sf-t-nota); line-height: 1.45; }
.error-rev__dl dt { color: var(--sf-gris); }
.error-rev__dl dd { color: var(--sf-gris-fort); }
.error-rev__dl .error-rev__bo { color: var(--sf-tinta); font-weight: 500; }
.rev-dubtes-nota { margin-top: var(--sf-e2); }
.dubtes-rev { list-style: none; padding: 0; margin: var(--sf-e2) 0 0; }
.dubte-rev { position: relative; padding: 10px 0; border-top: var(--sf-linia) solid var(--sf-filet); }
.dubte-rev__nom { font-size: var(--sf-t-cos); font-weight: 600; line-height: 1.35; }
.dubte-rev .sf-nota { margin-top: 2px; }
.rev-feta { margin-top: var(--sf-e4); }
.no-fa { margin-top: var(--sf-e2); font-size: var(--sf-t-cos); color: var(--sf-gris-fort); }

/* ═══ Amb el dit, tot de 44 px ══════════════════════════════════════════ */
@media (pointer: coarse), (max-width: 760px) {
  .sf-boto--text.sf-boto--petit, .veure-n { min-height: 44px; min-width: 44px; }
  .sf-boto--text.sf-boto--petit { display: inline-flex; align-items: center; }
  .casella { min-height: 44px; }
  .casella__input { height: 44px; }
}

/* ═══ Mòbil: primer el plec, després la fitxa ═══════════════════════════ */
@media (max-width: 900px) {
  .dividit-plec { grid-template-columns: minmax(0, 1fr); }
  .dividit-plec > .sf-zona { order: -1; }
  .dividit-plec > .fitxa-panell { border-right: 0; grid-template-rows: auto; }
  .plec-llenc { height: 55vh; height: 55svh; }
  .escena { --plec-marge: 12px; }
}
@media (max-width: 560px) {
  .plec-eines { display: grid; grid-template-columns: auto auto; justify-content: space-between; align-items: center; gap: var(--sf-e2); }
  .plec-docs { grid-area: 1 / 1; flex-wrap: nowrap; }
  .plec-enllacos { display: contents; }
  .plec-original { grid-area: 1 / 2; justify-self: end; }
  .plec-nav { grid-area: 2 / 1; gap: 4px; }
  .plec-zoom { grid-area: 2 / 2; justify-self: end; gap: 4px; }
  .plec-tornar { grid-area: 3 / 1 / 4 / 3; justify-self: start; }
  .doc-llarg, .doc-pag, .plec-pagina__llarg { display: none; }
  .doc-curt, .plec-pagina__curt { display: inline; }
  .plec-pagina { min-width: 4.6em; }
  .plec-peu { flex-direction: column; align-items: flex-start; gap: 2px; }

  .camps > li.camp { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .camp__nom { flex-direction: row; justify-content: space-between; align-items: center; gap: 4px var(--sf-e3); }
  .avis__fila { flex-direction: column; }
  .avis__accions { flex-direction: row; align-self: stretch; justify-content: space-between; }
  .acabar-llista { grid-template-columns: minmax(0, 1fr); }
  .acabar-llista dd { border-top: 0; padding-top: 0; }
  .req { grid-template-columns: auto minmax(0, 1fr); gap: 2px var(--sf-e2); }
  .req__cos { display: contents; }
  .req__cos > * { grid-column: 1 / -1; }
  .req__estat { grid-area: 1 / 1; }
  .req__cos > .req__nom { grid-area: 1 / 2; align-self: center; }
  .req__estat-text { white-space: nowrap; }
  .xifres .sf-xifra small { display: block; margin: 4px 0 0; }
  .taula-punts .taula-preu, .taula-punts .taula-fora { display: none; }
  .taula-nom__sub { display: block; font-size: var(--sf-t-petit); color: var(--sf-gris); font-weight: 400; }
  .empresa-anys__camps { grid-template-columns: minmax(0, 15em); }
  .empresa-camp { max-width: 15em; }
  /* Els criteris: el número al costat del nom i la resta a tota l'amplada. */
  .criteri { row-gap: 4px; }
  .criteri__cos { display: contents; }
  .criteri__cos > :not(.criteri__nom) { grid-column: 1 / -1; }
  .criteri__nom { align-self: center; margin-bottom: 0; }
}

/* ═══ Imprimir: la fitxa del lot triat ══════════════════════════════════ */
@media print {
  .plec, .fitxa-lots, .sf-pestanyes, #presentar, #revisio, .sf-peu-panell, .veure-grup, .avisos-boto, .annex-boto, .annex, .veure-pagina { display: none !important; }
  #fitxa[hidden], .avis[hidden] { display: block !important; }
  .dividit-plec { display: block; }
  .fitxa-panell { border: 0; }
  [data-actiu]:not(tr) { background: none; box-shadow: none; }
  [data-actiu]:not(tr)::before { display: none; }
}
