@layer ficha {

@scope (.cos-ficha) {
:scope { --realce: var(--il-groc); }
.pg { height: 100%; display: grid; gap: 4mm; min-height: 0; }
.pg-recompte { grid-template-rows: minmax(0, 1.3fr) minmax(0, 1.2fr) minmax(0, .55fr); }
.pg-dies { grid-template-rows: minmax(0, 1.2fr) minmax(0, 1fr); }
.pg .ex { height: 100%; }
.pg .ex-cos { display: grid; grid-template-rows: minmax(0, 1fr); min-height: 0; }
.pg .ex-cos > * { min-height: 0; }
.cel-marques { height: 100%; min-height: 0; padding: 1mm 3mm; border: 1.5px dashed var(--il-gris); border-radius: var(--radi); }
.marques-svg { height: 100%; width: 100%; }
.espai-m { align-self: stretch; padding: 1mm 3mm; border: var(--gruix) dashed var(--acento); border-radius: var(--radi); color: var(--tinta-suau); font-size: var(--t-xs); font-weight: 700; }
.total-b { align-self: stretch; border: var(--gruix) solid var(--acento); border-radius: var(--radi); background: var(--paper); }

.franges { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.franja { display: grid; grid-template-rows: minmax(0, 1fr); grid-template-columns: 28mm 30mm minmax(0, 1fr) 20mm; align-items: center; gap: 4mm; padding: 1.5mm 4mm 1.5mm 2mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.franja .im { height: 100%; }
.franja b { font-size: var(--t-m); }
.franja .r.caixa { width: 100%; height: 1.5em; font-size: var(--t-l); }

.passa { display: grid; grid-template-columns: 56mm minmax(0, 1fr); gap: 6mm; }
.llibreta { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(7, minmax(0, 1fr)); padding: 2mm 4mm 2mm 8mm; border: var(--gruix) solid var(--linia); border-left: 8px double var(--acento); border-radius: var(--radi); background: color-mix(in srgb, var(--realce) 30%, var(--paper)); font-weight: 700; font-size: var(--t-m); column-gap: 4mm; }
.llibreta li { display: flex; align-items: center; line-height: 1.1; border-bottom: 1.5px dashed var(--il-gris); }
.taula-o { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 2.5mm; }
.fila-t { display: grid; grid-template-columns: 30mm minmax(0, 1fr) 24mm; align-items: center; gap: 4mm; padding: 0 5mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.fila-t b { font-size: var(--t-l); }
.fila-t .r.caixa { width: 100%; height: 1.6em; font-size: var(--t-l); }

.setmana { display: grid; grid-template-rows: auto repeat(5, minmax(0, 1fr)); gap: 2mm; }
.cap-s, .dia { display: grid; grid-template-columns: 30mm minmax(0, 1fr) 22mm 22mm; align-items: center; gap: 4mm; }
.cap-s { font-weight: 800; padding: 0 3mm; }
.cap-s span:nth-child(n+3) { text-align: center; }
.dia { grid-template-rows: minmax(0, 1fr); padding: 1mm 3mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.dia b { font-size: var(--t-m); }
.casella-g { display: grid; place-items: center; }
.casella-g input { appearance: none; -webkit-appearance: none; margin: 0; width: 7mm; height: 7mm; border: 2px solid var(--acento); border-radius: 50%; background: var(--paper); }
.casella-g input:checked { background: radial-gradient(var(--acento) 45%, transparent 50%); }
.casella-g i { display: none; }

.fila-e b.altra { grid-column: 1 / span 2; font-size: var(--t-m); }
.enquesta { display: grid; grid-template-rows: auto repeat(4, minmax(0, 1fr)); gap: 2mm; }
.cap-e { display: grid; grid-template-columns: 58mm minmax(0, 1fr) 28mm; gap: 4mm; font-weight: 800; padding: 0 3mm; }
.fila-e { display: grid; grid-template-columns: 24mm 30mm minmax(0, 1fr) 28mm; align-items: stretch; gap: 4mm; padding: 1.5mm 3mm; border: var(--gruix) solid var(--linia); border-radius: var(--radi); background: var(--paper); }
.fila-e b { align-self: center; font-size: var(--t-l); }
.fila-e .espai-obert { min-height: 0; }

}
}
