/* EfigySafe de producció · l'aspecte.
 *
 * EL PLA (ars-disseny §1, 27/10/2026). Subjecte: l'eina amb què la Fundació comprova, abans d'un acte amb nens, que
 * cada adult que hi va té el certificat del Registre Central. Qui la mira: la gestió (tot), el responsable de cada
 * equip (la seva gent) i cada persona (el seu). La feina de cada pantalla és una: saber qui encara no el té i pujar-lo.
 * Les pantalles són les referències de MEMÒRIES del 27/10 (imperium/projectes/efigysafe/web-27-10/).
 *   Color (MEMÒRIES per a la Fundació, [dig-19854]): blau #004571 · plafó #e5edf3 · filet #d7e2ea · cos #4a4c51 ·
 *     enllaç #0066cc · taronja #e57200 només d'accent (la ratlla del botó, l'anell de la secció i el focus).
 *   Lletra: la pila «FS Emeric», Arial. Títols en Light (300), subtítols Medium (500), cos 400.
 *   El moment de gosadia és un de sol: les tres xifres de l'acte. La resta, quiet.
 *   Per què aquesta paleta i no una altra: és la de la casa del client (capa 2 de la skill `naturgy`), i el que hi
 *   afegim (el blau per a «pendiente», el verd i el vermell foscos, els cinc tons de les inicials) surt de la seva
 *   pròpia web, de les referències i de la regla del daltonisme, no del gust.
 *
 * LA LLETRA ÉS LA PILA, NO EL FITXER: no es serveix cap .woff fins que la Fundació contesti per la llicència
 * (skill `naturgy` §4 i §9). UN ESTAT ÉS ICONA I PARAULA, i el verd i el taronja no s'oposen mai (§3).
 */

:root {
  --blau: #004571;
  --blau-fosc: #00385c;
  --taronja: #e57200;
  --plafo: #e5edf3;
  --plafo-clar: #f1f5f8;
  --filet: #d7e2ea;
  --cos: #4a4c51;
  --suau: #5f6b76;
  --enllac: #0066cc;
  --verd: #008202;
  --verd-fons: #eef7ee;
  --vermell: #a91b22;
  --vermell-fons: #fbeeee;
  --radi: 10px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: #fff;
  color: var(--cos);
  font-family: "FS Emeric", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

/* L'atribut hidden ha d'amagar encara que la classe digui display: grid (la revisió del 3b85f76: el «Continuar» sense
   enllaç es veia i donava «El enlace no vale»). */
[hidden] { display: none !important; }
a { color: var(--enllac); text-underline-offset: 2px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--taronja);
  outline-offset: 2px;
}

h1, h2 { color: var(--blau); margin: 0; line-height: 1.12; }
h1 { font-weight: 300; font-size: clamp(30px, 4.2vw, 52px); }
h2 { font-weight: 500; font-size: 20px; }

.visualment-amagat {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ── la barra ─────────────────────────────────────────────────────── */

.barra { display: flex; align-items: center; gap: 24px; padding: 0 24px; min-height: 64px; background: var(--blau); color: #fff; }
.marca { display: flex; align-items: center; gap: 14px; color: #fff; text-decoration: none; }
.marca-nom { font-weight: 600; font-size: 21px; }
.marca-ratlla { width: 1px; height: 28px; background: rgba(255, 255, 255, .55); }
.marca-logo { height: 46px; width: auto; display: block; }
.nav { display: flex; gap: 6px; margin: 0 auto; }
.nav a { color: #fff; text-decoration: none; padding: 6px 16px; border: 2px solid transparent; border-radius: 22px; font-weight: 500; }
.nav a:hover { border-color: rgba(255, 255, 255, .45); }
.nav a[aria-current="page"] { border-color: var(--taronja); }
.comptador { display: inline-block; min-width: 22px; padding: 0 6px; margin-left: 4px; border-radius: 11px; background: #fff; color: var(--blau); font-size: 13px; text-align: center; }
.barra-dreta { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.nav + .barra-dreta { margin-left: 0; }
.qui { display: flex; flex-direction: column; line-height: 1.25; text-align: right; }
.qui-nom { font-weight: 600; font-size: 15px; }
.qui-rol { font-size: 13px; opacity: .88; }
.sortir { margin: 0; }
.barra .enllac { color: #fff; }

/* ── la pàgina ────────────────────────────────────────────────────── */

.principal { max-width: 1200px; margin: 0 auto; padding: 28px 24px 48px; }
.principal-ampla { max-width: none; padding: 0 0 48px; }
.contingut { max-width: 1440px; margin: 0 auto; padding: 20px 32px 0; }
.peu { max-width: 1200px; margin: 0 auto; padding: 16px 24px 32px; font-size: 13px; color: var(--suau); }

.avis, .error { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 12px 16px; border-radius: var(--radi); font-weight: 500; }
.principal-ampla > .avis, .principal-ampla > .error { max-width: 1376px; margin: 16px auto 0; }
.avis { background: var(--verd-fons); color: var(--verd); }
.error { background: var(--vermell-fons); color: var(--vermell); }

.icona { width: 20px; height: 20px; flex: none; }
.icona-mitjana { width: 26px; height: 26px; color: var(--blau); }
.icona-gran { width: 44px; height: 44px; color: var(--blau); }

.meta { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 12px 0 0; color: var(--cos); font-size: 17px; }
.meta-item { display: inline-flex; align-items: center; gap: 10px; margin: 0; }
.meta-item .icona { width: 24px; height: 24px; color: var(--blau); }

/* ── la portada del gestor ────────────────────────────────────────── */

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto minmax(0, .9fr);
  align-items: center;
  gap: 32px;
  padding: 36px 32px 0 48px;
  background: var(--plafo);
  min-height: 268px;
}
.hero-text { padding-bottom: 32px; }
.hero-il { width: 100%; max-height: 268px; object-fit: contain; object-position: bottom right; align-self: end; display: block; }
.xifres { display: flex; margin: 0 0 32px; }
.xifra { padding: 0 26px; text-align: center; border-left: 1px solid #b9cad7; }
.xifra:first-child { border-left: 0; padding-left: 0; }
.xifra-num { font-size: clamp(44px, 5vw, 64px); font-weight: 600; color: var(--blau); line-height: 1; }
.xifra-text { margin: 8px 0 0; max-width: 150px; font-size: 17px; line-height: 1.3; color: var(--cos); }
.crida { margin: 0 0 16px; }

.eines { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 20px; margin: 0 0 16px; }
.cerca { position: relative; display: block; flex: 0 1 400px; }
.cerca .icona { position: absolute; left: 14px; top: 13px; color: var(--suau); }
.cerca input { width: 100%; padding-left: 44px; }
.eines .casella { padding-top: 11px; color: var(--cos); }
.eines-dreta { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.eines-dreta .desplegable[open] { flex-basis: 100%; order: 9; }

.taula-marc { overflow-x: auto; border: 1px solid var(--filet); border-radius: var(--radi); background: #fff; }
.taula { width: 100%; border-collapse: collapse; }
.taula th { text-align: left; font-size: 15px; font-weight: 600; color: var(--blau); padding: 14px 18px; border-bottom: 1px solid var(--filet); }
.taula td { padding: 10px 18px; border-bottom: 1px solid var(--filet); vertical-align: middle; }
.taula tbody tr:last-child td { border-bottom: 0; }
.taula tr.grup th { background: var(--plafo-clar); padding: 12px 18px; border-bottom: 1px solid var(--filet); font-weight: 400; }
.grup-nom { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 17px; color: var(--blau); margin-right: 16px; }
.grup-detall { color: var(--suau); font-size: 14px; margin-left: 12px; }
.grup-compte { float: right; color: var(--suau); font-size: 15px; }
.buit { color: var(--suau); }

.persona { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; }
.persona-nom { display: block; color: var(--enllac); font-size: 17px; }
.persona:hover .persona-nom { text-decoration: underline; }
.funcio { display: block; color: var(--suau); font-size: 14px; }
.inicials { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; color: #fff; font-weight: 600; font-size: 15px; }
.inicials-0 { background: #004571; }
.inicials-1 { background: #2b5f8e; }
.inicials-2 { background: #7a4560; }
.inicials-3 { background: #2e6b4f; }
.inicials-4 { background: #1f6f78; }

/* ── estats: icona i paraula ──────────────────────────────────────── */

.estat { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 16px; white-space: nowrap; }
.icona-estat { width: 26px; height: 26px; }
.estat-valid { color: var(--verd); }
.estat-revisio { color: var(--blau); }
.estat-rebutjat { color: var(--vermell); }
.estat-falta { color: var(--suau); font-weight: 500; }
.acces { font-size: 15px; }
.acces-si { color: var(--verd); }
.acces-pendent { color: var(--blau); }
.acces-no { color: var(--suau); }
.discret { color: var(--suau); font-size: 14px; }

/* ── l'organització ───────────────────────────────────────────────── */

.cap-org { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px; margin: 4px 0 24px; }
.cap-org-accio { margin-left: auto; }
.cap-org-accio .desplegable[open] { width: min(100%, 720px); }
.meta-xifres { margin-top: 22px; }
.plafo-seccio { background: var(--plafo); border-radius: var(--radi); padding: 20px; margin: 0 0 20px; }
.plafo-seccio > h2 { margin: 4px 4px 16px; }
.llista-persones { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.fila-persona {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 400px);
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--filet);
  border-radius: var(--radi);
  padding: 16px 22px;
}
.fila-estat { display: flex; flex-direction: column; gap: 2px; }
.fila-accions { display: flex; align-items: center; justify-content: flex-end; gap: 20px; flex-wrap: wrap; }
.fila-accions .enllac { display: inline-flex; align-items: center; gap: 8px; }
.en-linia { display: inline; margin: 0; }

/* ── «mi espacio» ─────────────────────────────────────────────────── */

.espai { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 28px; align-items: start; }
.espai-principal > h1 { margin: 4px 0 4px; }
.espai-principal > .meta { margin-bottom: 22px; }
.espai-lateral { background: var(--plafo); border-radius: var(--radi); padding: 0 0 20px; overflow: hidden; }
.espai-il { width: 100%; height: auto; display: block; }
.espai-lateral .acte { margin: 16px 20px 0; }
.acte h2 { font-size: 26px; font-weight: 400; margin-bottom: 14px; }
.acte .meta-item { margin: 0 0 12px; }

/* ── targetes i el requisit ───────────────────────────────────────── */

.targeta { background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 24px; margin: 0 0 16px; }
.plafo-seccio .targeta { margin: 0; }
.targeta > h2 { margin-bottom: 16px; }
.titol-pagina { margin: 8px 0 20px; }
.fitxa-cap { margin: 8px 0 20px; }
.fitxa-cap h1 { margin-bottom: 8px; }

.requisit { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; }
.requisit-cos h2 { font-size: 22px; font-weight: 500; line-height: 1.25; }
.font { margin: 6px 0 0; color: var(--suau); font-size: 14px; }
.requisit-estat { margin: 14px 0 6px; }
.dades p { margin: 2px 0; }
.regles { margin: 16px 0 0; padding: 0; list-style: none; }
.regles li { margin: 2px 0; }
.enllacos-sede { margin: 8px 0 0; }
.pujada { display: flex; align-items: center; gap: 16px; margin: 16px 0 0; padding: 16px 20px; border: 1px dashed #9db3c6; border-radius: var(--radi); }
.pujada-zona { position: relative; display: flex; align-items: center; gap: 12px; flex: 1; cursor: pointer; }
.pujada-zona input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.pujada-zona:focus-within { outline: 3px solid var(--taronja); outline-offset: 4px; border-radius: 6px; }
.pujada-text { color: var(--enllac); text-decoration: underline; text-underline-offset: 2px; }
.pujada-nom { color: var(--cos); font-size: 14px; }
.renova { margin: 14px 0 0; }
.renova summary { cursor: pointer; color: var(--enllac); text-decoration: underline; text-underline-offset: 2px; }

.proxim h2 { margin-bottom: 14px; }
.llista-proxim { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.llista-proxim li { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 14px 20px; }
.proxim-nom { color: var(--cos); font-size: 17px; }
.pastilla { padding: 4px 14px; border: 1px solid #9aa7b2; border-radius: 16px; color: var(--suau); font-size: 14px; white-space: nowrap; }

/* ── botons i formularis ──────────────────────────────────────────── */

.boto {
  display: inline-block;
  padding: 11px 26px 10px;
  border: 0;
  border-bottom: 3px solid var(--taronja);
  border-radius: 26px;
  background: var(--blau);
  color: #fff;
  font: inherit;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.2;
}
.boto:hover { background: var(--blau-fosc); }
.boto[disabled] { opacity: .6; cursor: progress; }
.boto-ample { display: block; width: 100%; text-align: center; padding: 15px 26px 14px; }
.boto-secundari { background: #fff; color: var(--blau); border: 1px solid var(--blau); border-radius: 8px; padding: 10px 20px; }
.boto-secundari:hover { background: var(--plafo-clar); }
.boto-perill { background: #fff; color: var(--vermell); border: 1px solid var(--vermell); }
.boto-perill:hover { background: var(--vermell-fons); }
.enllac { background: none; border: 0; padding: 0; font: inherit; color: var(--enllac); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

.accions-pagina { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; }
.desplegable > summary { list-style: none; cursor: pointer; }
.desplegable > summary::-webkit-details-marker { display: none; }
.desplegable[open] > summary { margin-bottom: 12px; }
.desplegable form { background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 18px; }
.perill > summary { color: var(--vermell); }

.formulari { display: grid; gap: 6px; max-width: 460px; }
.formulari label { font-size: 15px; color: var(--cos); }
.formulari .boto { justify-self: start; margin-top: 14px; }
.formulari .boto-ample { justify-self: stretch; }
.formulari-fila { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; max-width: none; margin-top: 12px; }
.formulari-fila label { display: grid; gap: 4px; font-size: 14px; color: var(--blau); font-weight: 500; }
.formulari-fila .boto { margin-top: 0; }
.formulari-fila p { flex-basis: 100%; margin: 0; }
.casella { display: inline-flex; align-items: center; gap: 10px; }

input, select { font: inherit; color: var(--cos); padding: 11px 14px; border: 1px solid #c3d1dc; border-radius: 8px; background: #fff; min-width: 0; }
input[readonly] { background: var(--plafo-clar); color: var(--suau); }
input[type="checkbox"] { width: 20px; height: 20px; padding: 0; }
.ajuda { margin: 0 0 6px; font-size: 13px; color: var(--suau); }

/* ── l'entrada i l'alta: el formulari a un costat, la il·lustració a l'altre ── */

.pagina-porta { background: #fff; }
.porta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: 100vh; }
.porta-form { display: flex; flex-direction: column; justify-content: center; width: min(100%, 560px); margin: 0 auto; padding: 48px 32px; }
.porta-logo { width: 220px; height: auto; display: block; margin-bottom: 44px; }
.porta-form h1 { margin-bottom: 26px; }
.porta-form .formulari { max-width: none; }
.porta-form .formulari input:not([type="checkbox"]) { width: 100%; }
.porta-peu { margin: 48px 0 0; font-size: 13px; color: var(--suau); }
.porta-il { display: flex; flex-direction: column; justify-content: flex-end; background: var(--plafo); overflow: hidden; }
.porta-il img { width: 100%; height: auto; max-height: 100vh; object-fit: contain; object-position: bottom; display: block; }
.porta-qui { padding: 40px 40px 0; }
.porta-qui p { margin: 0 0 6px; font-size: 18px; }
.porta-qui .porta-org { font-size: 30px; font-weight: 500; color: var(--blau); line-height: 1.15; }
.nota { margin: 18px 0 0; font-size: 14px; color: var(--suau); }
.ajuda { margin: 18px 0 0; font-size: 14px; color: var(--suau); }
.peu { max-width: 1440px; margin: 0 auto; padding: 0 32px 32px; border-top: 1px solid var(--filet); }
.peu .ajuda { margin: 16px 0 0; }

.formulari-alta { gap: 16px; }
.pas { border: 1px solid var(--filet); border-radius: var(--radi); padding: 18px 24px 22px; margin: 0; display: grid; gap: 6px; }
.pas legend { display: flex; align-items: center; gap: 14px; padding: 0 8px; font-size: 22px; font-weight: 500; color: var(--blau); }
.pas-num { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--plafo); color: var(--blau); font-size: 18px; }
.totp { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: start; }
.totp-qr svg { width: 168px; height: 168px; display: block; }
.totp-text p { margin: 0 0 10px; }
.totp-text input { width: 100%; max-width: 220px; font-size: 22px; letter-spacing: 6px; }
.clau { color: var(--blau); word-break: normal; }

/* ── l'enllaç d'alta i la revisió ─────────────────────────────────── */

.pagina-enllac h1 { margin-bottom: 8px; font-size: 34px; }
.etiqueta { font-size: 13px; color: var(--suau); margin: 16px 0 4px; }
.copiable { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.copiable code { padding: 8px 12px; border-radius: 8px; background: var(--plafo-clar); color: var(--blau); word-break: break-all; }
.missatge { white-space: pre-wrap; font: inherit; margin: 0 0 12px; padding: 14px 16px; border-radius: var(--radi); background: var(--plafo-clar); }
.org-cap { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.etiqueta-org { padding: 2px 10px; border-radius: 12px; background: var(--plafo); color: var(--blau); font-size: 13px; }
.revisio .motius { margin: 6px 0 10px; padding-left: 20px; color: var(--cos); }
.enllacos-revisio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 20px; }

/* ── pantalles estretes ───────────────────────────────────────────── */

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding: 24px 20px 0; gap: 8px; }
  .hero-text { padding-bottom: 8px; }
  .xifres { margin-bottom: 8px; }
  .hero-il { max-width: 380px; justify-self: end; }
  .espai { grid-template-columns: 1fr; }
  .porta { grid-template-columns: 1fr; }
  .porta-il { order: -1; max-height: 260px; }
  .porta-il img { max-height: 220px; }
  .porta-qui { padding: 20px 20px 0; }
  .porta-qui .porta-org { font-size: 24px; }
  .fila-persona { grid-template-columns: 1fr; }
  .fila-accions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  .barra { flex-wrap: wrap; gap: 8px 16px; padding: 10px 16px; }
  .marca-logo { height: 32px; }
  .nav { order: 3; flex-basis: 100%; margin: 0; }
  .principal { padding: 16px 16px 40px; }
  .contingut { padding: 16px 16px 0; }
  .xifra { padding: 0 14px; }
  .xifra-text { font-size: 14px; }
  .eines-dreta { margin-left: 0; }
  .requisit { grid-template-columns: 1fr; }
  .requisit .icona-gran { display: none; }
  .pujada { flex-direction: column; align-items: stretch; }
  .taula thead { display: none; }
  .taula, .taula tbody, .taula tr, .taula td, .taula th { display: block; width: 100%; }
  .taula tr { padding: 10px 14px; border-bottom: 1px solid var(--filet); }
  .taula td { border: 0; padding: 4px 0; }
  .taula td:empty { display: none; }
  .taula td[data-columna]:not([data-columna=""])::before { content: attr(data-columna); display: block; font-size: 12px; color: var(--suau); }
  .grup-compte { float: none; display: block; }
  .totp { grid-template-columns: 1fr; }
  .llista-proxim li { grid-template-columns: auto 1fr; }
  .llista-proxim .pastilla { grid-column: 2; justify-self: start; }
}

/* ── «Mi espacio» (MEMÒRIES, mi-espacio ref-2): el plafó, els passos del certificat i l'acte ─────────────── */

.plafo-espai { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); align-items: end; gap: 24px; background: var(--plafo); border-radius: var(--radi); padding: 28px 28px 0 36px; margin: 0 0 18px; overflow: hidden; }
.plafo-espai-text { padding-bottom: 30px; }
.plafo-espai .espai-il { width: 100%; height: auto; display: block; }
.hero-il, .porta-il img, .espai-il { mix-blend-mode: multiply; }

.requisit-espai { grid-template-columns: auto minmax(0, 1fr) auto; }
.requisit-lateral { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; align-self: end; }
.passos-certificat { list-style: none; margin: 18px 0 0; padding: 0; }
.pas-certificat { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 0 0 22px; }
.pas-certificat:last-child { padding-bottom: 0; }
.pas-certificat::before { content: ""; position: absolute; left: 13px; top: 30px; bottom: 2px; width: 2px; background: var(--filet); }
.pas-certificat:last-child::before { display: none; }
.pas-fet::before { background: var(--verd); }
.pas-ara::before { background: var(--taronja); }
.icona-pas { width: 28px; height: 28px; flex: none; background: #fff; position: relative; }
.pas-titol { display: block; font-weight: 600; font-size: 17px; color: var(--blau); }
.pas-detall { display: block; color: var(--suau); font-size: 15px; }
.pas-fet .icona-pas { color: var(--verd); }
.pas-ara .icona-pas, .pas-ara .pas-titol { color: var(--blau); }
.pas-no .icona-pas, .pas-no .pas-titol { color: var(--vermell); }
.pas-pendent .icona-pas, .pas-pendent .pas-titol { color: var(--suau); font-weight: 400; }
.accions-certificat { margin: 16px 0 0; }

.barra-acte { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; }
.barra-acte h2 { font-size: 24px; font-weight: 400; margin: 0 8px 0 0; }

/* ── pujar el certificat (MEMÒRIES, subir-certificado ref-1) ─────────────────────────────────────────── */

.molles { display: flex; gap: 10px; align-items: center; margin: 0 0 14px; font-size: 15px; color: var(--suau); }
.titol-pujada { font-size: clamp(28px, 3.4vw, 42px); font-weight: 400; margin-bottom: 8px; }
.pujada-graella { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; margin-top: 22px; align-items: start; }
.normes { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 18px; }
.normes li { display: flex; align-items: center; gap: 16px; font-size: 18px; }
.pujada-gran { display: grid; gap: 18px; }
.zona-gran { position: relative; display: grid; justify-items: center; gap: 10px; padding: 34px 20px; border: 1px dashed #9db3c6; border-radius: var(--radi); text-align: center; cursor: pointer; }
.zona-gran input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.zona-gran:focus-within { outline: 3px solid var(--taronja); outline-offset: 4px; }
.pujada-gran .boto { justify-self: end; }
.despres { list-style: none; margin: 0; padding: 0; display: grid; gap: 22px; }
.despres li { display: flex; gap: 16px; align-items: flex-start; }
.despres .icona-gran { width: 40px; height: 40px; }
.despres .estat-valid { color: var(--verd); }
.despres .estat-revisio { color: var(--blau); }
.despres .estat-rebutjat { color: var(--vermell); }

@media (max-width: 900px) {
  .plafo-espai { grid-template-columns: 1fr; padding: 20px 20px 0; }
  .plafo-espai .espai-il { max-width: 360px; justify-self: end; }
  .requisit-espai { grid-template-columns: 1fr; }
  .requisit-espai .icona-gran { display: none; }
  .requisit-lateral { align-items: flex-start; }
  .pujada-graella { grid-template-columns: 1fr; }
}

/* -- la segona passada (27/10, 19:5x): l'Albert i la segona volta de MEMÒRIES ------------------------------ */

/* els camps: 24 px entre grups i 6 entre l'etiqueta i el seu camp (MEMÒRIES, punt 7) */
.formulari > label { margin-top: 18px; }
.formulari > label:first-of-type, .formulari > input[type="hidden"] + label { margin-top: 0; }
.formulari-fila label.ample input, label.ample input { min-width: 320px; }
.formulari-fila label input, .formulari-fila label select { min-width: 180px; }
.casella-condicions { align-items: flex-start !important; margin-top: 8px; font-size: 15px; color: var(--cos); }
.casella-condicions input { margin-top: 2px; flex: none; }

/* les il·lustracions de l'entrada i l'alta: un sostre i aire a sota (MEMÒRIES, punt 1) */
.porta-il { justify-content: center; align-items: center; }
.porta-il img { width: auto; max-width: 92%; max-height: 60vh; margin: 24px auto 48px; }
.porta-qui { align-self: stretch; }

/* la portada del gestor, la variant 2 */
.gestio { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 28px; max-width: 1440px; margin: 0 auto; padding: 28px 32px 0; align-items: start; }
.gestio > .semafor { grid-column: 1 / -1; margin: 0; }
.gestio-principal h1 { font-size: 48px; line-height: 58px; font-weight: 400; }
.gestio-principal .meta { margin-bottom: 22px; }
.gestio-lateral { background: var(--plafo); border-radius: var(--radi); padding: 0 24px 24px; position: sticky; top: 16px; overflow: hidden; }
.gestio-il { width: calc(100% + 48px); margin: 0 -24px 8px; height: auto; display: block; mix-blend-mode: multiply; }
.xifres-columna { margin: 0 0 20px; }
.xifres-columna .xifra { border-left: 0; border-top: 1px solid #b9cad7; padding: 16px 0; text-align: center; }
.xifres-columna .xifra:first-child { border-top: 0; }
.xifres-columna .xifra-text { max-width: none; }
.centrat { text-align: center; }
.menu-afegir { position: relative; }
.menu-afegir[open] { flex-basis: 100%; order: 9; }
.menu-opcions { display: grid; gap: 8px; background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 12px 16px; }
.menu-opcions .desplegable form { border: 0; padding: 4px 0 8px; }
.opcio { padding: 8px 4px; color: var(--enllac); font-weight: 600; }
.opcio::before { content: "+ "; }
.boto-petit { padding: 7px 14px; font-size: 15px; }
.detall-estat { display: block; color: var(--suau); font-size: 13px; margin-top: 2px; font-weight: 400; }
td.accions { width: 1%; white-space: nowrap; }
.accio { display: inline-block; vertical-align: middle; }
.accio-puja { width: 200px; text-align: right; }
.accio-acces { width: 150px; text-align: left; padding-left: 16px; }
.accio .enllac { display: inline-flex; align-items: center; gap: 6px; }

/* «Mi espacio»: el semàfor gran, els actes i la documentació */
.cap-espai { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 16px; }
.cap-espai-il { height: 150px; width: auto; display: block; mix-blend-mode: multiply; }
.semafor { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 22px 26px; border-radius: var(--radi); margin: 0 0 18px; }
.semafor p { margin: 2px 0; }
.semafor-titol { font-size: 24px; font-weight: 600; line-height: 1.2; }
.icona-semafor { width: 54px; height: 54px; flex: none; }
.semafor-verd { background: var(--verd-fons); }
.semafor-verd .semafor-titol, .semafor-verd .icona-semafor { color: var(--verd); }
.semafor-blau { background: var(--plafo); }
.semafor-blau .semafor-titol, .semafor-blau .icona-semafor { color: var(--blau); }
.semafor-vermell { background: var(--vermell-fons); }
.semafor-vermell .semafor-titol, .semafor-vermell .icona-semafor { color: var(--vermell); }
.espai-dues { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 18px; align-items: start; }
.llista-actes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.acte-fila { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 14px 0; border-top: 1px solid var(--filet); }
.acte-fila:first-child { border-top: 0; padding-top: 0; }
.acte-fila p { margin: 0; }
.acte-nom { font-size: 19px; font-weight: 500; color: var(--blau); margin: 2px 0 4px !important; }
.acte-fila .meta { margin-top: 4px; font-size: 15px; gap: 4px 18px; }
.taula-neta { border: 0; }
.taula-neta th:first-child, .taula-neta td:first-child { padding-left: 0; }
.doc-nom { display: inline-flex; align-items: center; gap: 12px; color: var(--blau); font-weight: 500; }
.proxim-fila .doc-nom { color: var(--cos); font-weight: 400; }

/* el certificat, pas a pas */
.passos-pujada { list-style: none; display: flex; gap: 0; margin: 20px 0 6px; padding: 0; }
.pas-pujada { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; position: relative; text-align: center; color: var(--suau); }
.pas-pujada::after { content: ""; position: absolute; top: 18px; left: calc(50% + 24px); right: calc(-50% + 24px); height: 2px; background: var(--filet); }
.pas-pujada:last-child::after { display: none; }
.pas-fet::after { background: var(--blau); }
.pas-cercle { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 2px solid #b9c8d5; background: #fff; font-weight: 600; }
.pas-cercle .icona { width: 20px; height: 20px; }
.pas-fet .pas-cercle { background: var(--blau); border-color: var(--blau); color: #fff; }
.pas-ara .pas-cercle { border: 3px solid var(--taronja); color: var(--blau); }
.pas-ara .pas-nom { color: var(--blau); font-weight: 600; }
.pas-cos h2 { font-size: 24px; font-weight: 500; margin-bottom: 14px; }
.botons-pas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 22px 0 8px; }
.enllac-pas { color: var(--enllac); }
.una-columna { grid-template-columns: minmax(0, 760px) !important; }

/* «Mis datos» i les condicions */
.perfil { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.perfil .targeta { margin: 0; }
.formulari-perfil { max-width: none; }
.formulari-perfil label { display: grid; gap: 6px; color: var(--blau); font-weight: 500; font-size: 15px; }
.formulari-perfil input { width: 100%; min-width: 0 !important; }
.text-legal { max-width: 760px; }
.text-legal h1 { margin-bottom: 6px; }
.text-legal h2 { margin: 28px 0 8px; font-size: 20px; }
.text-legal p, .text-legal li { line-height: 1.6; }

/* la revisió, en dos blocs (MEMÒRIES, revision ref-1) */
.plafo-seccio .revisio { margin: 0 0 16px; }
.plafo-seccio .revisio:last-child { margin-bottom: 0; }
.revisio .motius { list-style: none; padding: 0; }
.revisio .motius li { display: flex; gap: 10px; align-items: center; margin: 4px 0; }
.revisio .motius .icona { color: var(--blau); }
.sense-ratlla { text-decoration: none; color: var(--blau); }
.sense-ratlla:hover { text-decoration: underline; }
.revisio-blocs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--filet); border-radius: var(--radi); margin-top: 16px; }
.revisio-bloc { padding: 18px 22px; display: grid; gap: 12px; }
.revisio-bloc + .revisio-bloc { border-left: 1px solid var(--filet); }
.revisio-bloc h3 { margin: 0; color: var(--blau); font-size: 19px; font-weight: 500; }
.camps-fila { display: flex; flex-wrap: wrap; gap: 14px; }
.camps-fila label { display: grid; gap: 6px; font-size: 14px; color: var(--blau); font-weight: 500; }
.bloc-peu { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }

@media (max-width: 1000px) {
  .gestio { grid-template-columns: 1fr; padding: 20px 16px 0; }
  .gestio-lateral { position: static; order: -1; }
  .gestio > .semafor { order: -2; }
  .gestio-principal h1 { font-size: 34px; line-height: 40px; }
  .espai-dues, .perfil, .revisio-blocs { grid-template-columns: 1fr; }
  .revisio-bloc + .revisio-bloc { border-left: 0; border-top: 1px solid var(--filet); }
}
@media (max-width: 760px) {
  .peu { padding: 0 16px 24px; }
  .semafor { grid-template-columns: auto 1fr; }
  .semafor .boto { grid-column: 1 / -1; justify-self: start; }
  .semafor-titol { font-size: 20px; }
  .cap-espai-il { height: 90px; }
  .passos-pujada .pas-nom { font-size: 12px; }
  .accio-puja, .accio-acces { width: auto; text-align: left; padding-left: 0; }
  td.accions { white-space: normal; }
  label.ample input, .formulari-fila label.ample input { min-width: 0; width: 100%; }
  .formulari-fila label input, .formulari-fila label select { min-width: 0; width: 100%; }
  .formulari-fila label { flex-basis: 100%; }
}

/* -- la tercera passada (27/10, 20:xx): MEMÒRIES, mi-espacio-nou, proceso-certificado i mis-datos ([dig-25409]) ------
 * El taronja de text és #b34d00 (5,3:1 sobre blanc; el de la marca, #e57200, fa 3,1 i no arriba a AA en text petit).
 * El disc del semàfor taronja és #d34600, el de la web de la Fundació (3,8:1 sobre el plafó). */

:root { --taronja-estat: #d34600; --taronja-text: #b34d00; }

/* la barra: el nom és text blanc, no un enllaç blau sobre blau; al mòbil, el menú */
.qui { color: #fff; margin: 0; }
.menu-mobil { display: none; }
.icona-menu { width: 30px; height: 30px; }

/* l'entrada i l'alta al mòbil: la columna de l'acte ja no es talla per dalt (era centrada en una capsa de 260 px) */
@media (max-width: 1000px) {
  .porta-il { max-height: none; justify-content: flex-start; }
  .porta-il img { max-height: 200px; margin: 8px auto 20px; }
}

/* «Mi espacio» */
.hola { margin: 4px 0 22px; }
.semafor { background: var(--plafo); padding: 26px 30px; gap: 24px; }
.semafor-verd { background: var(--verd-fons); }
.semafor-vermell { background: var(--vermell-fons); }
.semafor .semafor-titol { color: var(--blau); font-size: 30px; font-weight: 400; line-height: 1.15; }
.semafor-text p + p { font-size: 18px; margin-top: 8px; }
.semafor .icona-semafor { width: 72px; height: 72px; }
.semafor-verd .icona-semafor { color: var(--verd); }
.semafor-blau .icona-semafor { color: var(--blau); }
.semafor-taronja .icona-semafor { color: var(--taronja-estat); }
.semafor-vermell .icona-semafor { color: var(--vermell); }
.semafor-petit { padding: 20px 24px; }
.semafor-petit .semafor-titol { font-size: 24px; }
.semafor-petit .icona-semafor { width: 56px; height: 56px; }
.espai-dues { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 18px; }
.plafo-bloc { background: var(--plafo); border-radius: var(--radi); padding: 24px 22px 22px; }
.bloc-titol { font-size: 34px; font-weight: 400; margin: 0 0 18px; }
.fitxa-acte { background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 22px 24px; }
.fitxa-acte + .fitxa-acte { margin-top: 12px; }
.fitxa-acte .discret { margin: 0 0 6px; font-size: 15px; }
.fitxa-acte-nom { color: var(--blau); font-size: 30px; font-weight: 400; line-height: 1.15; margin: 0 0 16px; }
.fitxa-acte-dada { display: flex; align-items: center; gap: 14px; margin: 10px 0 0; font-size: 17px; }
.fitxa-acte-dada .icona { width: 28px; height: 28px; color: var(--blau); }
.fitxa-acte-estat { display: flex; align-items: center; gap: 12px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--filet); font-size: 18px; font-weight: 600; }
.fitxa-acte-estat .icona { width: 30px; height: 30px; }
.estat-falta-doc { color: var(--taronja-text); }
.llista-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.doc-fila { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px 20px; background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 18px 20px; }
.doc-fila .doc-nom { color: var(--cos); font-weight: 400; font-size: 16px; }
.doc-fila.doc-proxim { grid-template-columns: auto minmax(0, 1fr) auto; }
.doc-estat { display: flex; flex-direction: column; }
.pastilla-plena { background: #eef2f5; border-color: transparent; color: var(--suau); padding: 6px 16px; }
.enllac-discret { color: var(--enllac); font-size: 15px; white-space: nowrap; }

/* el certificat, pas a pas: una llista amb el pas actual obert i la línia que els uneix */
.titol-pujada { margin: 6px 0 24px; }
.pujada-graella { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.proces { list-style: none; margin: 0; padding: 0; border: 1px solid var(--filet); border-radius: var(--radi); background: #fff; }
.proces-pas { position: relative; border-top: 1px solid var(--filet); }
.proces-pas:first-child { border-top: 0; }
.proces-pas::before { content: ""; position: absolute; left: 49px; top: 0; bottom: 0; width: 2px; background: var(--filet); }
.proces-pas:first-child::before { top: 45px; }
.proces-pas:last-child::before { bottom: auto; height: 45px; }
.proces-pas.pas-ara:not(:last-child)::after { content: ""; position: absolute; left: 49px; top: 45px; bottom: 0; width: 2px; background: var(--taronja); }
.proces-cap { position: relative; z-index: 1; display: flex; align-items: center; gap: 22px; padding: 22px 26px; color: var(--blau); text-decoration: none; }
a.proces-cap:hover .proces-nom { text-decoration: underline; text-underline-offset: 4px; }
.proces-nom { flex: 1; font-size: 26px; font-weight: 400; line-height: 1.2; }
.proces-cap .pas-cercle { width: 46px; height: 46px; font-size: 18px; color: var(--blau); }
.pas-ara .pas-cercle { border: 3px solid var(--taronja); color: var(--taronja-text); }
.pas-fet .pas-cercle { background: #fff; border: 2px solid var(--verd); color: var(--verd); }
.pas-fet .pas-cercle .icona { width: 24px; height: 24px; }
.icona-avall { display: none; width: 26px; height: 26px; color: var(--suau); }
.proces-cos { position: relative; z-index: 1; padding: 0 28px 28px 98px; }
.proces-cos > p:first-child { margin-top: 0; font-size: 18px; }
.boto-icona { display: inline-flex; align-items: center; gap: 12px; }
.boto-icona .icona { width: 22px; height: 22px; }
.com-es-fa { margin: 4px 0; }
.com-es-fa summary { display: inline-flex; align-items: center; gap: 10px; color: var(--enllac); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; list-style: none; font-size: 18px; }
.com-es-fa summary::-webkit-details-marker { display: none; }
.com-es-fa summary .icona { color: var(--enllac); }
.pujada-lateral .plafo-seccio { padding: 26px 28px; }
.pujada-lateral .plafo-seccio > h2 { font-size: 28px; font-weight: 400; margin: 0 0 20px; }
.pujada-lateral .normes { gap: 24px; margin: 0; }
.pujada-lateral .normes li { font-size: 18px; gap: 20px; }

/* «Mis datos» */
.mis-datos { max-width: 980px; margin: 0 auto; }
.mis-datos > h1 { margin: 4px 0 18px; }
.mis-datos-plafo { background: var(--plafo); border-radius: var(--radi); padding: 22px; display: grid; gap: 18px; }
.mis-datos-targeta { margin: 0; padding: 26px 30px; }
.titol-icona { display: flex; align-items: center; gap: 16px; font-size: 26px; font-weight: 400; margin: 0 0 16px; }
.titol-icona .icona { width: 32px; height: 32px; }
.mis-datos .formulari-perfil { display: grid; gap: 16px; }
.mis-datos .formulari-perfil > label { margin: 0; }
.camps-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.mis-datos .pista { margin: -8px 0 0; font-size: 14px; color: var(--suau); }
.mis-datos .botons-pas { margin: 6px 0 0; }
.mis-datos-nota { margin-top: 18px; color: var(--suau); font-size: 15px; }

@media (max-width: 1000px) {
  .espai-dues, .pujada-graella { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .barra { flex-wrap: nowrap; padding: 10px 16px; }
  .barra > .nav, .barra > .barra-dreta { display: none; }
  .menu-mobil { display: block; margin-left: auto; position: relative; }
  .menu-mobil summary { display: flex; list-style: none; cursor: pointer; padding: 6px; border-radius: 8px; color: #fff; }
  .menu-mobil summary::-webkit-details-marker { display: none; }
  .menu-mobil-cos { position: absolute; right: 0; top: calc(100% + 12px); z-index: 20; display: grid; gap: 14px; min-width: 250px; padding: 18px 20px; border-radius: var(--radi); background: var(--blau); box-shadow: 0 12px 28px rgba(0, 40, 70, .28); }
  .menu-mobil-cos .qui { text-align: left; }
  .nav-mobil { display: grid; gap: 6px; }
  .nav-mobil a { color: #fff; text-decoration: none; padding: 8px 14px; border: 2px solid transparent; border-radius: 22px; font-weight: 500; }
  .nav-mobil a[aria-current="page"] { border-color: var(--taronja); }
  .semafor { grid-template-columns: auto minmax(0, 1fr); padding: 20px 18px; gap: 16px; }
  .semafor .boto { grid-column: 1 / -1; width: 100%; text-align: center; }
  .semafor .semafor-titol { font-size: 23px; }
  .semafor-text p + p { font-size: 16px; }
  .semafor .icona-semafor { width: 54px; height: 54px; }
  .plafo-bloc { padding: 18px 14px 14px; }
  .bloc-titol { font-size: 28px; margin-bottom: 14px; }
  .fitxa-acte { padding: 18px; }
  .fitxa-acte-nom { font-size: 25px; }
  .doc-fila { grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
  .doc-fila .doc-estat { grid-column: 2; }
  .doc-fila > .boto, .doc-fila > .enllac-discret { grid-column: 1 / -1; }
  .doc-fila > .boto { width: 100%; text-align: center; }
  .doc-fila.doc-proxim .pastilla { grid-column: 2; justify-self: start; }
  .proces-cap { padding: 16px; gap: 14px; }
  .proces-nom { font-size: 21px; }
  .proces-cap .pas-cercle { width: 40px; height: 40px; }
  .proces-pas::before, .proces-pas.pas-ara:not(:last-child)::after { left: 35px; }
  .proces-pas:first-child::before { top: 36px; }
  .proces-pas:last-child::before { height: 36px; }
  .proces-pas.pas-ara:not(:last-child)::after { top: 36px; }
  .icona-avall { display: block; }
  .pas-ara .icona-avall { transform: rotate(180deg); }
  .proces-cos { padding: 0 16px 20px 70px; }
  .proces-cos .boto { width: 100%; text-align: center; justify-content: center; }
  .pujada-lateral .plafo-seccio { padding: 20px 18px; }
  .pujada-lateral .plafo-seccio > h2 { font-size: 24px; }
  .pujada-lateral .normes li { font-size: 16px; }
  .mis-datos-plafo { padding: 12px; }
  .mis-datos-targeta { padding: 20px 18px; }
  .camps-dos { grid-template-columns: 1fr; }
  .mis-datos .boto { width: 100%; text-align: center; }
}

/* -- la quarta passada (27/10, 20:xx): la gestió ho pot canviar tot ---------------------------------------------- */
.grup-nom a { color: inherit; text-decoration: none; }
.grup-nom a:hover { text-decoration: underline; text-underline-offset: 3px; }
.editar-desplegable { margin: 12px 0 18px; }
.editar-desplegable.targeta { padding: 18px 24px; }
.editar-desplegable > summary { display: inline-block; color: var(--enllac); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; list-style: none; font-weight: 500; }
.editar-desplegable > summary::-webkit-details-marker { display: none; }
.editar-desplegable[open] > summary { margin-bottom: 14px; }
.editar-desplegable .discret { margin: 10px 0 0; }
.en-linia { display: inline; margin: 0 0 0 14px; }
.en-linia .enllac { font-size: 15px; }
.enllac-perill { color: var(--vermell) !important; }
.llista-simple { list-style: none; margin: 0 0 8px; padding: 0; }
.llista-simple li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 10px 0; border-top: 1px solid var(--filet); }
.llista-simple li:first-child { border-top: 0; }
.perfil-org { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; align-items: start; }
.perfil-org .targeta { margin: 0; }
.perfil-org .targeta:first-child { grid-column: 1 / -1; }
.fitxa-cap .meta a { color: inherit; }
@media (max-width: 760px) {
  .perfil-org { grid-template-columns: 1fr; }
  .editar-desplegable.targeta { padding: 16px; }
}

/* -- la marca de la barra, sense el lema (MEMÒRIES, [dig-28235]): del vector oficial, 3,97 per 1. A 34 px fa 135 d'ample,
 * i al mòbil, a 28, 111 (el mínim és 85). L'aire, com a mínim l'alçada de la «a» de «Naturgy» (el 10,9 % de l'amplada):
 * 15 px a l'escriptori, i per això el 16 de la «marca». Quina versió porta la barra al final ho diu el client. */
.marca { gap: 16px; }
.marca-logo { height: 34px; }
@media (max-width: 760px) {
  .marca-logo { height: 28px; }
}

/* -- la revisió de l'Albert (27/10, 20:2x): la taula compacta al mòbil i l'aire de «Otros documentos» ------------- */
.etiqueta-org { white-space: nowrap; }
.taula-marc + .proxim { margin-top: 24px; }
@media (max-width: 760px) {
  .taula-grups tr { padding: 12px 14px; }
  .taula-grups td[data-columna="Persona"]::before, .taula-grups td[data-columna="Certificado"]::before { display: none !important; }
  .taula-grups td[data-columna="Certificado"] { padding-top: 6px; }
  .taula-grups td[data-columna="Enviado"], .taula-grups td[data-columna="Acceso"] { display: inline-block; width: auto; margin-right: 18px; font-size: 14px; }
  .taula.taula-grups td[data-columna="Enviado"]:not([data-columna=""])::before,
  .taula.taula-grups td[data-columna="Acceso"]:not([data-columna=""])::before { display: inline; content: attr(data-columna) ": "; font-size: 13px; color: var(--suau); }
  .taula.taula-grups td:empty { display: none; }
  .taula-grups td.accions { padding-top: 8px; }
  .taula-grups tr.grup th { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
}

/* L'alta en dues pantalles (27/10, nit): la contrasenya primer, i el codi del mòbil a la pantalla següent */
.porta-form .pas-de { margin: 0 0 6px; font-size: 15px; color: var(--suau); }
.porta-form .porta-sub { margin: -16px 0 24px; color: var(--suau); }
.totp-apps { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 8px; }
.totp-clau { margin: 14px 0 0; font-size: 15px; color: var(--suau); }
.totp-clau-fila { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 2px 0 0; }
.totp-clau-fila .clau { font-size: 15px; }
.nomes-tactil p { margin: 0 0 10px; }
.porta-form .formulari input.camp-codi { max-width: 220px; font-size: 22px; letter-spacing: 6px; }
.nomes-tactil { display: none; }
@media (hover: none) and (pointer: coarse) {
  .nomes-tactil { display: block; }
  .totp-clau { margin-top: 4px; }
  .nomes-ordinador { display: none; }
  .totp { grid-template-columns: 1fr; }
}

/* El codi per correu (27/10, nit): la tria a l'alta, i els enllaços sota del formulari */
.opcions-codi { display: grid; gap: 16px; }
.opcio-codi { border: 1px solid var(--filet); border-radius: var(--radi); padding: 18px 24px 22px; display: grid; gap: 8px; justify-items: start; }
.opcio-codi h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 22px; font-weight: 500; color: var(--blau); }
.opcio-codi h2 .icona { width: 24px; height: 24px; }
.opcio-codi p { margin: 0 0 6px; }
.porta-enllacos { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 18px; }
.porta-enllacos form { margin: 0; }

/* La finestra al mig (l'«Añadir» 2 de MEMÒRIES, 28/10), els botons de cada organització i el llapis de l'acte. */
.dialeg { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border: 0; border-radius: 16px; padding: 32px 36px 28px; color: var(--cos); box-shadow: 0 24px 64px rgba(0, 41, 70, .28); }
.dialeg::backdrop { background: rgba(0, 41, 70, .45); }
.dialeg-titol { margin: 0 44px 4px 0; font-size: 34px; line-height: 1.15; font-weight: 300; color: var(--blau); }
.dialeg-sub { margin: 0 0 20px; color: var(--suau); }
.dialeg-tanca { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--blau); cursor: pointer; }
.dialeg-tanca:hover { background: var(--plafo-clar); }
.dialeg-tanca .icona { width: 26px; height: 26px; }
.dialeg-form { max-width: none; gap: 14px; }
.dialeg-form > label { display: grid; gap: 6px; font-size: 14px; font-weight: 500; color: var(--blau); }
.dialeg-form .camps-fila > label { flex: 1 1 200px; }
.dialeg-form input:not([type="radio"]) { width: 100%; box-sizing: border-box; }
.dialeg-peu { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 12px; margin: 8px -36px 0; padding: 20px 36px 0; border-top: 1px solid var(--filet); }
.opcional { color: var(--suau); font-weight: 400; }
.tria { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; }
.tria legend { margin-bottom: 6px; padding: 0; font-size: 14px; font-weight: 500; color: var(--blau); }
.tria-opcio { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid var(--filet); border-radius: var(--radi); color: var(--blau); cursor: pointer; }
.tria-opcio:has(input:checked) { border-color: var(--blau); box-shadow: inset 0 0 0 1px var(--blau); }
.boto-llapis { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-left: 6px; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--blau); vertical-align: middle; cursor: pointer; }
.boto-llapis:hover { background: var(--plafo-clar); }
.boto-llapis .icona { width: 28px; height: 28px; }
.boto .icona, .boto-secundari .icona { width: 18px; height: 18px; margin-right: 6px; vertical-align: -3px; }
.grup-cap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.grup-cap .grup-compte { float: none; margin-left: auto; }
.grup-cap .grup-detall { margin-left: 0; }
.accio-fila { display: flex; width: fit-content; margin-top: 8px; white-space: nowrap; }
.accio-fila .enllac, a.accio-fila { white-space: nowrap; }
.columna-proxima { color: var(--suau); background: #f5f7f9; }
th.columna-proxima { max-width: 180px; white-space: normal; }
td.columna-proxima { font-size: 14px; }
@media (max-width: 760px) {
  .dialeg { padding: 26px 20px 22px; }
  .dialeg-peu { margin: 8px -20px 0; padding: 18px 20px 0; }
  .dialeg-titol { font-size: 28px; }
}

/* LES ACTIVITATS (28/10, la 2 de MEMÒRIES que va triar l'Albert): la portada amb la pròxima i el calendari, i la
   pàgina de cada activitat amb els quatre estats, les pestanyes per organització i la il·lustració. */
.activitats, .activitat { max-width: 1440px; margin: 0 auto; padding: 28px 32px 0; }
.activitats > .semafor, .activitat > .semafor { margin-bottom: 20px; }
.activitats-cap { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.activitats-cap h1 { margin: 0; font-size: 48px; line-height: 1.15; font-weight: 400; }
.propera-marc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 18px; padding: 18px; margin-bottom: 22px; border-radius: 14px; background: var(--plafo); }
.propera, .calendari { background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 24px 28px; }
.propera-etiqueta { margin: 0 0 6px; color: var(--suau); font-weight: 500; }
.propera-titol { margin: 0 0 12px; font-size: 34px; line-height: 1.15; font-weight: 400; }
.propera-titol a { color: var(--blau); text-decoration: none; }
.propera-titol a:hover { text-decoration: underline; }
.propera .meta { padding-bottom: 18px; border-bottom: 1px solid var(--filet); }
.propera-peu { display: flex; justify-content: flex-end; margin: 18px 0 0; }
.caselles-estat { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; }
.casella-estat { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; padding: 6px 0; color: var(--suau); font: inherit; text-align: left; }
.casella-estat .icona-casella { grid-row: span 2; width: 40px; height: 40px; }
.casella-estat.estat-valid .icona-casella { color: var(--verd); }
.casella-estat.estat-revisio .icona-casella { color: var(--blau); }
.casella-estat.estat-rebutjat .icona-casella { color: var(--vermell); }
.casella-num { font-size: 28px; line-height: 1; font-weight: 600; color: var(--blau); }
.casella-text { font-size: 15px; }
.caselles-filtre { margin: 22px 0 18px; }
.caselles-filtre .casella-estat { padding: 18px 20px; border: 1px solid var(--filet); border-radius: var(--radi); background: #fff; cursor: pointer; }
.caselles-filtre .casella-estat:hover { background: var(--plafo-clar); }
.caselles-filtre .casella-estat[aria-pressed="true"] { border-color: var(--blau); box-shadow: inset 0 0 0 1px var(--blau); background: var(--plafo-clar); }
.calendari-cap { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.calendari-cap h2 { margin: 0; font-size: 22px; font-weight: 400; color: var(--blau); }
.calendari-fletxa { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-size: 26px; line-height: 1; color: var(--blau); text-decoration: none; }
.calendari-fletxa:hover { background: var(--plafo-clar); }
.calendari-taula { width: 100%; border-collapse: collapse; text-align: center; font-variant-numeric: tabular-nums; }
.calendari-taula th { padding: 6px 0; font-size: 14px; font-weight: 500; color: var(--blau); border-bottom: 1px solid var(--filet); }
.calendari-taula td { height: 38px; color: var(--cos); }
.calendari-taula td.fora { color: #a7b4bf; }
.calendari-taula td.amb-activitat a { position: relative; display: inline-block; min-width: 30px; font-weight: 600; color: var(--blau); text-decoration: none; }
.calendari-taula td.amb-activitat a::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: var(--taronja); }
.llista-activitats { background: #fff; border: 1px solid var(--filet); border-radius: var(--radi); padding: 0 18px 18px; }
.llista-activitats .cerca { display: block; max-width: none; margin: 16px 0; }
.pestanyes { display: flex; flex-wrap: wrap; gap: 4px 28px; border-bottom: 1px solid var(--filet); }
.pestanyes a, .pestanyes button { display: inline-flex; align-items: center; gap: 6px; padding: 14px 4px 12px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--blau); font: inherit; font-size: 17px; text-decoration: none; cursor: pointer; }
.pestanyes a[aria-current="page"], .pestanyes button[aria-selected="true"] { border-bottom-color: var(--taronja); font-weight: 600; }
.pestanyes .comptador { background: var(--plafo); }
.taula-activitats .activitat-nom { font-weight: 500; }
.activitat-lloc { display: block; font-size: 14px; color: var(--suau); }
.taula-activitats tr.grup-sense-data th { padding: 12px 16px; background: var(--plafo); color: var(--blau); font-weight: 600; text-align: left; }
.pindola { display: inline-block; padding: 3px 12px; border-radius: 14px; background: #eef1f4; color: var(--suau); font-size: 14px; white-space: nowrap; }
.pindola-blava { background: var(--plafo); color: var(--blau); }
.progres { display: flex; align-items: center; gap: 12px; font-size: 14px; color: var(--suau); white-space: nowrap; }
.progres-barra { flex: 0 0 150px; height: 10px; border: 0; border-radius: 5px; background: #e3e9ee; overflow: hidden; }
.progres-barra::-webkit-progress-bar { background: #e3e9ee; border-radius: 5px; }
.progres-barra::-webkit-progress-value { background: var(--blau); border-radius: 5px; }
.progres-barra::-moz-progress-bar { background: var(--blau); border-radius: 5px; }
.activitat-cap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: 24px; align-items: end; }
.activitat-cap h1 { margin: 6px 0 10px; font-size: 44px; line-height: 1.15; font-weight: 400; }
.activitat-il { width: 100%; height: auto; mix-blend-mode: multiply; }
.molles { font-size: 15px; color: var(--cos); }
.molles a { color: var(--enllac); }
.se-pide { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 14px 0 0; }
.se-pide-etiqueta { color: var(--suau); margin-right: 4px; }
.pestanyes-org { margin-bottom: 0; }
.info-grup { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin: 10px 0 0; padding: 10px 16px; border-radius: var(--radi); background: var(--plafo-clar); color: var(--cos); }
.info-grup a { margin-left: auto; }
.activitat .eines { margin-top: 16px; }
@media (max-width: 1000px) {
  .activitats, .activitat { padding: 20px 16px 0; }
  .propera-marc { grid-template-columns: 1fr; }
  .caselles-estat { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .activitat-cap { grid-template-columns: 1fr; }
  .activitat-il { display: none; }
}
@media (max-width: 760px) {
  .activitats-cap h1 { font-size: 34px; }
  .activitat-cap h1, .propera-titol { font-size: 28px; }
  .progres-barra { flex-basis: 90px; }
}

/* El Protocol (28/10): la maqueta del llibre i «Próximamente disponible», i prou. */
.protocol { display: grid; grid-template-columns: minmax(0, 420px) minmax(0, 1fr); gap: 56px; align-items: center; max-width: 1200px; margin: 0 auto; padding: 40px 32px; }
.protocol-llibre { width: 100%; height: auto; }
.protocol-text h1 { margin: 0 0 12px; font-size: 40px; line-height: 1.2; font-weight: 300; }
.protocol-accions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 28px; }
.boto[disabled] { opacity: .45; cursor: not-allowed; }
@media (max-width: 900px) {
  .protocol { grid-template-columns: 1fr; gap: 24px; padding: 24px 16px; }
  .protocol-llibre { max-width: 280px; margin: 0 auto; }
  .protocol-text h1 { font-size: 30px; }
}

/* LA NORMATIVA (28/10): la «Normativa 2» de MEMÒRIES que va triar l'Albert (web-28-10/chatgpt/normativa, ref-3 i ref-4).
 * A dalt, el que demana la llei a tot Espanya i el mapa; a sota, la comunitat triada en dues columnes; i la taula.
 * L'ESCALA DEL MAPA SÓN QUATRE TINTS DEL BLAU DE LA MARCA (#004571), cap to nou: el 5 % (el plafó clar), el 20, el 38 i el
 * 80 %. Un sol to de clar a fosc, perquè la lluminositat és el canal que llegeix igual un daltònic (skill `naturgy` §3), i
 * el número de dins de cada comunitat és el segon canal. Mesurat: el blau a sobre dels tres clars fa 9,2, 7,0 i 4,9 a 1, i
 * el blanc a sobre del fosc, 5,9 a 1 (AA en text petit, totes quatre). */
:root {
  --nt-nada: var(--plafo-clar);   /* #f1f5f8, el 5 % */
  --nt-poco: #ccdae3;             /* el 20 % */
  --nt-bastante: #9eb8c9;         /* el 38 % */
  --nt-mucho: #336a8d;            /* el 80 % */
}
.normativa { max-width: 1440px; margin: 0 auto; padding: 28px 32px 0; }
.nt-simbols { position: absolute; width: 0; height: 0; overflow: hidden; }
.nt-cap h1 { margin: 0 0 20px; font-size: 48px; line-height: 1.15; font-weight: 400; }
.normativa h2 { font-size: 30px; font-weight: 400; line-height: 1.15; }
.normativa .targeta { margin: 0 0 18px; }

/* a dalt: la llei i el mapa */
.nt-dalt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 18px; align-items: stretch; margin: 0 0 18px; }
.nt-dalt > .targeta { margin: 0; }
.nt-llei { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-content: center; padding: 32px 30px; }
.nt-picto { width: 84px; height: 84px; color: var(--blau); }
.normativa .nt-llei h2 { margin: 2px 0 12px; }
.nt-llei p { margin: 0 0 8px; }
.nt-llei-norma { font-size: 18px; }
.nt-llei-cert { font-size: 18px; font-weight: 600; line-height: 1.35; }
.nt-llei-qui { font-size: 17px; }
.nt-llei p.nt-llei-enllac { margin-top: 16px; font-size: 17px; }

.nt-mapa-targeta { display: grid; align-content: center; padding: 18px 22px; }
.nt-mapa-marc { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 20px; }
.nt-mapa { display: block; width: 100%; height: auto; overflow: visible; }

/* el mapa: una comunitat per camí, el color de la seva banda i la vora blanca de les províncies */
.nt-terra { cursor: pointer; stroke: #fff; stroke-width: 1px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.nt-terra.nt-n-gens, :is(.nt-contorn-ple, .nt-focus-ple).nt-n-gens > path { fill: var(--nt-nada); }
.nt-terra.nt-n-poc, :is(.nt-contorn-ple, .nt-focus-ple).nt-n-poc > path { fill: var(--nt-poco); }
.nt-terra.nt-n-forca, :is(.nt-contorn-ple, .nt-focus-ple).nt-n-forca > path { fill: var(--nt-bastante); }
.nt-terra.nt-n-molt, :is(.nt-contorn-ple, .nt-focus-ple).nt-n-molt > path { fill: var(--nt-mucho); }
.nt-terra.nt-n-sense, :is(.nt-contorn-ple, .nt-focus-ple).nt-n-sense > path { fill: #fff; }
.nt-terra.nt-n-sense { stroke: var(--suau); stroke-dasharray: 4 3; }
.nt-terra.nt-ciutat { stroke: var(--blau); stroke-width: 1.5px; }
.nt-terra:hover { stroke: var(--blau); stroke-width: 2px; }
.nt-terra:focus { outline: none; }
.nt-terra:focus-visible { stroke: var(--taronja); stroke-width: 3px; }
.nt-caixa { fill: none; stroke: #9db3c6; stroke-width: 1px; vector-effect: non-scaling-stroke; stroke-dasharray: 4 4; }
/* la triada: una còpia dibuixada al final amb la vora gruixuda, i a sobre la mateixa forma plena, que tapa la meitat de
   dins de la vora i les línies de les províncies: queda la silueta, per sobre de les veïnes */
.nt-contorn, .nt-focus, .nt-xifres, .nt-agulla { pointer-events: none; }
.nt-contorn-vora > path { fill: none; stroke: var(--blau); stroke-width: 6px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.nt-focus-vora > path { fill: none; stroke: var(--taronja); stroke-width: 11px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
:is(.nt-contorn-ple, .nt-focus-ple) > path { stroke: #fff; stroke-width: 1px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.nt-xifra { font-size: 25px; font-weight: 700; text-anchor: middle; fill: var(--blau); paint-order: stroke; stroke-width: 5px; stroke-linejoin: round; }
.nt-xifra.nt-n-molt { fill: #fff; stroke: var(--nt-mucho); }
.nt-xifra.nt-n-forca { stroke: var(--nt-bastante); }
.nt-xifra.nt-n-poc { stroke: var(--nt-poco); }
.nt-xifra.nt-n-gens { stroke: var(--nt-nada); }
.nt-xifra.nt-n-sense { fill: var(--suau); stroke: #fff; }
.nt-xifra-costat { text-anchor: start; stroke: #fff; }
.nt-xifra-mar { stroke: #fff; }
.nt-agulla-cos { transform: scale(1.3); }
.nt-agulla path { fill: var(--blau); stroke: #fff; stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.nt-agulla circle { fill: #fff; }

.nt-llegenda { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.nt-llegenda li { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.nt-mostra { flex: none; width: 24px; height: 24px; border: 1px solid var(--blau); border-radius: 4px; }
.nt-mostra.nt-n-molt { background: var(--nt-mucho); }
.nt-mostra.nt-n-forca { background: var(--nt-bastante); }
.nt-mostra.nt-n-poc { background: var(--nt-poco); }
.nt-mostra.nt-n-gens { background: var(--nt-nada); }
.nt-mostra.nt-n-sense { background: #fff; border-style: dashed; }
.nt-llegenda-nom { font-size: 15px; font-weight: 600; color: var(--blau); }
.nt-llegenda-rang { font-size: 14px; color: var(--suau); }

/* la llista: al mòbil fa la feina del mapa */
.nt-tria { display: none; }
.nt-tria label { font-size: 14px; font-weight: 500; color: var(--blau); }
.nt-tria-fila { display: flex; gap: 10px; }
.nt-tria select { flex: 1; min-width: 0; }

/* la comunitat triada: el nom i el número a l'esquerra, i les set dimensions en dues columnes */
.nt-detall { padding: 24px 28px; scroll-margin-top: 16px; }
.nt-bloc { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr); gap: 28px; }
.nt-bloc-cap { padding-right: 28px; border-right: 1px solid var(--filet); }
.nt-bloc-nom:focus { outline: none; }
.nt-bloc-xifra { margin: 12px 0 0; font-size: 22px; color: var(--cos); }
.nt-bloc-xifra strong { margin-right: 6px; font-size: 64px; line-height: 1; font-weight: 600; color: var(--blau); }
.nt-bloc-forma { display: block; margin-top: 8px; font-size: 15px; color: var(--suau); }
.nt-bloc-sense { font-size: 20px; color: var(--suau); }
.nt-files { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; column-gap: 36px; }
/* `align-content: start`: dues files de costat comparteixen la fila de la graella, i sense això la més curta
   repartia l'alçada que li sobra entre les seves línies */
.nt-fila { display: grid; grid-template-columns: minmax(0, 1fr) 150px; column-gap: 14px; align-items: center; align-content: start; padding: 11px 0 12px; border-bottom: 1px solid var(--filet); }
.nt-fila-nom { font-weight: 600; color: var(--blau); }
.nt-fila-estat { display: inline-flex; align-items: center; gap: 10px; color: var(--cos); }
.nt-fila-estat .nt-punt-svg { color: var(--blau); }
.nt-fila-sense .nt-fila-estat, .nt-fila-sense .nt-punt-svg { color: var(--suau); }
.nt-fila-resum { grid-column: 1 / -1; margin-top: 4px; font-size: 15px; color: var(--cos); }
.nt-fila-font { grid-column: 1 / -1; margin-top: 2px; font-size: 14px; line-height: 1.4; color: var(--suau); }
.nt-sense-font { color: var(--suau); }

/* la taula: una fila per territori i el senyal de cada dimensió */
.nt-taula-targeta { padding: 24px 28px 14px; }
.nt-taula-cap { display: grid; gap: 10px; margin: 0 0 10px; }
.nt-clau { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 26px; color: var(--cos); }
.nt-clau li { display: inline-flex; align-items: center; gap: 10px; }
.nt-clau .nt-punt-svg { width: 20px; height: 20px; color: var(--blau); }
.nt-taula-marc { overflow-x: auto; }
.nt-taula { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.nt-taula th, .nt-taula td { padding: 8px 10px; border-bottom: 1px solid var(--filet); }
.nt-taula tbody tr:last-child > * { border-bottom: 0; }
.nt-taula thead th { font-size: 15px; font-weight: 600; color: var(--blau); text-align: center; white-space: nowrap; vertical-align: bottom; }
.nt-taula thead .nt-col-nom { text-align: left; }
.nt-taula thead .nt-col-total, .nt-taula .nt-total { text-align: right; }
.nt-taula tbody th { text-align: left; font-weight: 400; }
.nt-taula tbody th a { color: var(--blau); text-decoration: none; }
.nt-taula tbody th a:hover { text-decoration: underline; text-underline-offset: 3px; }
.nt-punt { text-align: center; color: var(--blau); }
.nt-punt-svg { display: inline-block; width: 18px; height: 18px; vertical-align: middle; }
.nt-punt-sense { color: var(--suau); }
.nt-total { font-weight: 600; color: var(--blau); }
.nt-taula tr[aria-current="true"] > * { background: var(--plafo-clar); }

@media (max-width: 1100px) {
  .nt-dalt { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .normativa { padding: 20px 16px 0; }
  .nt-bloc { grid-template-columns: 1fr; gap: 6px; }
  .nt-bloc-cap { padding: 0 0 12px; border-right: 0; }
  .nt-files { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
}
@media (max-width: 760px) {
  /* el marge del costat ja el posa `.principal` (16 px): amb el de `.normativa` eren 32 */
  .normativa { padding: 4px 0 0; }
  .nt-cap h1 { margin-bottom: 14px; font-size: 34px; }
  .normativa h2 { font-size: 24px; }
  .nt-llei { grid-template-columns: 52px minmax(0, 1fr); gap: 14px; padding: 20px 16px; }
  .nt-picto { width: 52px; height: 52px; }
  .nt-llei-norma, .nt-llei-cert { font-size: 16px; }
  .nt-llei-qui, .nt-llei p.nt-llei-enllac { font-size: 15px; }
  .nt-mapa-targeta, .nt-detall { padding: 18px 16px; }
  .nt-mapa-marc { grid-template-columns: 1fr; }
  .nt-llegenda { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
  .nt-xifra { font-size: 38px; stroke-width: 7px; }
  .nt-agulla-cos { transform: scale(1.8); }
  .nt-tria { display: grid; gap: 6px; margin-top: 14px; }
  .nt-bloc-xifra strong { font-size: 52px; }
  .nt-fila { grid-template-columns: minmax(0, 1fr) auto; }
  .nt-taula-targeta { padding: 18px 12px 8px; }
  .nt-taula-cap { gap: 8px; }
  .nt-clau { gap: 6px 16px; font-size: 14px; }
  .nt-taula th, .nt-taula td { padding: 7px 3px; }
  .nt-taula thead th.nt-col { height: 104px; }
  .nt-col-text { display: inline-block; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 13px; }
  .nt-taula tbody th { padding-right: 6px; font-size: 14px; line-height: 1.25; }
  .nt-punt-svg { width: 15px; height: 15px; }
}

/* ── «Organizaciones» (28/10): la taula de la pàgina d'una activitat, amb les activitats de cada persona ── */
.organitzacions { max-width: 1440px; margin: 0 auto; padding: 28px 32px 0; }
.organitzacions .eines { margin-top: 4px; }
.taula-orgs tr.grup { scroll-margin-top: 16px; }
.actes-persona { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.actes-persona li { font-size: 15px; line-height: 1.3; }
.actes-persona a { margin-right: 8px; }
.actes-data { color: var(--suau); font-size: 13px; white-space: nowrap; }
/* l'avís d'haver assignat algú, sota el nom de la seva organització (`prod.js`) */
.taula .grup .avis, .taula .grup .error { flex-basis: 100%; margin: 10px 0 0; font-size: 15px; }
@media (max-width: 1000px) {
  .organitzacions { padding: 20px 16px 0; }
}
@media (max-width: 760px) {
  .organitzacions .activitats-cap { flex-wrap: wrap; }
}
/* La barra de la gestió porta sis seccions des d'«Organizaciones» (28/10) i a 1280 px ja no hi cabia: fins a 1360 px
   s'estrenyen, i per sota de 1240 van al menú, com al mòbil (amb cinc ja es partien per sota de 1100 i sortien de la
   pantalla per sota de 900). Només la de la gestió, per l'enllaç que porta: la dels altres rols hi cap sencera. */
@media (max-width: 1360px) {
  .barra:has(> .nav a[href="/organizaciones"]) { gap: 16px; }
  .barra:has(> .nav a[href="/organizaciones"]) > .nav a { padding: 6px 10px; }
}
@media (max-width: 1240px) {
  .barra:has(> .nav a[href="/organizaciones"]) > .nav,
  .barra:has(> .nav a[href="/organizaciones"]) > .barra-dreta { display: none; }
  .barra:has(> .nav a[href="/organizaciones"]) > .menu-mobil { display: block; margin-left: auto; position: relative; }
  .menu-mobil summary { display: flex; list-style: none; cursor: pointer; padding: 6px; border-radius: 8px; color: #fff; }
  .menu-mobil summary::-webkit-details-marker { display: none; }
  .menu-mobil-cos { position: absolute; right: 0; top: calc(100% + 12px); z-index: 20; display: grid; gap: 14px; min-width: 250px; padding: 18px 20px; border-radius: var(--radi); background: var(--blau); box-shadow: 0 12px 28px rgba(0, 40, 70, .28); }
  .menu-mobil-cos .qui { text-align: left; }
  .nav-mobil { display: grid; gap: 6px; }
  .nav-mobil a { color: #fff; text-decoration: none; padding: 8px 14px; border: 2px solid transparent; border-radius: 22px; font-weight: 500; }
  .nav-mobil a[aria-current="page"] { border-color: var(--taronja); }
}

/* El mapa del lloc d'una activitat (28/10): la imatge, centrada en el lloc, i el pols al mig, com el d'EfigySchools
   (hub-pols-v a MapaVectorial.tsx: d'escala 0,5 a 2,4 i d'opacitat 0,6 a 0, en 2,4 s). Sense moviment, un anell quiet. */
.mapa-lloc { position: relative; margin: 16px 0 14px; border: 1px solid var(--filet); border-radius: var(--radi);
  overflow: hidden; background: #f2f3f3; }
.mapa-lloc > a { display: block; }
.mapa-lloc img { display: block; width: 100%; height: 96px; object-fit: cover; object-position: center; }
.mapa-lloc > a:focus-visible { outline: 3px solid var(--taronja); outline-offset: -3px; }
.mapa-pols { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%;
  background: var(--taronja); border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0, 40, 70, .3); }
.mapa-pols::before, .mapa-pols::after { content: ""; position: absolute; left: -9px; top: -9px; width: 28px; height: 28px;
  border-radius: 50%; border: 2px solid var(--taronja); animation: mapa-pols 2.4s ease-out infinite; }
.mapa-pols::after { animation-delay: 1.2s; }
@keyframes mapa-pols { 0% { transform: scale(.5); opacity: .6; } 80% { opacity: 0; } 100% { transform: scale(2.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .mapa-pols::before, .mapa-pols::after { animation: none; opacity: .25; transform: scale(1.4); }
}
.mapa-credit { position: absolute; right: 0; bottom: 0; margin: 0; padding: 1px 6px; font-size: 10px; line-height: 15px;
  color: var(--suau); background: rgba(255, 255, 255, .85); border-top-left-radius: 4px; }
.mapa-credit a { color: inherit; }
@media (max-width: 760px) { .mapa-lloc img { height: 120px; } }

/* El registre d'activitat d'una persona (28/10), plegat: el títol fa de botó, amb la fletxa que gira. */
.registre > summary { display: flex; align-items: center; gap: 10px; list-style: none; cursor: pointer; }
.registre > summary::-webkit-details-marker { display: none; }
.registre > summary h2 { margin: 0; }
.registre > summary::after { content: ""; width: 9px; height: 9px; border-right: 2px solid var(--blau);
  border-bottom: 2px solid var(--blau); transform: rotate(45deg) translateY(-3px); }
.registre[open] > summary { margin-bottom: 14px; }
.registre[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.registre td:first-child { white-space: nowrap; }
