/* =========================================================
   HYPERVEX — sezione «Questionari» della dashboard del COACH (computer) · js/questionari.js · prototipo approvato da Alex il 7/10/2026
   Pagine STATICHE: titolo e pulsanti non scompaiono mai scorrendo; scorre solo il contenuto dentro la sua cornice (liste, pannelli).
   Usa le variabili del tema della dashboard (--c-*): per le finestre (che stanno fuori dalla dashboard) le copia js/questionari.js.
   ========================================================= */
.cds-scroll:has(.qv){ overflow:hidden; display:flex; flex-direction:column; }
.qv{ flex:1; min-height:0; display:flex; flex-direction:column; width:100%; }
.qv .ic{ width:18px; height:18px; flex:none; }
.qv-head{ flex:none; padding:14px 28px 0; }
.qv-title{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.qv-title h1{ margin:0; font-size:26px; font-weight:800; letter-spacing:-.5px; display:flex; align-items:center; gap:10px; }
.qv-body{ flex:1; min-height:0; overflow:auto; padding:2px 28px 16px; }

/* ----- elementi comuni ----- */
.q-nb{ margin-left:auto; min-width:20px; height:20px; padding:0 6px; border-radius:99px; display:inline-grid; place-items:center; font-style:normal; font-size:11px; font-weight:800; color:#fff; background:var(--c-accent); }
.cds-navi.on .q-nb{ background:#fff; color:var(--c-accent); }
.qc-badge{ display:inline-flex; align-items:center; gap:5px; padding:3px 9px; border-radius:99px; font:800 11px var(--font); background:color-mix(in srgb, var(--c-accent) 18%, transparent); color:var(--c-accent); white-space:nowrap; }
.qc-badge.g{ background:rgba(34,197,94,.15); color:#4ade80; } .qc-badge.y{ background:rgba(245,158,11,.16); color:#fbbf24; } .qc-badge.n{ background:var(--c-border); color:var(--c-txt2); } .qc-badge.b{ background:rgba(59,130,246,.18); color:#7db3ff; }
.qc-badge .ic{ width:12px; height:12px; }
.qc-lead{ margin:4px 0 10px; max-width:1200px; color:var(--c-txt2); font-size:14px; line-height:1.5; } .qc-lead b{ color:var(--c-txt); }
.qc-sec{ margin:12px 0 4px; display:flex; align-items:center; gap:10px; font-size:13px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--c-txt2); }
.qc-sec::after{ content:''; flex:1; height:1px; background:var(--c-border); }
.qc-sub{ margin:0 0 8px; max-width:1200px; font-size:13.5px; line-height:1.45; color:var(--c-txt2); } .qc-sub b{ color:var(--c-txt); }
.qc-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(330px,1fr)); gap:14px; margin-bottom:8px; }
.qc-card{ border-radius:14px; background:var(--c-card); border:1px solid var(--c-border); padding:14px 16px; display:flex; flex-direction:column; gap:8px; transition:border-color .2s, transform .2s, box-shadow .2s; min-width:0; }
.qc-card:hover{ border-color:color-mix(in srgb, var(--c-accent) 55%, var(--c-border)); transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.25); }
.qc-card h3{ margin:0; font-size:17px; font-weight:800; letter-spacing:-.2px; overflow-wrap:anywhere; }
.qc-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.qc-meta{ font-size:13px; color:var(--c-txt2); }
.qc-aud{ font-size:12.5px; line-height:1.45; color:var(--c-txt3); }
.qc-grp{ display:flex; flex-direction:column; gap:3px; margin:18px 0 10px; }
.qc-grp b{ display:flex; align-items:center; gap:8px; font-size:14.5px; font-weight:800; color:var(--c-txt); } .qc-grp b .ic{ width:16px; height:16px; color:var(--c-accent); }
.qc-grp span{ font-size:13px; color:var(--c-txt2); max-width:880px; }
.qc-card .qc-line{ padding:9px 0; font-size:13px; }
.qc-autobar{ display:flex; align-items:center; gap:12px; margin:6px 0 4px; padding:12px 16px; border-radius:14px; background:color-mix(in srgb, var(--c-accent) 10%, var(--c-card)); border:1px solid color-mix(in srgb, var(--c-accent) 40%, var(--c-border)); }
.qc-autobar .ic{ width:20px; height:20px; flex:none; color:var(--c-accent); }
.qc-autobar > div{ flex:1; min-width:0; } .qc-autobar b{ display:block; font-size:14px; font-weight:800; }
.qc-autobar span{ display:block; margin-top:2px; font-size:13px; line-height:1.45; color:var(--c-txt2); }
.qc-autobar.paused{ background:var(--c-card); border-color:var(--c-border); } .qc-autobar.paused .ic{ color:var(--c-txt3); }
.qc-stats{ display:flex; gap:18px; padding:10px 0 0; border-top:1px solid var(--c-border); }
.qc-stats div{ font-size:12px; color:var(--c-txt3); font-weight:600; } .qc-stats b{ display:block; font-size:19px; color:var(--c-txt); font-weight:800; letter-spacing:-.4px; }
.qc-link{ display:flex; align-items:center; gap:8px; padding:7px 7px 7px 12px; border-radius:10px; background:var(--c-bg2); border:1px solid var(--c-border); font-size:12.5px; color:var(--c-txt2); font-weight:600; }
.qc-link span{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qc-link.off span{ opacity:.55; }
.qc-ib{ width:32px; height:32px; border-radius:8px; display:grid; place-items:center; color:var(--c-txt2); background:var(--c-card); border:1px solid var(--c-border) !important; flex:none; cursor:pointer; padding:0; }
.qc-ib:hover{ color:var(--c-txt); border-color:var(--c-accent) !important; } .qc-ib .ic{ width:16px; height:16px; } .qc-ib.danger:hover{ color:#f87171; border-color:#f87171 !important; }
.qc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; height:36px; padding:0 14px; border-radius:9px; font-size:13px; font-weight:700; background:var(--c-bg2); border:1px solid var(--c-border) !important; color:var(--c-txt); white-space:nowrap; cursor:pointer; text-decoration:none; }
.qc-btn:hover{ border-color:var(--c-accent) !important; } .qc-btn.p{ background:var(--c-accent); border-color:var(--c-accent) !important; color:#fff; } .qc-btn.sm{ height:30px; padding:0 11px; font-size:12.5px; } .qc-btn .ic{ width:15px; height:15px; }
.qc-btn.p:hover{ filter:brightness(1.1); } .qc-btn:disabled{ opacity:.5; cursor:default; }
.qc-tpl{ position:relative; overflow:hidden; }
.qc-tpl .band{ height:42px; margin:-16px -16px 0; background:linear-gradient(135deg, var(--g1), var(--g2)); position:relative; }
.qc-tpl .band::after{ content:''; position:absolute; left:16px; bottom:-14px; width:30px; height:30px; border-radius:50%; background:var(--ac); box-shadow:0 0 0 4px var(--c-card); }
.qc-tpl h3{ margin-top:12px; font-size:16px; }
.qc-sw{ position:relative; width:42px; height:24px; flex:none; border-radius:99px; background:var(--c-border); transition:.2s; cursor:pointer; padding:0; border:0; }
.qc-sw::after{ content:''; position:absolute; left:3px; top:3px; width:18px; height:18px; border-radius:50%; background:#fff; transition:.2s; }
.qc-sw.on{ background:var(--c-accent); } .qc-sw.on::after{ left:21px; } .qc-sw.lock{ opacity:.55; cursor:not-allowed; }
.qc-field{ display:flex; flex-direction:column; gap:6px; margin:0 0 14px; } .qc-field > label{ font-size:12px; font-weight:800; letter-spacing:.4px; color:var(--c-txt2); text-transform:uppercase; }
.qc-in{ width:100%; height:38px; padding:0 12px; border-radius:9px; background:var(--c-bg2); border:1px solid var(--c-border); color:var(--c-txt); font:600 13.5px var(--font); outline:none; box-sizing:border-box; }
.qc-in:focus{ border-color:var(--c-accent); } textarea.qc-in{ height:84px; padding:10px 12px; resize:vertical; line-height:1.4; } select.qc-in{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--c-txt3) 50%),linear-gradient(135deg,var(--c-txt3) 50%,transparent 50%); background-position:calc(100% - 17px) 16px, calc(100% - 12px) 16px; background-size:5px 5px; background-repeat:no-repeat; padding-right:30px; }
.qc-line{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid var(--c-border); font-size:13.5px; font-weight:600; }
.qc-line small{ display:block; margin-top:2px; font-size:12px; color:var(--c-txt3); font-weight:500; line-height:1.35; }
.qc-seg{ display:flex; padding:3px; border-radius:10px; background:var(--c-bg2); border:1px solid var(--c-border); } .qc-seg button{ flex:1; height:30px; border-radius:7px; font-size:12.5px; font-weight:700; color:var(--c-txt2); cursor:pointer; }
.qc-seg button.on{ background:var(--c-accent); color:#fff; }
.qc-range{ display:flex; align-items:center; gap:10px; } .qc-range input{ -webkit-appearance:none; appearance:none; flex:1; height:6px; border-radius:99px; outline:none; cursor:pointer; background:linear-gradient(90deg, var(--c-accent) var(--p,50%), var(--c-border) var(--p,50%)); } .qc-range input::-webkit-slider-thumb{ -webkit-appearance:none; appearance:none; width:18px; height:18px; border-radius:50%; background:#fff; border:3px solid var(--c-accent); box-shadow:0 2px 8px rgba(0,0,0,.45); } .qc-range input::-moz-range-thumb{ width:12px; height:12px; border-radius:50%; background:#fff; border:3px solid var(--c-accent); } .qc-range input::-moz-range-track{ height:6px; border-radius:99px; background:var(--c-border); } .qc-range input::-moz-range-progress{ height:6px; border-radius:99px; background:var(--c-accent); } .qc-range output{ width:34px; text-align:right; font-size:12.5px; font-weight:800; color:var(--c-txt2); }
.qc-tok{ min-height:20px; padding:9px 12px; border-radius:9px; background:var(--c-bg2); border:1px solid var(--c-border); color:var(--c-txt); font:600 13.5px/1.6 var(--font); outline:none; overflow-wrap:anywhere; }
.qc-tok:focus{ border-color:var(--c-accent); }
.qc-pv .tk{ color:var(--c-accent); font-weight:800; }
.qc-tok .tk{ display:inline-flex; align-items:center; padding:1px 9px; margin:0 1px; border-radius:99px; background:color-mix(in srgb, var(--c-accent) 22%, transparent); color:var(--c-accent); font:800 12px var(--font); user-select:all; white-space:nowrap; }
.qc-pv{ margin:8px 0 0; padding:9px 12px; border-radius:9px; background:var(--c-bg2); border:1px dashed var(--c-border); font-size:12.5px; color:var(--c-txt2); overflow-wrap:anywhere; } .qc-pv b{ color:var(--c-txt); font-size:13.5px; }
.qc-warn{ display:flex; gap:9px; margin:8px 0 0; padding:9px 12px; border-radius:9px; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.38); font-size:12.5px; line-height:1.4; color:#fbbf24; } .qc-warn .ic{ margin-top:1px; width:16px; height:16px; }
.qc-warn.soft{ background:var(--c-bg2); border-color:var(--c-border); color:var(--c-txt2); }
.qc-tokbtn{ margin-top:8px; }
.qc-back{ width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:var(--c-txt); background:var(--c-card); border:1px solid var(--c-border) !important; margin-right:6px; flex:none; cursor:pointer; padding:0; } .qc-back:hover{ border-color:var(--c-accent) !important; color:var(--c-accent); }
.qc-empty{ display:flex; gap:14px; align-items:center; padding:22px; border-radius:14px; background:var(--c-card); border:1px dashed var(--c-border); color:var(--c-txt2); font-size:13.5px; } .qc-empty b{ display:block; color:var(--c-txt); font-size:15px; margin-bottom:2px; } .qc-empty .ic{ width:28px; height:28px; color:var(--c-accent); flex:none; }
.q-notice{ display:flex; gap:10px; margin:6px 0 12px; padding:11px 14px; border-radius:11px; background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.38); color:#fbbf24; font-size:13px; line-height:1.4; } .q-notice .ic{ margin-top:1px; width:17px; height:17px; }

/* ----- costruttore ----- */
.qb{ flex:1; min-height:0; display:grid; grid-template-columns:304px minmax(0,1fr) 372px; grid-template-rows:auto auto minmax(0,1fr); width:100%; }
.qb-bar0{ grid-column:1/-1; grid-row:1; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 22px; border-bottom:1px solid var(--c-border); background:var(--c-bg); flex-wrap:wrap; }
.qb-bar0 .qc-row{ gap:10px; } .qb-name{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--c-txt2); min-width:0; } .qb-name b{ color:var(--c-txt); font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:46vw; }
.qb-ban{ grid-column:1/-1; grid-row:2; display:flex; align-items:center; gap:12px; padding:11px 22px; background:color-mix(in srgb, var(--c-accent) 14%, var(--c-bg)); border-bottom:1px solid color-mix(in srgb, var(--c-accent) 35%, var(--c-border)); font-size:13.5px; line-height:1.4; color:var(--c-txt); }
.qb-ban .ic{ color:var(--c-accent); } .qb-ban span{ flex:1; } .qb-ban b{ font-weight:800; }
.qb-l,.qb-c,.qb-r{ grid-row:3; }
.qb-l,.qb-r{ overflow:auto; background:var(--c-bg); padding:14px; min-height:0; } .qb-l{ border-right:1px solid var(--c-border); } .qb-r{ border-left:1px solid var(--c-border); padding:0; }
.qb-c{ overflow:auto; min-height:0; background:radial-gradient(60% 50% at 50% 30%, color-mix(in srgb, var(--c-accent) 9%, transparent), transparent 70%), var(--c-bg2); display:flex; flex-direction:column; align-items:center; padding:14px 10px 24px; }
.qb-h{ margin:6px 4px 10px; font-size:11.5px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; color:var(--c-txt3); }
.qb-i{ display:flex; align-items:center; gap:10px; padding:10px 10px; margin:0 0 6px; border-radius:11px; border:1px solid var(--c-border); background:var(--c-card); font-size:13px; font-weight:700; cursor:pointer; transition:.15s; position:relative; text-align:left; width:100%; box-sizing:border-box; color:var(--c-txt); }
.qb-i:hover{ border-color:color-mix(in srgb, var(--c-accent) 50%, var(--c-border)); } .qb-i.on{ border-color:var(--c-accent); background:color-mix(in srgb, var(--c-accent) 12%, var(--c-card)); }
.qb-i .n{ width:24px; height:24px; flex:none; border-radius:7px; display:grid; place-items:center; font-size:11.5px; font-weight:800; background:var(--c-bg2); color:var(--c-txt2); } .qb-i.on .n{ background:var(--c-accent); color:#fff; }
.qb-i .t{ flex:1; min-width:0; } .qb-i .t span{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .qb-i .t small{ display:block; margin-top:1px; font-size:11px; font-weight:600; color:var(--c-txt3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qb-i .ic{ width:15px; height:15px; color:var(--c-txt3); } .qb-i.fixed{ background:var(--c-bg2); } .qb-i.drag{ opacity:.4; } .qb-i.over{ box-shadow:0 -3px 0 var(--c-accent); }
.qb-i .grip{ cursor:grab; color:var(--c-txt3); } .qb-i .act{ display:none; gap:4px; } .qb-i:hover .act{ display:flex; } .qb-i .act .qc-ib{ width:26px; height:26px; }
.qb-add{ width:100%; height:42px; border-radius:11px; border:1.5px dashed color-mix(in srgb, var(--c-accent) 55%, var(--c-border)); color:var(--c-accent); font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; gap:8px; margin:6px 0 10px; cursor:pointer; background:none; }
.qb-add:hover{ background:color-mix(in srgb, var(--c-accent) 10%, transparent); }
.qb-types{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 0 12px; padding:8px; border-radius:12px; background:var(--c-bg2); border:1px solid var(--c-border); }
.qb-types button{ display:flex; align-items:center; gap:8px; height:38px; padding:0 10px; border-radius:9px; background:var(--c-card); border:1px solid var(--c-border) !important; font-size:12.5px; font-weight:700; text-align:left; color:var(--c-txt); cursor:pointer; }
.qb-types button:hover{ border-color:var(--c-accent) !important; } .qb-types .ic{ width:15px; height:15px; color:var(--c-accent); }
.qb-tabs{ display:flex; border-bottom:1px solid var(--c-border); position:sticky; top:0; background:var(--c-bg); z-index:3; }
.qb-tabs button{ flex:1; height:46px; font-size:12.5px; font-weight:800; color:var(--c-txt3); border-bottom:2px solid transparent; cursor:pointer; padding:0 4px; } .qb-tabs button.on{ color:var(--c-txt); border-bottom-color:var(--c-accent); }
.qb-p{ padding:16px; }
.qb-themes{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:0 0 16px; }
.qb-th{ height:62px; border-radius:11px; border:2px solid transparent !important; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:6px; font-size:10.5px; font-weight:800; cursor:pointer; }
.qb-th::before{ content:''; position:absolute; right:7px; top:7px; width:14px; height:14px; border-radius:50%; background:var(--ac); box-shadow:0 0 0 2px rgba(0,0,0,.35); } .qb-th.on{ border-color:var(--c-accent) !important; }
.qb-sw{ display:flex; gap:8px; flex-wrap:wrap; } .qb-sw button{ width:28px; height:28px; border-radius:50%; border:2px solid transparent !important; box-shadow:0 0 0 1px var(--c-border); cursor:pointer; } .qb-sw button.on{ border-color:var(--c-txt) !important; transform:scale(1.12); }
.qb-opt{ display:flex; gap:8px; margin:0 0 7px; } .qb-opt .qc-in{ flex:1; } .qb-opt .qc-ib{ height:38px; width:38px; }
.qb-note{ display:flex; gap:10px; padding:12px; border-radius:11px; background:color-mix(in srgb, var(--c-accent) 11%, transparent); border:1px solid color-mix(in srgb, var(--c-accent) 30%, transparent); font-size:12.5px; line-height:1.45; color:var(--c-txt2); margin:0 0 16px; }
.qb-note .ic{ color:var(--c-accent); margin-top:1px; flex:none; width:16px; height:16px; } .qb-note b{ color:var(--c-txt); }
.qb-grp{ margin:18px 0 8px; font-size:12px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--c-txt3); display:flex; align-items:center; gap:8px; } .qb-grp::after{ content:''; flex:1; height:1px; background:var(--c-border); }
.qb-code{ font:600 12px ui-monospace,Menlo,Consolas,monospace; line-height:1.5; height:110px !important; } .qb-res{ margin:8px 0 0; font-size:12px; color:var(--c-txt2); line-height:1.4; } .qb-res b{ color:#4ade80; }
.qb-bar{ display:flex; align-items:center; gap:8px; margin:10px 0 0; font-size:12px; color:var(--c-txt3); font-weight:600; }
.qb-kind{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; } .qb-kind button{ padding:9px 6px; border-radius:10px; border:1.5px solid var(--c-border) !important; background:var(--c-bg2); font-size:12.5px; font-weight:800; color:var(--c-txt2); display:flex; flex-direction:column; align-items:center; gap:5px; cursor:pointer; } .qb-kind button.on{ border-color:var(--c-accent) !important; background:color-mix(in srgb, var(--c-accent) 14%, var(--c-bg2)); color:var(--c-txt); } .qb-kind .ic{ width:19px; height:19px; }
.qb-kh{ margin:8px 2px 16px; font-size:12.5px; line-height:1.45; color:var(--c-txt3); }
.qb-pill{ display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:99px; font:800 12px var(--font); }
.qb-pill.ok{ background:rgba(34,197,94,.14); color:#4ade80; } .qb-pill.dirty{ background:rgba(245,158,11,.16); color:#fbbf24; } .qb-pill .ic{ width:13px; height:13px; }

/* cornice del telefono dell'anteprima */
.phone{ position:relative; width:390px; height:844px; flex:none; border-radius:50px; background:#050507; padding:11px; box-shadow:0 0 0 2px #2b2b33, 0 0 0 5px #0b0b0e, 0 50px 90px -24px rgba(0,0,0,.75); }
.phone-screen{ position:relative; width:100%; height:100%; border-radius:40px; overflow:hidden; background:#000; isolation:isolate; }
.phone-notch{ position:absolute; top:10px; left:50%; width:118px; height:32px; margin-left:-59px; border-radius:20px; background:#000; z-index:30; pointer-events:none; }
.phone.sm{ transform:scale(.74); transform-origin:top center; margin-bottom:-220px; }
/* finta Home dell'app (card dei check-in e dei feedback) */
.apphome{ position:absolute; inset:0; background:#08080A; color:#fff; font-family:'Figtree',sans-serif; padding:62px 18px 18px; display:flex; flex-direction:column; gap:12px; overflow:hidden; }
.ah-top{ display:flex; align-items:center; justify-content:space-between; } .ah-top b{ font-size:26px; font-weight:900; letter-spacing:-.5px; } .ah-top span{ color:#a6a6b4; font-size:13px; font-weight:600; } .ah-av{ width:42px; height:42px; border-radius:50%; background:#17171C; display:grid; place-items:center; font-weight:800; }
.ah-push{ padding:13px 14px; border-radius:20px; background:rgba(40,40,46,.92); display:flex; gap:12px; align-items:center; margin-bottom:4px; } .ah-push i{ width:38px; height:38px; flex:none; border-radius:10px; background:#E50914; display:grid; place-items:center; font:italic 900 20px 'Figtree'; } .ah-push b{ display:block; font-size:13.5px; } .ah-push span{ font-size:12.5px; color:#c9c9d2; }
.ah-card{ border-radius:20px; padding:16px; background:#131317; border:1px solid #232329; } .ah-card.hot{ background:linear-gradient(135deg,#2a0b0e,#15080a); border-color:#5a1218; position:relative; overflow:hidden; }
.ah-card h4{ margin:0 0 4px; font-size:17px; font-weight:800; } .ah-card p{ margin:0 0 12px; color:#b6b6c0; font-size:13.5px; } .ah-btn{ height:46px; padding:0 18px; border-radius:99px; border:0; background:#E50914; color:#fff; font:800 15px 'Figtree'; }
.ah-chip{ display:inline-block; padding:4px 10px; border-radius:99px; background:rgba(229,9,20,.18); color:#ff6b73; font:800 11px 'Figtree'; margin-bottom:10px; }

/* ----- compilati ----- */
.qi{ display:flex; gap:16px; align-items:flex-start; height:100%; min-height:0; }
.qi-list{ flex:1; min-width:0; max-height:100%; overflow:auto; border-radius:14px; border:1px solid var(--c-border); background:var(--c-card); }
.qi-tbl{ width:100%; border-collapse:collapse; } .qi-tbl th{ text-align:left; padding:10px 14px; font-size:11px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; color:var(--c-txt3); border-bottom:1px solid var(--c-border); background:var(--c-bg2); position:sticky; top:0; z-index:2; }
.qi-tbl td{ padding:11px 14px; border-bottom:1px solid var(--c-border); font-size:13px; vertical-align:middle; } .qi-tbl tr:last-child td{ border-bottom:0; }
.qi-tbl tbody tr{ cursor:pointer; transition:background .12s; } .qi-tbl tbody tr:hover{ background:color-mix(in srgb, var(--c-accent) 6%, transparent); } .qi-tbl tbody tr.on{ background:color-mix(in srgb, var(--c-accent) 12%, transparent); }
.qi-who{ display:flex; align-items:center; gap:11px; min-width:0; } .qi-who b{ display:block; font-size:13.5px; } .qi-who span{ font-size:12px; color:var(--c-txt3); font-weight:500; overflow-wrap:anywhere; }
.qi-dot{ width:8px; height:8px; border-radius:50%; background:#3b82f6; flex:none; box-shadow:0 0 10px #3b82f6; }
.qi-av{ width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--c-accent); color:#fff; font-size:12px; font-weight:800; flex:none; }
.qi-av.lg{ width:44px; height:44px; font-size:14px; }
.qi-det{ width:430px; flex:none; max-height:100%; overflow:auto; border-radius:14px; border:1px solid var(--c-border); background:var(--c-card); padding:20px; animation:qiin .3s cubic-bezier(.2,.8,.2,1); }
@keyframes qiin{ from{ opacity:0; transform:translateX(14px); } to{ opacity:1; transform:none; } }
.qi-tl{ margin:16px 0 4px; padding:0; list-style:none; position:relative; } .qi-tl li{ position:relative; padding:0 0 14px 28px; font-size:13px; font-weight:700; } .qi-tl li small{ display:block; font-weight:500; color:var(--c-txt3); font-size:12px; margin-top:1px; }
.qi-tl li::before{ content:''; position:absolute; left:6px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--c-accent); box-shadow:0 0 0 4px color-mix(in srgb, var(--c-accent) 22%, transparent); }
.qi-tl li::after{ content:''; position:absolute; left:10px; top:16px; bottom:-2px; width:2px; background:var(--c-border); } .qi-tl li:last-child::after{ display:none; }
.qi-tl li.todo{ color:var(--c-txt3); } .qi-tl li.todo::before{ background:var(--c-border); box-shadow:none; }
.qi-a{ padding:12px 0; border-top:1px solid var(--c-border); } .qi-a small{ display:block; font-size:11.5px; font-weight:800; letter-spacing:.4px; text-transform:uppercase; color:var(--c-txt3); margin-bottom:4px; } .qi-a div{ font-size:14px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; white-space:pre-wrap; }
.qi-ph{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:6px; } .qi-ph a, .qi-ph i{ display:block; aspect-ratio:3/4; border-radius:10px; background:linear-gradient(160deg, color-mix(in srgb, var(--c-accent) 35%, #26262c), #101014); position:relative; overflow:hidden; }
.qi-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.qi-acts{ display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 0; }
.qi-link{ margin-top:12px; padding:12px; border-radius:11px; background:var(--c-bg2); border:1px solid var(--c-border); }
.qi-link .qc-in{ margin-top:8px; }

/* ----- finestre (fuori dalla dashboard: le variabili --c-* le copia il codice) ----- */
.qm{ position:fixed; inset:0; z-index:700; background:rgba(0,0,0,.66); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); display:grid; place-items:center; animation:qiin .25s both; padding:16px; }
.qm-in{ width:min(880px, 94vw); max-height:88vh; overflow:auto; border-radius:18px; background:var(--c-bg); border:1px solid var(--c-border); padding:26px; display:grid; grid-template-columns:1fr 250px; gap:26px; color:var(--c-txt); position:relative; font-family:var(--font); }
.qm-in.one{ grid-template-columns:1fr; width:min(820px, 94vw); }
.qm-in.sm{ grid-template-columns:1fr; width:min(460px, 94vw); gap:0; }
.qm-in h2{ margin:0 0 4px; font-size:21px; letter-spacing:-.3px; } .qm-x{ position:absolute; right:18px; top:16px; }
.qm-qr{ width:100%; aspect-ratio:1; border-radius:14px; background:#fff; padding:10px; box-sizing:border-box; } .qm-qr svg{ width:100%; height:100%; display:block; }
.qm-st canvas{ width:100%; border-radius:16px; box-shadow:0 26px 50px -20px #000; }
.qm-kinds{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:16px 0 4px; }
.qm-kind{ text-align:left; padding:18px; border-radius:16px; background:var(--c-card); border:1.5px solid var(--c-border) !important; display:flex; flex-direction:column; gap:8px; transition:.18s; cursor:pointer; color:var(--c-txt); } .qm-kind:hover{ border-color:var(--c-accent) !important; transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,0,0,.3); }
.qm-kind .ib{ width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:color-mix(in srgb, var(--c-accent) 18%, transparent); color:var(--c-accent); } .qm-kind .ib .ic{ width:22px; height:22px; }
.qm-kind b{ font-size:16px; } .qm-kind span{ font-size:13px; color:var(--c-txt2); line-height:1.45; } .qm-kind em{ font-style:normal; font-size:12px; font-weight:800; color:var(--c-accent); margin-top:auto; padding-top:6px; }
.qm-acts{ display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap; margin-top:20px; }

@media (max-width:1500px){ .qb{ grid-template-columns:272px minmax(0,1fr) 340px; } .qi-det{ width:380px; } }
@media (max-width:1280px){ .qm-kinds{ grid-template-columns:1fr; } }

/* ----- check-in dei clienti (mig. 086) ----- */
.qc-badge.r{ background:rgba(239,68,68,.15); color:#f87171; }
button.qc-badge{ border:0; cursor:pointer; font-family:inherit; } button.qc-badge:hover{ filter:brightness(1.15); }
.qc-secn{ text-transform:none; letter-spacing:0; font-weight:700; color:var(--c-txt3); }
.qi-flat{ flex:none; max-height:none; overflow:visible; margin-bottom:6px; }
.qi-flat .qi-tbl tbody tr{ cursor:default; } .qi-flat .qi-tbl tbody tr:hover{ background:none; }
.qi-flat .qi-tbl td:nth-child(2) b{ font-weight:700; }

/* scheda del cliente → Foto check: impostazioni del check-in */
.qcc{ display:flex; flex-direction:column; gap:14px; margin:0 0 18px; }
.qcc .qc-card:hover{ transform:none; box-shadow:none; border-color:var(--c-border); }
.qcc-set{ display:grid; grid-template-columns:repeat(auto-fit, minmax(230px, 1fr)); gap:2px 18px; padding-top:4px; }
.qcc-set .qc-field{ margin:0 0 8px; min-width:0; }
.qcc-time{ display:flex; gap:8px; } .qcc-time .qc-in{ min-width:0; flex:1; }
.qcc input[type="time"]{ color-scheme:dark; } html[data-theme="light"] .qcc input[type="time"]{ color-scheme:light; }
.qcc-kpi{ display:flex; gap:26px; flex-wrap:wrap; padding:2px 0 4px; }
.qcc-kpi small{ display:block; font-size:11.5px; font-weight:700; color:var(--c-txt3); } .qcc-kpi b{ display:block; margin-top:1px; font-size:20px; font-weight:800; letter-spacing:-.3px; color:var(--c-txt); }
.qcc-hist-t{ margin-top:6px; font-size:11.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--c-txt3); }

/* finestra «Manda a…» */
.qs-bulk{ display:flex; align-items:center; gap:8px; margin:10px 0 8px; flex-wrap:wrap; } .qs-bulk .qc-meta{ margin-left:auto; }
.qs-list{ max-height:300px; overflow:auto; border:1px solid var(--c-border); border-radius:12px; background:var(--c-bg2); }
.qs-row{ display:flex; align-items:center; gap:11px; width:100%; padding:9px 12px; text-align:left; color:var(--c-txt); cursor:pointer; border-bottom:1px solid var(--c-border); background:none; }
.qs-row:last-child{ border-bottom:0; } .qs-row:hover{ background:color-mix(in srgb, var(--c-accent) 8%, transparent); } .qs-row[hidden]{ display:none; }
.qs-row b{ font-size:13.5px; font-weight:700; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.qs-chk{ width:20px; height:20px; border-radius:6px; border:2px solid var(--c-border); display:grid; place-items:center; flex:none; color:transparent; transition:.15s; }
.qs-chk .ic{ width:13px; height:13px; }
.qs-row.on .qs-chk{ background:var(--c-accent); border-color:var(--c-accent); color:#fff; }

/* pannello Founder → Questionari (i modelli Hypervex): usa i colori dell'app, non quelli della dashboard del coach */
.qf-bar{ margin:0 0 12px; display:flex; gap:8px; }
.qf-list{ display:flex; flex-direction:column; gap:8px; }
.qf-row{ display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; background:var(--surface); border:1px solid var(--line); flex-wrap:wrap; }
.qf-row.off{ opacity:.62; }
.qf-ic{ width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--red-soft,rgba(229,9,20,.12)); color:var(--red); flex:none; }
.qf-ic .ic{ width:20px; height:20px; }
.qf-tx{ flex:1; min-width:200px; } .qf-tx b{ display:block; font-size:15.5px; font-weight:800; } .qf-tx span{ display:block; margin-top:2px; font-size:12.5px; color:var(--txt-3); overflow-wrap:anywhere; }
.qf-ord{ display:flex; flex-direction:column; gap:3px; font-size:10.5px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; color:var(--txt-3); }
.qf-ord input{ width:72px; height:38px; padding:0 8px; border-radius:10px; border:1px solid var(--line); background:var(--bg-2); color:var(--txt); font:800 14px/1 inherit; text-align:center; }
.qf-sw{ display:inline-flex; align-items:center; gap:8px; height:38px; padding:0 14px 0 9px; border-radius:99px; border:1px solid var(--line); background:var(--bg-2); color:var(--txt-2); font-weight:800; font-size:12.5px; cursor:pointer; }
.qf-sw i{ width:30px; height:18px; border-radius:99px; background:var(--surface-3); position:relative; transition:.2s; flex:none; }
.qf-sw i::after{ content:''; position:absolute; left:2px; top:2px; width:14px; height:14px; border-radius:50%; background:#fff; transition:.2s; }
.qf-sw.on{ color:var(--txt); } .qf-sw.on i{ background:var(--ok,#2fd07a); } .qf-sw.on i::after{ left:14px; }
.qf-ovl{ z-index:60; }
