/* =========================================================
   HYPERVEX — sondaggio di fine allenamento (js/survey.js) e banner «Report dolore/fastidio» in chat
   Tutto sotto .sv (schermata e risposte) e .msg.report / .msg-auto-l (chat). Telefono: tasti ≥ 44 px, campi a 16 px.
   Animazioni spente con «riduci movimento».
   ========================================================= */
.sv{ padding-bottom:calc(150px + var(--safe-b)); }
.sv-time{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:6px 0 18px; }
.sv-tl{ font-size:18px; font-weight:600; color:var(--txt); letter-spacing:-.2px; }
.sv-tv{ margin-top:4px; font-size:34px; font-weight:900; letter-spacing:-.5px; color:var(--red); font-variant-numeric:tabular-nums; line-height:1.1; }
.sv-pen{ width:50px; height:50px; flex:none; border-radius:50%; display:grid; place-items:center; background:var(--red); color:#fff; box-shadow:var(--shadow-red); -webkit-tap-highlight-color:transparent; transition:transform .15s ease; }
.sv-pen svg{ width:22px; height:22px; }
.sv-pen:active{ transform:scale(.92); }

.sv-q{ padding:18px 0 16px; border-top:1px solid var(--line-soft); }
.sv-q:first-of-type{ border-top:0; }
.sv-qt{ font-size:19px; font-weight:600; line-height:1.3; color:var(--txt); margin-bottom:14px; }
.sv-ns{ display:flex; gap:10px; }
.sv-n{ width:52px; height:52px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:22px; font-weight:800; color:var(--txt-3); background:var(--surface-3);
  border:0; -webkit-tap-highlight-color:transparent; transition:background .2s ease, color .2s ease, transform .15s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease; }
.sv-n:active{ transform:scale(.9); }
.sv-n.on{ color:#fff; background:var(--red); box-shadow:0 4px 16px var(--red-glow, rgba(255,46,62,.35)); transform:scale(1.04); }
.sv-n.on.tg{ background:#22C55E; box-shadow:0 4px 16px rgba(34,197,94,.35); }
.sv-n.on.ty{ background:#EAB308; box-shadow:0 4px 16px rgba(234,179,8,.38); }
.sv-n.on.to{ background:#F97316; box-shadow:0 4px 16px rgba(249,115,22,.4); }
.sv-n.on.tr{ background:#EF4444; box-shadow:0 4px 18px rgba(239,68,68,.5); }
.sv-lab{ min-height:34px; margin-top:12px; font-size:24px; font-weight:900; letter-spacing:-.3px; color:var(--txt); animation:svIn .28s cubic-bezier(.2,.8,.2,1) both; }
.sv-lab.ty{ color:#EAB308; } .sv-lab.to{ color:#F97316; } .sv-lab.tr{ color:#EF4444; } .sv-lab.tg{ color:#22C55E; }
.sv-hint{ margin-top:2px; font-size:13.5px; font-weight:700; color:var(--txt-2); animation:svIn .28s ease both; }
.sv-ta{ width:100%; font-size:16px; }
@keyframes svIn{ from{ opacity:0; transform:translateY(5px); } to{ opacity:1; transform:none; } }
.sv-bar{ gap:12px; }
.sv-bar .btn{ flex:1; }
.sv-ts .input{ margin-top:8px; }

/* risposte nella seduta (cliente e coach) */
.sv-sum{ margin:0 0 14px; padding:14px 14px 4px; border-radius:var(--r, 18px); background:var(--surface); border:1px solid var(--line); }
.sv-sum.flat{ margin:10px 0 0; padding:0; background:none; border:0; }
.sv-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.sv-chip{ display:inline-flex; align-items:baseline; gap:7px; padding:7px 11px; border-radius:12px; background:var(--surface-2); border:1px solid var(--line); font-size:13px; line-height:1.2; }
.sv-chip i{ font-style:normal; font-weight:700; color:var(--txt-3); }
.sv-chip b{ font-weight:800; color:var(--txt); }
.sv-chip em{ font-style:normal; font-weight:800; color:var(--txt-3); font-size:11.5px; }
.sv-chip.tg{ border-color:rgba(34,197,94,.45); } .sv-chip.ty{ border-color:rgba(234,179,8,.6); background:rgba(234,179,8,.1); }
.sv-chip.to{ border-color:rgba(249,115,22,.65); background:rgba(249,115,22,.12); } .sv-chip.tr{ border-color:rgba(239,68,68,.75); background:rgba(239,68,68,.14); }
.sv-note{ display:flex; gap:10px; align-items:flex-start; margin:0 0 10px; padding:10px 12px; border-radius:12px; background:var(--surface-2); font-size:14px; font-weight:600; line-height:1.45; }
.sv-note svg{ width:16px; height:16px; flex:none; margin-top:2px; color:var(--txt-3); }
.sv-note span{ display:block; margin-bottom:2px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--txt-3); }
.sv-mini{ display:inline-flex; align-items:center; gap:5px; margin-left:8px; padding:2px 8px; border-radius:99px; font-size:11.5px; font-weight:800; background:var(--surface-2); color:var(--txt-2); white-space:nowrap; }
.sv-mini i{ width:8px; height:8px; border-radius:50%; background:currentColor; }
.sv-mini.ty{ color:#EAB308; } .sv-mini.to{ color:#F97316; } .sv-mini.tr{ color:#EF4444; }
.sv-mini.note svg{ width:12px; height:12px; }

/* chat: banner «Report dolore/fastidio» e etichetta dei messaggi automatici (solo il coach la vede) */
.msg.report{ padding:0; overflow:hidden; max-width:86%; background:var(--surface-2); border:1px solid var(--line); border-left:5px solid #F97316; }
.msg.report.l5{ border-left-color:#EF4444; background:rgba(239,68,68,.08); }
.msg.report.l4{ background:rgba(249,115,22,.08); }
.msg.report .rp-h{ display:flex; align-items:center; gap:9px; padding:11px 36px 4px 13px; font-size:14.5px; font-weight:900; letter-spacing:-.1px; color:var(--txt); }
.msg.report .rp-h svg{ width:18px; height:18px; flex:none; color:#F97316; }
.msg.report.l5 .rp-h svg{ color:#EF4444; }
.msg.report .rp-s{ padding:0 13px 0 40px; font-size:12px; font-weight:700; color:var(--txt-3); }
.msg.report .rp-n{ padding:8px 13px 4px 40px; font-size:15px; font-weight:600; line-height:1.45; color:var(--txt); white-space:pre-wrap; word-wrap:break-word; }
.msg.report .w{ padding:0 13px 10px 40px; margin-top:6px; }
.msg.report.me{ background:var(--surface-2); box-shadow:none; }
.msg-auto-l{ display:block; width:max-content; max-width:82%; margin:0 0 3px auto; font-size:11px; font-weight:700; letter-spacing:.01em; color:#3B82F6; opacity:.95; }
@media (prefers-reduced-motion:reduce){ .sv *{ animation:none !important; transition:none !important; } }
@media (max-width:360px){ .sv-n{ width:48px; height:48px; } .sv-ns{ gap:8px; } }
