@layer ficha {

@scope (.cos-ficha) {
:scope { --realce: var(--il-vermell); }
.pg { height: 100%; display: grid; gap: 4mm; }
.pg-tren { grid-template-rows: minmax(0, 118fr) minmax(0, 88fr); }
.pg-trens-2 { grid-template-rows: minmax(0, 128fr) minmax(0, 118fr); }
.pg .ex-cos { display: grid; grid-template-columns: minmax(0, 1fr); }
.fig { width: 100%; height: 100%; }
.fig circle, .fig polygon, .fig rect { fill: none; stroke: var(--il-contorn); stroke-width: 5; stroke-linejoin: round; }


.dos-trens { display: grid; grid-template-columns: 34mm minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 4mm 5mm; min-height: 0; }
.maq-t { grid-row: 1 / 3; border-radius: var(--radi); }
.tren { display: grid; grid-template-columns: 26mm repeat(4, minmax(0, 1fr)); gap: 3mm; align-items: end; padding-bottom: 5mm; border-bottom: 2.5mm solid var(--il-contorn); min-height: 0; }
.loco { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1mm; height: 74%; background: var(--il-vermell); border: var(--gruix) solid var(--il-contorn); border-radius: 8mm 3mm 3mm 3mm; }
.sentit { font-size: 14mm; font-weight: 800; line-height: 1; color: var(--il-blanc); }
.vago { display: grid; place-items: center; height: 100%; background: var(--il-blanc); border: var(--gruix) solid var(--il-contorn); border-radius: 3mm; min-height: 0; }
.vago .lletra-gran { font-size: 15mm; }
.vago .fig { width: 14mm; height: 14mm; }
.vago.buit { border-style: dashed; background: var(--il-cel); }
.copia-tren .loco { background: var(--il-groc); }
.model-tren .loco .etiqueta { background: var(--il-blanc); }


.cartes-ord { display: grid; grid-template-columns: 38mm minmax(0, 1fr); gap: 5mm; min-height: 0; }
.gat-t { border-radius: var(--radi); }
.barreja { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; min-height: 0; }
.pas-t { display: grid; grid-template-rows: minmax(0, 1fr) auto; justify-items: center; align-items: center; gap: 2mm; padding: 2mm; background: var(--il-sorra); border: var(--gruix) solid var(--il-contorn); border-radius: var(--radi); min-height: 0; }
.pas-t .lletra-gran { font-size: 18mm; line-height: 1; }
.pas-t .fig { width: 18mm; height: 18mm; }
.pas-t .ordre { min-width: 12mm; height: 12mm; background: var(--paper); }


.triar-tren { display: grid; grid-template-columns: 38mm minmax(0, 1fr); gap: 5mm; min-height: 0; }
.ovella-t { border-radius: var(--radi); }
.tres-trens { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 4mm; min-height: 0; }
.fila-tt { display: grid; min-height: 0; }
.fila-tt .tria { display: grid; grid-template-columns: 9mm minmax(0, 1fr); align-items: center; gap: 4mm; padding: 2mm 4mm; background: var(--il-cel); border: var(--gruix) solid var(--il-contorn); border-radius: var(--radi); min-height: 0; }
.fila-tt .tria input { width: 8mm; height: 8mm; }
.mini-tren { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; height: 100%; }
.mini-tren i { display: grid; place-items: center; font-style: normal; background: var(--il-blanc); border: var(--gruix) solid var(--il-contorn); border-radius: 3mm; min-height: 0; }
.mini-tren .lletra-gran { font-size: 11mm; }
.mini-tren .fig { width: 11mm; height: 11mm; }


.falta-ex { display: grid; grid-template-columns: 38mm minmax(0, 1fr); gap: 5mm; min-height: 0; }
.nen-t { border-radius: var(--radi); }
.dos-falta { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 5mm; min-height: 0; }
.fila-falta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; padding: 3mm; background: var(--il-sorra); border-bottom: 2.5mm solid var(--il-contorn); border-radius: var(--radi) var(--radi) 0 0; min-height: 0; }
.vago.petit { height: 100%; }
.vago.petit .r { width: 100%; height: 100%; max-height: 100%; min-height: 0; }

}
}
