/* THE AI LAB · Portale clienti (docs/portale.md). Lo stile di docs/scena.md «lato cliente»: stesso marchio (grafite, viola, ambra, vetro), ma più calmo e più grande:
   telefono prima di tutto (tocchi da 46 px, barra in basso, nessuno scroll orizzontale), un solo gesto principale per pagina (l'ambra), niente luci che si muovono.
   Si animano solo transform e opacity; prefers-reduced-motion è rispettato. Tutte le classi cominciano per «p-» e non toccano il resto del progetto. */

:root {
  --p-fondo: #0E0B14; --p-fondo-2: #130F1C; --p-carta: #1A1524; --p-carta-2: #221B30;
  --p-linea: rgba(255, 255, 255, .08); --p-linea-forte: rgba(255, 255, 255, .16);
  --p-testo: #F5F2FB; --p-testo-2: #CBC5DA; --p-testo-3: #9B94AE;
  --p-viola: #8B5CF6; --p-viola-2: #6D3BE0; --p-ambra: #F5A524; --p-ok: #34D399; --p-rosso: #F87171;
  --p-raggio: 20px; --p-raggio-2: 14px; --p-ombra: 0 24px 48px -28px rgba(0, 0, 0, .8);
  --p-curva: cubic-bezier(.2, .7, .2, 1); --p-barra: 64px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0; min-height: 100vh; font-family: var(--carattere, "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif); font-size: 16px; line-height: 1.55; color: var(--p-testo); background: var(--p-fondo);
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(60rem 40rem at -10% -10%, rgba(139, 92, 246, .16), transparent 60%), radial-gradient(50rem 36rem at 110% 110%, rgba(245, 165, 36, .07), transparent 60%); }
h1, h2, h3, p { margin: 0; } h1, h2, h3 { overflow-wrap: anywhere; }
a { color: inherit; }
img, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--p-ambra); outline-offset: 2px; border-radius: 6px; }
[hidden] { display: none !important; }
html[lang="de"] h1, html[lang="de"] h2, html[lang="de"] h3, html[lang="de"] p, html[lang="de"] li, html[lang="de"] label, html[lang="de"] small, html[lang="de"] dd, html[lang="de"] dt { hyphens: auto; overflow-wrap: break-word; }
html[lang="de"] h1 { hyphens: manual; }
.p-i { width: 1.25rem; height: 1.25rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.p-i.grande { width: 2.4rem; height: 2.4rem; }
.p-salta { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--p-ambra); color: #1a1205; padding: .6rem 1rem; border-radius: 10px; font-weight: 700; }
.p-salta:focus { left: 8px; }

/* ---------- il guscio: telefono = barra in basso, desktop = colonna a sinistra ---------- */
.p-guscio { display: block; }
.p-lato { display: none; }
.p-colonna { min-width: 0; display: flex; flex-direction: column; min-height: 100vh; }
.p-alto { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: max(10px, env(safe-area-inset-top)) 16px 10px; background: rgba(14, 11, 20, .86); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--p-linea); }
.p-marchio { display: inline-flex; align-items: center; text-decoration: none; }
.p-marchio img { display: block; height: 32px; width: auto; }
.p-main { flex: 1; width: 100%; max-width: 1080px; margin: 0 auto; padding: 22px 16px calc(var(--p-barra) + 52px + env(safe-area-inset-bottom)); outline: none; }
.p-main.p-main > * + * { margin-top: 20px; }  /* (doppia classe: deve vincere sui margin: 0 delle liste) */
.p-nb { white-space: nowrap; }
.p-piede { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center; padding: 14px 16px calc(var(--p-barra) + 22px + env(safe-area-inset-bottom)); font-size: .8rem; color: var(--p-testo-3); }
.p-piede a { color: var(--p-testo-3); text-decoration: none; } .p-piede a:hover { color: var(--p-testo); }
.p-barra { position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(5, 1fr); background: rgba(22, 17, 32, .94); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border-top: 1px solid var(--p-linea); padding-bottom: env(safe-area-inset-bottom); }
.p-barra a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: var(--p-barra); padding: 8px 2px 6px; font-size: .68rem; font-weight: 600; letter-spacing: .01em; color: var(--p-testo-3); text-decoration: none; -webkit-tap-highlight-color: transparent; }
.p-barra a .p-i { width: 1.4rem; height: 1.4rem; }
.p-barra a.attiva { color: var(--p-ambra); }
.p-barra a.attiva::before { content: ""; position: absolute; top: 0; left: 28%; right: 28%; height: 3px; border-radius: 0 0 4px 4px; background: var(--p-ambra); }
.p-pallino { display: inline-grid; place-items: center; min-width: 1.15rem; height: 1.15rem; padding: 0 .3rem; border-radius: 999px; background: var(--p-ambra); color: #1a1205; font-size: .68rem; font-weight: 800; line-height: 1; }
.p-barra .p-pallino { position: absolute; top: 6px; left: calc(50% + 6px); }
.p-pallino.fisso { position: absolute; top: -3px; right: -3px; min-width: .7rem; height: .7rem; padding: 0; }

.p-lingue, .p-lingue-forma { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid var(--p-linea); }
.p-lingue a, .p-lingue button { min-width: 38px; min-height: 30px; display: inline-grid; place-items: center; border-radius: 999px; border: 0; background: transparent; color: var(--p-testo-3); font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; cursor: pointer; }
.p-lingue .attiva { background: var(--p-ambra); color: #1a1205; }
.p-lingue-forma { padding: 0; border: 0; background: none; }
.p-lingue .p-lingue-forma { gap: 2px; }

@media (min-width: 1024px) {
  .p-guscio { display: grid; grid-template-columns: 276px minmax(0, 1fr); min-height: 100vh; }
  .p-lato { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 6px; padding: 26px 18px 20px; border-right: 1px solid var(--p-linea); background: linear-gradient(180deg, rgba(255, 255, 255, .025), transparent); overflow-y: auto; }
  .p-lato .p-marchio img { height: 38px; }
  .p-lato-negozio { margin: 6px 0 18px 4px; font-size: .72rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--p-ambra); }
  .p-nav { display: flex; flex-direction: column; gap: 2px; }
  .p-nav a { position: relative; display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 0 14px; border-radius: 14px; color: var(--p-testo-2); text-decoration: none; font-weight: 600; transition: background .2s var(--p-curva), color .2s; }
  .p-nav a:hover { background: rgba(255, 255, 255, .05); color: var(--p-testo); }
  .p-nav a.attiva { background: rgba(139, 92, 246, .18); color: var(--p-testo); box-shadow: inset 0 0 0 1px rgba(139, 92, 246, .35); }
  .p-nav a.attiva .p-i { color: var(--p-ambra); }
  .p-nav .p-pallino { margin-left: auto; }
  .p-lato-piede { margin-top: auto; display: flex; flex-direction: column; gap: 12px; padding-top: 18px; border-top: 1px solid var(--p-linea); }
  .p-persona { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .p-persona-testo { display: flex; flex-direction: column; min-width: 0; }
  .p-persona-testo strong { font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .p-persona-testo small { color: var(--p-testo-3); font-size: .78rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .p-nav-esci { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--p-linea); background: transparent; color: var(--p-testo-2); cursor: pointer; font-weight: 600; }
  .p-nav-esci:hover { background: rgba(255, 255, 255, .05); color: var(--p-testo); }
  .p-alto, .p-barra { display: none; }
  .p-main { padding: 44px 52px 64px; }
  .p-piede { padding: 16px 24px 28px; justify-content: flex-start; padding-left: 52px; }
}

/* ---------- testi e intestazioni ---------- */
.p-occhiello { font-size: .74rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: var(--p-ambra); }
.p-sotto { color: var(--p-testo-2); font-size: 1rem; }
.p-piccolo { font-size: .86rem; }
.p-h2 { display: flex; align-items: center; gap: .55rem; font-size: 1.06rem; font-weight: 800; letter-spacing: -.01em; margin-bottom: .85rem; }
.p-h2 .p-i { color: var(--p-viola); width: 1.2rem; height: 1.2rem; }
.p-h3 { font-size: .86rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--p-testo-3); margin: 1.1rem 0 .5rem; }
.p-testa { display: flex; flex-direction: column; gap: 6px; }
.p-testa h1, .p-saluto h1 { font-size: clamp(1.7rem, 1.25rem + 2.3vw, 2.5rem); font-weight: 800; letter-spacing: -.025em; line-height: 1.12; text-wrap: balance; }
.p-testa-azione { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 14px 20px; flex-wrap: wrap; }
.p-testa-azione > div { min-width: 0; flex: 1 1 18rem; display: flex; flex-direction: column; gap: 6px; }
.p-testa-hero { padding: 6px 0 2px; }
.p-saluto { display: flex; flex-direction: column; gap: 6px; padding: 4px 0 2px; }
.p-riga-chip { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; } .p-riga-chip .p-chip { white-space: normal; max-width: 100%; }
.p-indietro { display: inline-flex; align-items: center; gap: 6px; color: var(--p-testo-3); text-decoration: none; font-weight: 600; font-size: .9rem; min-height: 36px; width: fit-content; }
.p-indietro:hover { color: var(--p-testo); }
.p-indietro .p-i { width: 1rem; height: 1rem; }
.p-conta { display: inline-grid; place-items: center; min-width: 1.5rem; height: 1.5rem; padding: 0 .4rem; border-radius: 999px; background: rgba(139, 92, 246, .22); color: #D8CCFF; font-size: .78rem; font-weight: 800; }
.p-mono { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .92rem; word-break: break-all; }
.p-url { padding: .55rem .75rem; border-radius: 10px; background: rgba(255, 255, 255, .05); margin: .4rem 0 .8rem; }
.p-rosso { color: var(--p-rosso); } .p-verde { color: var(--p-ok); }
.p-elenco-puntato { margin: 0; padding-left: 1.2rem; color: var(--p-testo-2); display: grid; gap: .35rem; }

/* ---------- carte ---------- */
.p-carta { position: relative; padding: 20px; border-radius: var(--p-raggio); border: 1px solid var(--p-linea); background: linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); box-shadow: var(--p-ombra); }
.p-carta.in-luce { border-color: rgba(139, 92, 246, .35); background: radial-gradient(120% 90% at 0% 0%, rgba(139, 92, 246, .16), transparent 55%), linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .02)); }
.p-carta-testa { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: .85rem; }
.p-carta-testa h2 { display: flex; align-items: center; gap: .55rem; font-size: 1.02rem; font-weight: 800; }
.p-carta-testa h2 .p-i { color: var(--p-viola); }
.p-carta-testa a { font-size: .86rem; font-weight: 700; color: var(--p-ambra); text-decoration: none; white-space: nowrap; }
.p-griglia { display: grid; gap: 16px; grid-template-columns: 1fr; }
.p-doppio-colonna { display: grid; gap: 20px; grid-template-columns: 1fr; align-items: start; }
.p-colonna-principale, .p-colonna-lato { display: grid; gap: 16px; min-width: 0; align-content: start; }
@media (min-width: 720px) { .p-griglia.p-riquadri { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1180px) { .p-griglia.p-riquadri:not(.p-doppio) { grid-template-columns: repeat(3, 1fr); } .p-doppio-colonna { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } .p-colonna-lato { position: sticky; top: 24px; } }
@media (max-width: 1179px) { .p-doppio-colonna.p-paga-prima .p-colonna-lato { order: -1; } }
@media (min-width: 720px) { .p-doppio-colonna.p-profilo { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.p-vuoto { display: grid; justify-items: center; gap: 10px; text-align: center; padding: 38px 22px; border-radius: var(--p-raggio); border: 1px dashed var(--p-linea-forte); color: var(--p-testo-2); }
.p-vuoto .p-i { color: var(--p-viola); opacity: .85; } .p-vuoto strong { color: var(--p-testo); font-size: 1.05rem; } .p-vuoto p { max-width: 36ch; }
.p-vuoto-testo { color: var(--p-testo-3); margin-bottom: .8rem; }
.p-tutto-ok { display: flex; gap: 14px; align-items: center; padding: 18px 20px; border-radius: var(--p-raggio); background: rgba(52, 211, 153, .08); border: 1px solid rgba(52, 211, 153, .25); }
.p-tutto-ok .p-i { color: var(--p-ok); } .p-tutto-ok div { display: grid; } .p-tutto-ok span { color: var(--p-testo-2); font-size: .93rem; }

/* ---------- liste e righe ---------- */
.p-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.p-lista.compatta { gap: 6px; }
.p-riga { display: flex; align-items: center; gap: 14px; min-height: 66px; padding: 12px 16px; border-radius: 18px; border: 1px solid var(--p-linea); background: rgba(255, 255, 255, .035); text-decoration: none; color: inherit; transition: background .2s var(--p-curva), border-color .2s, transform .2s var(--p-curva); }
a.p-riga:hover { background: rgba(255, 255, 255, .06); border-color: var(--p-linea-forte); transform: translateY(-1px); }
.p-riga.attenuata { opacity: .72; }
.p-riga.statica { cursor: default; }
.p-riga-testo { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.p-riga-testo strong { font-weight: 700; overflow-wrap: anywhere; }
.p-riga-testo small { overflow-wrap: anywhere; }  /* spazi (12/10/2026): un indirizzo email lungo non allarga la pagina a 390 px */
.p-riga-testo small, .p-mini-lista small, .p-voci small, .p-azione-testo small, .p-data-testo small { color: var(--p-testo-3); font-size: .85rem; }
.p-riga-dx { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; text-align: right; flex: none; }
.p-riga-dx strong { white-space: nowrap; }
.p-segnalata { display: inline-flex; align-items: center; gap: 4px; color: var(--p-ok); } .p-segnalata .p-i { width: .85rem; height: .85rem; }
.p-tessera { position: relative; flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: rgba(139, 92, 246, .16); color: #CDBBFF; }
.p-mini-lista { list-style: none; margin: 0 0 .6rem; padding: 0; display: grid; gap: 4px; }
.p-mini-lista a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 6px 2px; text-decoration: none; border-bottom: 1px solid var(--p-linea); }
.p-mini-lista li:last-child a { border-bottom: 0; } .p-mini-lista span:first-child { min-width: 0; display: flex; flex-direction: column; } .p-mini-lista strong { font-size: .95rem; overflow-wrap: anywhere; }
.p-voci { list-style: none; margin: 0; padding: 0; display: grid; }
.p-voci li { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 12px 0; border-top: 1px solid var(--p-linea); }
.p-voci li:first-child { border-top: 0; padding-top: 2px; }
.p-voci li > div { min-width: 0; display: flex; flex-direction: column; overflow-wrap: anywhere; }
.p-voci li > span { white-space: nowrap; font-weight: 700; flex: none; }
.p-voci .p-sotto-dx { color: var(--p-testo-3); font-size: .82rem; font-weight: 500; text-align: right; }
.p-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .22rem .7rem; border-radius: 999px; font-size: .78rem; font-weight: 700; line-height: 1.3; border: 1px solid transparent; white-space: nowrap; width: fit-content; }
.p-chip .p-i { width: .9rem; height: .9rem; }
.p-chip.verde { background: rgba(52, 211, 153, .12); color: #6EE7B7; border-color: rgba(52, 211, 153, .3); }
.p-chip.ambra { background: rgba(245, 165, 36, .12); color: #FCD34D; border-color: rgba(245, 165, 36, .32); }
.p-chip.rosso { background: rgba(248, 113, 113, .12); color: #FCA5A5; border-color: rgba(248, 113, 113, .32); }
.p-chip.viola { background: rgba(139, 92, 246, .18); color: #D2C4FF; border-color: rgba(139, 92, 246, .38); }
.p-chip.grigio { background: rgba(255, 255, 255, .06); color: var(--p-testo-2); border-color: var(--p-linea); }
.p-riga-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; justify-content: space-between; margin-bottom: .5rem; }
.p-riga-info span { color: var(--p-testo-2); }
.p-riga-icona { display: flex; gap: 8px; align-items: flex-start; color: var(--p-testo-2); margin-bottom: .6rem; } .p-riga-icona .p-i { margin-top: .15rem; color: var(--p-viola); }
.p-ok-riga { display: flex; align-items: center; gap: 8px; color: var(--p-ok); font-weight: 700; margin-bottom: .3rem; }
.p-kpi { display: flex; flex-direction: column; margin-bottom: .4rem; } .p-kpi small { color: var(--p-testo-3); font-size: .82rem; } .p-kpi strong { font-size: 1.9rem; font-weight: 800; letter-spacing: -.02em; line-height: 1.15; }
.p-kpi-griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 1rem; } .p-kpi-griglia div { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .04); } .p-kpi-griglia dt { font-size: .74rem; color: var(--p-testo-3); } .p-kpi-griglia dd { margin: 2px 0 0; font-size: 1.5rem; font-weight: 800; }
.p-riepilogo { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 18px 20px; border-radius: var(--p-raggio); background: radial-gradient(120% 120% at 0% 0%, rgba(245, 165, 36, .14), transparent 60%), rgba(255, 255, 255, .04); border: 1px solid rgba(245, 165, 36, .3); }
.p-riepilogo.allarme { border-color: rgba(248, 113, 113, .45); background: radial-gradient(120% 120% at 0% 0%, rgba(248, 113, 113, .14), transparent 60%), rgba(255, 255, 255, .04); }
.p-riepilogo small { display: block; color: var(--p-testo-3); font-size: .8rem; } .p-riepilogo strong { font-size: 1.35rem; font-weight: 800; }
.p-nota-tempo { display: flex; align-items: center; gap: 8px; color: var(--p-testo-2); font-size: .92rem; } .p-nota-tempo .p-i { color: var(--p-ambra); width: 1.05rem; height: 1.05rem; }
.p-orari { margin: .4rem 0 0; display: grid; gap: 2px; } .p-orari div { display: flex; justify-content: space-between; gap: 12px; font-size: .9rem; padding: 4px 0; border-top: 1px solid var(--p-linea); } .p-orari dt { color: var(--p-testo-3); } .p-orari dd { margin: 0; font-weight: 600; text-align: right; }

/* ---------- home: cosa c'è da fare ---------- */
.p-da-fare { display: grid; gap: 10px; }
.p-lista-azioni { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.p-azione a { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; align-items: center; padding: 14px 16px; border-radius: 18px; border: 1px solid var(--p-linea); background: rgba(255, 255, 255, .045); text-decoration: none; transition: transform .2s var(--p-curva), background .2s; }
.p-azione a:hover { background: rgba(255, 255, 255, .075); transform: translateY(-1px); }
.p-azione-testo { display: flex; flex-direction: column; min-width: 0; } .p-azione-testo strong { font-weight: 700; overflow-wrap: anywhere; }
.p-azione-cta { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 6px; justify-self: end; font-size: .86rem; font-weight: 800; color: var(--p-ambra); }
.p-azione-cta .p-i { width: 1rem; height: 1rem; }
.p-azione.tono-rosso a { border-color: rgba(248, 113, 113, .42); background: linear-gradient(90deg, rgba(248, 113, 113, .1), rgba(255, 255, 255, .03)); } .p-azione.tono-rosso .p-tessera { background: rgba(248, 113, 113, .18); color: #FCA5A5; }
.p-azione.tono-ambra a { border-color: rgba(245, 165, 36, .35); } .p-azione.tono-ambra .p-tessera { background: rgba(245, 165, 36, .16); color: #FCD34D; }
.p-azione.tono-verde .p-tessera { background: rgba(52, 211, 153, .15); color: #6EE7B7; }
.p-azione.tono-viola a { border-color: rgba(139, 92, 246, .45); background: linear-gradient(90deg, rgba(139, 92, 246, .14), rgba(255, 255, 255, .03)); }
@media (min-width: 640px) { .p-azione a { grid-template-columns: auto 1fr auto; } .p-azione-cta { grid-column: auto; justify-self: auto; } }
.p-data-blocco { display: flex; gap: 14px; align-items: center; text-decoration: none; margin-bottom: .8rem; }
.p-data-giorno { flex: none; display: grid; place-items: center; align-content: center; width: 56px; height: 62px; border-radius: 16px; background: linear-gradient(180deg, rgba(139, 92, 246, .3), rgba(139, 92, 246, .12)); border: 1px solid rgba(139, 92, 246, .4); line-height: 1; }
.p-data-giorno b { font-size: 1.5rem; font-weight: 800; } .p-data-giorno small { font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #D2C4FF; margin-top: 3px; }
.p-data-testo { display: flex; flex-direction: column; min-width: 0; } .p-data-testo small { display: flex; gap: 5px; align-items: center; } .p-data-testo .p-i { width: .9rem; height: .9rem; }
.p-azioni-riga { display: flex; flex-wrap: wrap; gap: 10px; margin-top: .9rem; }
.p-azioni-colonna { display: grid; gap: 10px; margin-top: .8rem; }
.p-consulente-riga { display: flex; align-items: center; gap: 14px; margin: .7rem 0 1rem; } .p-consulente-riga div { display: flex; flex-direction: column; } .p-consulente-riga small { color: var(--p-testo-3); }
.p-avatar { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; flex: none; background: linear-gradient(135deg, #8B5CF6, #6D3BE0); color: #fff; font-weight: 800; font-size: .86rem; object-fit: cover; letter-spacing: .02em; }
.p-avatar.grande { width: 64px; height: 64px; font-size: 1.2rem; }
.p-consulente .p-occhiello { margin-bottom: .2rem; }
.p-tessere { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.p-tessere a { display: flex; flex-direction: column; gap: 4px; padding: 18px; border-radius: 20px; border: 1px solid var(--p-linea); background: rgba(255, 255, 255, .04); text-decoration: none; } .p-tessere a .p-tessera { margin-bottom: 8px; } .p-tessere small { color: var(--p-testo-3); font-size: .82rem; line-height: 1.35; }
.p-barra-azione { position: sticky; bottom: calc(var(--p-barra) + 10px + env(safe-area-inset-bottom)); z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-radius: 18px; background: rgba(34, 26, 48, .96); border: 1px solid rgba(245, 165, 36, .45); box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.p-barra-azione div { display: flex; flex-direction: column; flex: 1 1 14rem; min-width: 0; } .p-barra-azione small { color: var(--p-testo-2); }
@media (min-width: 1024px) { .p-barra-azione { bottom: 18px; } }

/* ---------- bottoni e form ---------- */
.p-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 46px; padding: 0 1.2rem; border-radius: 14px; border: 1px solid transparent; font-weight: 700; font-size: .96rem; text-decoration: none; cursor: pointer; transition: transform .15s var(--p-curva), box-shadow .2s, background .2s; -webkit-tap-highlight-color: transparent; text-align: center; }
.p-btn:active { transform: scale(.98); }
.p-btn.primario { background: linear-gradient(180deg, #F9BA45, #F5A524); color: #1b1305; box-shadow: 0 10px 26px -12px rgba(245, 165, 36, .75); } .p-btn.primario:hover { box-shadow: 0 12px 30px -10px rgba(245, 165, 36, .9); }
.p-btn.viola { background: linear-gradient(180deg, #9B6DFB, #7B4CEA); color: #fff; box-shadow: 0 10px 26px -14px rgba(139, 92, 246, .9); }
.p-btn.contorno { background: transparent; border-color: var(--p-linea-forte); color: var(--p-testo); } .p-btn.contorno:hover { background: rgba(255, 255, 255, .06); }
.p-btn.pericolo { background: rgba(248, 113, 113, .1); border-color: rgba(248, 113, 113, .42); color: #FCA5A5; }
.p-btn.largo { width: 100%; } .p-btn.piccolo { min-height: 40px; padding: 0 1rem; font-size: .88rem; border-radius: 12px; }
.p-btn[disabled], .p-btn.spento { opacity: .5; pointer-events: none; }
summary.p-btn { list-style: none; } summary.p-btn::-webkit-details-marker { display: none; }
details > summary { cursor: pointer; }
details[open] > summary.p-btn { margin-bottom: 14px; }
.p-form { display: grid; gap: 14px; }
.p-campo { display: grid; gap: 6px; min-width: 0; }
.p-campo label, .p-campo > label { font-size: .86rem; font-weight: 700; color: var(--p-testo-2); }
.p-campo small { color: var(--p-testo-3); font-size: .8rem; }
.p-campo input:not([type=checkbox]):not([type=radio]):not([type=file]), .p-campo select, .p-campo textarea, .p-form input[type=date] {
  width: 100%; min-height: 48px; padding: 0 14px; border-radius: 13px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .045); font-size: 16px; transition: border-color .2s, background .2s, box-shadow .2s; }
.p-campo textarea { padding: 12px 14px; min-height: 128px; resize: vertical; line-height: 1.5; }
.p-campo select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239B94AE' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.p-campo select option { background: #1a1524; color: #fff; }
.p-campo input:hover, .p-campo select:hover, .p-campo textarea:hover { border-color: rgba(139, 92, 246, .55); }
.p-campo input:focus, .p-campo select:focus, .p-campo textarea:focus { outline: none; border-color: var(--p-ambra); box-shadow: 0 0 0 3px rgba(245, 165, 36, .22); background: rgba(255, 255, 255, .07); }
.p-campo input[readonly] { opacity: .65; }
.p-campo-azione { display: flex; flex-direction: column; gap: 10px; } @media (min-width: 560px) { .p-campo-azione { flex-direction: row; } .p-campo-azione input { flex: 1; } }
.p-griglia-campi { grid-template-columns: 1fr; } @media (min-width: 640px) { .p-griglia-campi { grid-template-columns: 1fr 1fr; } .p-griglia-campi .largo { grid-column: 1 / -1; } }
.p-sotto-form { text-align: center; color: var(--p-testo-3); font-size: .9rem; margin-top: 4px; } .p-sotto-form a { color: var(--p-ambra); font-weight: 700; text-decoration: none; } .p-aiuto { font-size: .84rem; margin-top: 12px; }
.p-avviso-negozio { margin-left: 12px; color: var(--p-testo-3); font-size: .82rem; }
.p-divisore { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--p-testo-3); font-size: .82rem; text-transform: uppercase; letter-spacing: .14em; } .p-divisore::before, .p-divisore::after { content: ""; height: 1px; flex: 1; background: var(--p-linea); }
.p-link-accesso summary { display: flex; } .p-link-accesso .p-form { margin-top: 4px; }
.p-esito { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 6px; border-radius: 50%; background: rgba(139, 92, 246, .18); color: #D2C4FF; } .p-esito.errore { background: rgba(248, 113, 113, .14); color: #FCA5A5; }
.p-interruttore { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.p-interruttore input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.p-pomello { position: relative; flex: none; width: 52px; height: 30px; border-radius: 999px; background: rgba(255, 255, 255, .14); transition: background .2s; margin-top: 2px; } .p-pomello::after { content: ""; position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #fff; transition: transform .2s var(--p-curva); box-shadow: 0 2px 6px rgba(0, 0, 0, .4); }
.p-interruttore input:checked + .p-pomello { background: var(--p-viola); } .p-interruttore input:checked + .p-pomello::after { transform: translateX(22px); } .p-interruttore input:focus-visible + .p-pomello { outline: 2px solid var(--p-ambra); outline-offset: 2px; }
.p-interruttore span:last-child { display: grid; font-weight: 700; } .p-interruttore small { color: var(--p-testo-3); font-weight: 500; font-size: .84rem; }
.p-categorie { border: 1px solid var(--p-linea); border-radius: 14px; padding: 12px 14px; margin: 0; display: grid; gap: 4px; } .p-categorie legend { padding: 0 6px; font-size: .8rem; font-weight: 700; color: var(--p-testo-3); } .p-categorie[disabled] { opacity: .45; }
.p-spunta { display: flex; align-items: center; gap: 10px; min-height: 40px; cursor: pointer; } .p-spunta input { width: 20px; height: 20px; accent-color: var(--p-viola); }
.p-scelte { display: flex; gap: 8px; flex-wrap: wrap; } .p-scelta { position: relative; } .p-scelta input { position: absolute; opacity: 0; } .p-scelta span { display: inline-grid; place-items: center; min-width: 96px; min-height: 44px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--p-linea-forte); font-weight: 700; cursor: pointer; } .p-scelta input:checked + span { background: rgba(245, 165, 36, .16); border-color: var(--p-ambra); color: #FCD34D; } .p-scelta input:focus-visible + span { outline: 2px solid var(--p-ambra); outline-offset: 2px; }

/* ---------- avvisi (messaggi) ---------- */
.p-messaggi { display: grid; gap: 10px; }
.p-avviso { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .05); line-height: 1.45; animation: p-entra .35s var(--p-curva) both; }
.p-avviso > .p-i { margin-top: .12rem; } .p-avviso > span, .p-avviso > div { flex: 1; min-width: 0; }
.p-avviso.ok { border-color: rgba(52, 211, 153, .4); background: rgba(52, 211, 153, .1); } .p-avviso.ok > .p-i { color: var(--p-ok); }
.p-avviso.errore { border-color: rgba(248, 113, 113, .45); background: rgba(248, 113, 113, .1); } .p-avviso.errore > .p-i { color: var(--p-rosso); }
.p-avviso.info { border-color: rgba(139, 92, 246, .4); background: rgba(139, 92, 246, .1); } .p-avviso.info > .p-i { color: #C4B5FD; }
.p-chiudi { flex: none; width: 32px; height: 32px; border-radius: 50%; border: 0; background: transparent; color: var(--p-testo-3); font-size: 1.3rem; line-height: 1; cursor: pointer; }
@keyframes p-entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.p-main > section, .p-main > header, .p-main > div, .p-main > form { animation: p-entra .45s var(--p-curva) both; }
.p-main > *:nth-child(2) { animation-delay: .04s; } .p-main > *:nth-child(3) { animation-delay: .08s; } .p-main > *:nth-child(4) { animation-delay: .12s; }

/* ---------- fatture ---------- */
.p-dati { margin: 0 0 1rem; display: grid; gap: 12px; } .p-dati > div { display: grid; gap: 2px; } .p-dati dt { font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--p-testo-3); } .p-dati dd { margin: 0; overflow-wrap: anywhere; }
@media (min-width: 640px) { .p-dati:not(.compatto) { grid-template-columns: 1fr 1fr; } }
.p-righe-fattura li > span { font-variant-numeric: tabular-nums; }
.p-totali { margin: .6rem 0 .4rem; display: grid; gap: 4px; } .p-totali div { display: flex; justify-content: space-between; gap: 16px; color: var(--p-testo-2); } .p-totali dd { margin: 0; font-variant-numeric: tabular-nums; } .p-totali .forte { margin-top: 8px; padding-top: 12px; border-top: 2px solid var(--p-ambra); color: var(--p-testo); font-weight: 800; font-size: 1.2rem; }
.p-totale { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin-top: 12px; padding-top: 12px; border-top: 2px solid var(--p-ambra); } .p-totale strong { font-size: 1.6rem; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; } .p-totale.piccolo { border-top: 1px solid var(--p-linea); } .p-totale.piccolo strong { font-size: 1.2rem; }
.p-paga { overflow: hidden; }
.p-qr { width: min(100%, 22rem); margin: .4rem auto 1rem; padding: 14px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 20px 40px -18px rgba(0, 0, 0, .8); } .p-qr svg { display: block; width: 100%; height: auto; }
.p-da-pagare { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 1rem; } .p-da-pagare span { color: var(--p-testo-2); font-size: .9rem; } .p-da-pagare strong { font-size: 1.55rem; font-weight: 800; letter-spacing: -.02em; }
.p-copia { display: inline-grid; place-items: center; width: 32px; height: 32px; vertical-align: middle; margin-left: 4px; border-radius: 10px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .05); color: var(--p-testo-2); cursor: pointer; } .p-copia .p-i { width: 1rem; height: 1rem; } .p-copia.fatto { background: rgba(52, 211, 153, .18); color: var(--p-ok); }
.p-segnala details { margin-top: 4px; } .p-segnala .p-form { margin-top: 2px; }

/* ---------- appuntamenti ---------- */
.p-giorni { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; margin: 0 -2px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.p-giorno { flex: none; scroll-snap-align: start; display: grid; justify-items: center; gap: 1px; width: 62px; padding: 10px 0 8px; border-radius: 16px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .04); text-decoration: none; line-height: 1.15; }
.p-giorno small { font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--p-testo-3); } .p-giorno b { font-size: 1.35rem; font-weight: 800; } .p-giorno i { font-style: normal; font-size: .68rem; color: #6EE7B7; font-weight: 700; }
.p-giorno.vuoto { opacity: .4; } .p-giorno.vuoto i { color: var(--p-testo-3); }
.p-giorno.attivo { background: linear-gradient(180deg, rgba(245, 165, 36, .22), rgba(245, 165, 36, .08)); border-color: var(--p-ambra); } .p-giorno.attivo small { color: #FCD34D; }
.p-slot { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 10px; }
.p-slot-voce { position: relative; } .p-slot-voce input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; margin: 0; }
.p-slot-voce span { display: grid; place-items: center; min-height: 48px; border-radius: 14px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .04); font-weight: 700; font-variant-numeric: tabular-nums; transition: background .15s, border-color .15s, transform .15s; }
.p-slot-voce:hover span { border-color: rgba(139, 92, 246, .7); } .p-slot-voce input:checked + span { background: linear-gradient(180deg, #F9BA45, #F5A524); border-color: transparent; color: #1b1305; transform: scale(1.03); } .p-slot-voce input:focus-visible + span { outline: 2px solid #fff; outline-offset: 2px; }
.p-tipi { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); }
.p-tipo { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .04); text-decoration: none; min-height: 64px; justify-content: center; } .p-tipo small { color: var(--p-testo-3); }
.p-tipo.attivo { border-color: var(--p-ambra); background: rgba(245, 165, 36, .12); }
.p-passo { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--p-viola); color: #fff; font-size: .82rem; font-weight: 800; flex: none; }
.p-passi { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; } .p-passi li { display: flex; gap: 12px; align-items: flex-start; }
.p-fasi { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; } .p-fasi li { display: flex; gap: 14px; align-items: flex-start; } .p-fasi li div { display: flex; flex-direction: column; } .p-fasi small { color: var(--p-testo-3); } .p-fase-n { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: rgba(245, 165, 36, .14); color: #FCD34D; font-weight: 800; flex: none; }
.p-barre { display: flex; align-items: flex-end; gap: 3px; height: 54px; } .p-barre i { flex: 1; height: var(--h, 30%); border-radius: 3px; background: rgba(255, 255, 255, .12); } .p-barre i.ok { background: var(--p-ok); } .p-barre i.ko { background: var(--p-rosso); } .p-barre i.att { background: var(--p-ambra); } .p-barre i.nd { height: 14%; opacity: .5; }

/* ---------- documenti ---------- */
.p-uso { margin-bottom: 1rem; display: grid; gap: 6px; } .p-uso small { color: var(--p-testo-3); } .p-uso-barra { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; } .p-uso-barra i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--p-viola), var(--p-ambra)); }
.p-carica { margin-top: 1rem; }
.p-zona-file { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 18px; border: 2px dashed var(--p-linea-forte); background: rgba(255, 255, 255, .03); cursor: pointer; transition: border-color .2s, background .2s; } .p-zona-file:hover, .p-zona-file.sopra { border-color: var(--p-viola); background: rgba(139, 92, 246, .08); }
.p-zona-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; font-size: 0; }
.p-zona-testo { display: flex; flex-direction: column; min-width: 0; } .p-zona-testo small { color: var(--p-testo-3); }
.p-nome-file { color: var(--p-testo-2); font-size: .9rem; word-break: break-all; }
.p-icona-btn { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; border: 1px solid var(--p-linea-forte); background: rgba(255, 255, 255, .04); color: var(--p-testo-2); cursor: pointer; text-decoration: none; } .p-icona-btn.pericolo { color: #FCA5A5; }
.p-azioni-icone { display: inline-flex; gap: 6px; flex: none; } .p-azioni-icone form { margin: 0; }
.p-riga.statica { flex-wrap: wrap; }
.p-domanda .p-risposta { margin-top: 1rem; padding: 14px 16px; border-radius: 16px; background: rgba(139, 92, 246, .1); border: 1px solid rgba(139, 92, 246, .35); display: grid; gap: 8px; }
.p-risposta ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 6px; color: var(--p-testo-2); font-size: .92rem; } .p-risposta mark { background: rgba(245, 165, 36, .3); color: inherit; border-radius: 3px; padding: 0 2px; }

/* ---------- assistenza ---------- */
.p-conversazione { display: grid; gap: 12px; }
.p-messaggio { max-width: min(46rem, 92%); padding: 12px 16px 14px; border-radius: 20px; display: grid; gap: 6px; border: 1px solid var(--p-linea); }
.p-messaggio header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; font-size: .78rem; color: var(--p-testo-3); } .p-messaggio header strong { color: var(--p-testo-2); }
.p-messaggio p { overflow-wrap: anywhere; line-height: 1.55; }
.p-messaggio.loro { background: rgba(255, 255, 255, .05); border-top-left-radius: 6px; justify-self: start; }
.p-messaggio.mio { background: linear-gradient(180deg, rgba(139, 92, 246, .3), rgba(139, 92, 246, .18)); border-color: rgba(139, 92, 246, .45); border-top-right-radius: 6px; justify-self: end; }
.p-allegati { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; } .p-allegati a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 10px; background: rgba(0, 0, 0, .25); text-decoration: none; font-size: .88rem; max-width: 100%; } .p-allegati a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .p-allegati small { color: var(--p-testo-3); }
.p-rispondi { margin-top: 4px; }
.p-allega { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 8px 14px; border-radius: 12px; border: 1px dashed var(--p-linea-forte); cursor: pointer; color: var(--p-testo-2); font-weight: 700; } .p-campo input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.p-campo:has(input[type=file]:focus-visible) .p-allega { outline: 2px solid var(--p-ambra); outline-offset: 2px; }
.p-allega:hover { border-color: var(--p-viola); color: var(--p-testo); }
.p-campo { position: relative; }
.p-nomi-file { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .85rem; color: var(--p-testo-2); }
.p-profilo-testa { flex-direction: row; align-items: center; gap: 16px; } .p-profilo-testa > div { min-width: 0; }
.p-contatto { border-radius: 16px; border: 1px solid var(--p-linea); background: rgba(255, 255, 255, .03); } .p-contatto > summary { display: flex; align-items: center; gap: 12px; padding: 10px 14px; min-height: 58px; list-style: none; } .p-contatto > summary::-webkit-details-marker { display: none; } .p-contatto .p-form { padding: 0 14px 16px; }
.p-contatto.nuovo { border: 0; background: none; margin-top: 12px; } .p-contatto.nuovo > summary { padding: 0; } .p-contatto.nuovo[open] .p-form { padding: 0; }
.p-cancella { margin-top: 12px; }
.p-pub { min-height: 100vh; display: flex; flex-direction: column; }
.p-pub-alto { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: max(14px, env(safe-area-inset-top)) 18px 10px; max-width: 1080px; width: 100%; margin: 0 auto; }
.p-pub-main { flex: 1; display: grid; align-content: start; justify-items: center; gap: 18px; padding: 18px 16px 32px; }
.p-pub-scatola { width: 100%; max-width: 30rem; padding: 26px 22px 28px; border-radius: 26px; border: 1px solid var(--p-linea-forte); background: linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)); box-shadow: var(--p-ombra); display: grid; gap: 14px; animation: p-entra .5s var(--p-curva) both; }
.p-pub-scatola h1 { font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; text-wrap: balance; }
.p-pub-nota { display: flex; align-items: center; gap: 8px; max-width: 30rem; color: var(--p-testo-3); font-size: .82rem; text-align: left; } .p-pub-nota .p-i { color: var(--p-ok); width: 1.05rem; height: 1.05rem; }
.p-pubblica .p-piede { padding-bottom: 22px; justify-content: center; }
@media (min-width: 720px) { .p-pub-main { align-content: center; padding-top: 4vh; } .p-pub-scatola { padding: 34px 34px 36px; } }

/* ---------- toast di conferma (JS) ---------- */
.p-toast { position: fixed; left: 50%; bottom: calc(var(--p-barra) + 18px + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 90; padding: 10px 18px; border-radius: 999px; background: #2a2238; border: 1px solid var(--p-linea-forte); box-shadow: var(--p-ombra); font-weight: 700; font-size: .9rem; animation: p-entra .25s var(--p-curva) both; }
@media (min-width: 1024px) { .p-toast { bottom: 28px; } }
dialog.p-dialogo { border: 1px solid var(--p-linea-forte); border-radius: 22px; background: #1d1729; color: var(--p-testo); padding: 22px; max-width: min(26rem, calc(100vw - 32px)); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .9); }
dialog.p-dialogo::backdrop { background: rgba(8, 6, 12, .7); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
dialog.p-dialogo p { margin-bottom: 18px; font-size: 1.02rem; } dialog.p-dialogo .p-azioni-riga { margin: 0; justify-content: flex-end; }

@media (max-width: 480px) {
  .p-tessere { grid-template-columns: 1fr; }
  .p-riga-dx strong { font-size: .95rem; }
  .p-carta { padding: 18px 16px; }
  .p-profilo-testa .p-avatar.grande { width: 56px; height: 56px; }
  .p-messaggio { max-width: 96%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  a.p-riga:hover, .p-azione a:hover { transform: none; }
}
@media print { body::before, .p-barra, .p-alto, .p-lato, .p-piede { display: none !important; } body { background: #fff; color: #000; } .p-carta { border-color: #ccc; box-shadow: none; background: #fff; } }
/* --- accettazione (09/10/2026): la spunta sulle condizioni generali e sull'accordo sul trattamento dei dati prima di accettare --- */
.p-spunta-cgv { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0; font-size: .92rem; cursor: pointer; }
.p-spunta-cgv input { width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: var(--p-viola); }
.p-spunta-cgv a { color: inherit; text-decoration: underline; }
/* --- fine accettazione --- */
