/* EXEDCP · perfil i avisos (27/10/2026, pell EXE Glass del 28/10). Targetes sòlides amb capçalera
   grisa de 40 px; els botons, les insígnies i els toasts són de premium.css. */

/* Avisos: una llista per dia, amb l'etiqueta del dia a sobre i separadors des del text. */
.avisos-pagina { display: grid; gap: var(--e5); }
.avisos-pagina__cap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--e4); }
.avisos-pagina__navegacio { display: flex; justify-content: center; gap: var(--e3); }
.avisos-grup { display: grid; gap: var(--e2); }
.avisos-grup__titol { padding: 0 var(--e1); color: var(--tinta-3); font-size: 13px; font-weight: 600; }
.avisos-dia { margin: 0; padding: 0; overflow: hidden; border-radius: var(--radi-targeta); background: var(--fons); box-shadow: 0 0 0 1px var(--linia), var(--ombra-1); list-style: none; }
.avis-fila { position: relative; display: grid; grid-template-columns: 8px 36px minmax(0, 1fr) auto; align-items: start; gap: var(--e3); padding: 14px var(--e4) 14px var(--e3); transition: background-color var(--d-1); }
.avis-fila + .avis-fila::before { position: absolute; top: 0; right: 0; left: calc(var(--e3) + 8px + var(--e3) + 36px + var(--e3)); border-top: 1px solid var(--linia); content: ""; }
.avis-fila:hover { background: rgb(16 40 38 / 2.5%); }
.avis-fila p { margin: 0; }
.avis-fila__punt { align-self: center; width: 8px; height: 8px; border-radius: 999px; background: transparent; }
.avis-fila--nou .avis-fila__punt { background: var(--exe-verd); box-shadow: 0 0 0 3px rgb(0 128 124 / 15%); }
.avis-fila__icona { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--fons-suau); box-shadow: inset 0 0 0 1px var(--linia); color: var(--tinta-3); }
.avis-fila--nou .avis-fila__icona { background: rgb(0 128 124 / 10%); box-shadow: inset 0 0 0 1px rgb(0 128 124 / 18%); color: var(--exe-verd); }
.avis-fila__text { display: grid; align-self: center; gap: 2px; }
.avis-fila__titol { font-size: 15px; line-height: 1.35; }
.avis-fila--nou .avis-fila__titol { font-weight: 600; }
.avis-fila__codi { color: var(--tinta-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.avis-fila__lateral { display: grid; justify-items: end; gap: var(--e2); }
.avis-fila__lateral time { color: var(--tinta-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.avis-fila__accions { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--e1); }

/* Perfil: fitxa a l'esquerra i blocs a la dreta. */
.perfil__avis { max-width: 560px; margin: var(--e4) 0 var(--e5); }
.perfil-v2 { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: var(--e5); align-items: start; margin-top: var(--e6); }
.perfil-v2__fitxa { display: grid; justify-items: center; padding: var(--e6) var(--e5) var(--e5); border-radius: var(--radi-targeta); background: var(--fons); box-shadow: 0 0 0 1px var(--linia), var(--ombra-1); text-align: center; }
.perfil-v2__avatar { display: inline-flex; align-items: center; justify-content: center; width: 80px; height: 80px; margin-bottom: var(--e4); border-radius: 50%; background: linear-gradient(150deg, #13958f, var(--exe-verd) 55%, #006d69); box-shadow: 0 0 0 4px #fff, 0 0 0 6px rgb(0 128 124 / 18%), 0 10px 24px -8px rgb(0 128 124 / 50%); color: #fff; font-size: 28px; font-weight: 600; letter-spacing: 0.02em; }
.perfil-v2__nom { font-size: 21px; font-weight: 600; letter-spacing: -0.015em; line-height: 1.3; }
.perfil-v2__carrec { margin-top: var(--e1); color: var(--tinta-2); font-size: 14px; }
.perfil-v2__rol { margin-top: var(--e3); }
.perfil-v2__xifres-titol { justify-self: stretch; margin-top: var(--e5); color: var(--tinta-3); font-size: 13px; font-weight: 600; text-align: left; }
.perfil-v2__xifres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e2); justify-self: stretch; margin: var(--e2) 0 0; }
.perfil-v2__xifres div { display: flex; flex-direction: column-reverse; justify-content: flex-end; padding: var(--e2) var(--e3); border-radius: var(--radi); background: var(--fons-suau); text-align: left; }
.perfil-v2__xifres dd { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -0.015em; font-variant-numeric: tabular-nums; }
.perfil-v2__xifres dt { color: var(--tinta-3); font-size: 12px; line-height: 1.3; }
.perfil-v2__sortir { justify-self: stretch; margin-top: var(--e5); }
.perfil-v2__sortir .boto { width: 100%; }
.perfil-v2__grups { display: grid; gap: var(--e4); min-width: 0; }
.grup-perfil { overflow: hidden; border-radius: var(--radi-targeta); background: var(--fons); box-shadow: 0 0 0 1px var(--linia), var(--ombra-1); }
.grup-perfil__titol { display: flex; align-items: center; gap: var(--e2); min-height: 40px; padding: 0 var(--e4); border-bottom: 1px solid var(--linia); background: #f7f9f8; font-size: 13px; font-weight: 600; }
.grup-perfil__estat { display: inline-flex; align-items: center; gap: var(--e2); margin-left: auto; color: var(--tinta-2); font-size: 13px; font-weight: 400; }
.grup-perfil__subtitol { padding: var(--e3) var(--e4) var(--e1); color: var(--tinta-3); font-size: 12px; font-weight: 500; }
.grup-perfil__buit { padding: 0 var(--e4) var(--e4); color: var(--tinta-3); font-size: 13px; }
.grup-perfil__dades { margin: 0; }
.grup-perfil__dades div { display: flex; align-items: center; justify-content: space-between; gap: var(--e4); min-height: 44px; padding: var(--e2) var(--e4); font-size: 14px; }
.grup-perfil__dades div + div { border-top: 1px solid var(--linia); }
.grup-perfil__dades dt { color: var(--tinta-2); }
.grup-perfil__dades dd { min-width: 0; margin: 0; overflow-wrap: anywhere; text-align: right; }
.grup-perfil__llista { margin: 0; padding: 0; list-style: none; }
.grup-perfil__llista li + li { border-top: 1px solid var(--linia); }
.projecte-hores { display: flex; align-items: center; gap: var(--e3); padding: var(--e3) var(--e4); color: var(--tinta); font-size: 14px; transition: background-color var(--d-1); }
a.projecte-hores:hover { background: rgb(0 128 124 / 5%); text-decoration: none; }
.projecte-hores__cos { display: grid; flex: 1; gap: 2px; min-width: 0; }
.projecte-hores__nom { overflow-wrap: anywhere; }
.projecte-hores__detall { color: var(--tinta-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.projecte-hores__diferencia { flex: none; font-variant-numeric: tabular-nums; }
.projecte-hores__fletxa { display: inline-flex; flex: none; color: var(--tinta-3); transition: transform var(--d-2) var(--corba-surt), color var(--d-2); }
a.projecte-hores:hover .projecte-hores__fletxa { color: var(--exe-verd); transform: translateX(3px); }
.barra-hores { display: block; height: 4px; margin-top: var(--e1); overflow: hidden; border-radius: 999px; background: rgb(16 40 38 / 7%); }
.barra-hores > span { display: block; max-width: 100%; height: 100%; border-radius: inherit; background: var(--exe-verd); transform-origin: 0 50%; animation: creix 800ms var(--corba-surt) 200ms both; }
.barra-hores--sobre > span { background: var(--error); }
.grup-perfil--plegable > summary { border-radius: 0; }
.grup-perfil--plegable:not([open]) > summary { border-bottom: 0; }
.grup-perfil__fletxa { display: inline-flex; margin-left: auto; color: var(--tinta-3); transition: transform var(--d-3) var(--corba-molla); }
.grup-perfil--plegable[open] .grup-perfil__fletxa { transform: rotate(90deg); }
.grup-perfil__formulari { padding: var(--e4); }
.grup-perfil__formulari > * + * { margin-top: var(--e4); }
@media (max-width: 900px) { .perfil-v2 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .avis-fila { grid-template-columns: 8px 36px minmax(0, 1fr); padding: var(--e3); }
  .avis-fila__lateral { grid-column: 3; grid-template-columns: auto 1fr; align-items: center; justify-items: start; }
  .avis-fila__lateral .avis-fila__accions { justify-self: end; }
}
