:root{
  --navy:#192644;
  --blue:#006eb7;
  --lblue:#00a6e2;
  --cerulean:#ff7d24;
  --cerulean-d:#E04E01;
  --white:#ffffff;
  --bg:#f0f4f8;
  --border:#c8d4e0;
  --text:#192644;
  --gray:#5a6a7e;
  --light:#e8f2fa;
  --green:#1a8c5b;
  --red:#c0392b;
  --cerulean: #00a6e2;
  --congress-blue: #074892;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px}

/* ── HEADER ── */
.header{background:var(--navy);padding:0 40px;display:flex;align-items:stretch;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 3px 12px rgba(0,0,0,.3)}
.logo-wrap{display:flex;align-items:center;gap:16px;padding:14px 0}
.logo-svg{height:36px;width:auto}
.logo-divider{width:1px;height:30px;background:rgba(255,255,255,.25)}
.logo-label{display:flex;flex-direction:column;justify-content:center}
.logo-label .l1{font-size:10px;font-weight:700;color:#00a6e2;text-transform:uppercase;letter-spacing:2px}
.logo-label .l2{font-size:9px;font-weight:500;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:1.5px}
.header-right{display:flex;align-items:center;gap:0}
/* side tab "Istruzioni" */
.side-tab-wrap{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:150}
.side-tab{display:block;background:var(--cerulean);color:#fff;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:22px 12px;writing-mode:vertical-rl;transform:rotate(180deg);box-shadow:-3px 0 14px rgba(0,0,0,.25);transition:background .2s,padding .2s}
.side-tab:hover{background:var(--cerulean-d);padding-top:28px;padding-bottom:28px}

/* ── DRAWER ── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}
.overlay.open{opacity:1;pointer-events:all}
.drawer{position:fixed;right:-500px;top:0;width:460px;height:100vh;background:#fff;z-index:201;overflow-y:auto;transition:right .3s;box-shadow:-6px 0 30px rgba(0,0,0,.2)}
.drawer.open{right:0}
.drawer-head{background:var(--navy);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0}
.drawer-head h2{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.btn-x{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1;padding:0 4px;font-weight:300}
.drawer-body{padding:28px}
.drawer-body p{font-size:13px;line-height:1.8;margin-bottom:14px;color:#374151}
.drawer-body strong{color:var(--navy)}
.itbl{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}
.itbl th{background:var(--navy);color:#fff;padding:9px 14px;font-size:11px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.5px}
.itbl td{padding:9px 14px;border-bottom:1px solid var(--border)}
.itbl tr:nth-child(even) td{background:#f8fafc}
.drawer-alert{background:var(--light);border-left:4px solid var(--blue);padding:12px 16px;font-size:12px;color:var(--navy);font-weight:600;margin-top:16px}

/* ── PROGRESS ── */
.prog-bar-wrap{background:var(--navy);padding:10px 40px 12px;border-bottom:1px solid rgba(255,255,255,.1)}
.prog-labels{display:flex;justify-content:space-between;font-size:11px;font-weight:600;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}
.prog-track{height:4px;background:rgba(255,255,255,.15)}
.prog-fill{height:100%;background:var(--cerulean);transition:width .4s}
.step-dots{display:flex;justify-content:center;gap:5px;margin-top:11px;flex-wrap:wrap}
.dot{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:rgba(255,255,255,.45);cursor:pointer;transition:.2s;border:1px solid rgba(255,255,255,.15);font-family:'Montserrat',sans-serif}
.dot.done{background:var(--congress-blue);color:#fff;border-color:var(--white)}
.dot.active{background:var(--cerulean);color:#fff;border-color:var(--cerulean)}

/* ── MAIN ── */
.main{max-width:900px;margin:30px auto;padding:0 24px}
.step{display:none}
.step.active{display:block}
.s-head{background:linear-gradient(135deg,var(--navy) 0%,#074892 100%);color:#fff;padding:24px 32px;border-top:4px solid var(--cerulean)}
.s-num{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--cerulean);margin-bottom:5px}
.s-title{font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.s-desc{font-size:12px;color:rgba(255,255,255,.65);margin-top:8px;font-style:italic;line-height:1.6;font-weight:400}
.s-body{background:#fff;padding:32px;border:1px solid var(--border);border-top:none}

/* ── PROFILE FORM ── */
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fgrid.full{grid-template-columns:1fr}
.fg{display:flex;flex-direction:column;gap:6px}
.fg label{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.8px}
.fg.req label::after{content:" *";color:var(--red)}
.fg input,.fg select,.fg textarea{padding:10px 14px;border:1.5px solid var(--border);font-size:13px;font-family:'Montserrat',sans-serif;outline:none;transition:.2s;color:var(--text);background:#fff}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.fg textarea{resize:vertical;min-height:80px}

/* ── QUESTION TABLE ── */
.qtbl{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:13px}
.qtbl thead tr{background:var(--navy)}
.qtbl thead th{color:#fff;padding:11px 8px;font-size:10px;font-weight:700;text-align:center;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.qtbl thead th:nth-child(2){text-align:left;min-width:320px}
.qtbl thead th:first-child{width:42px}
.qtbl tbody tr:nth-child(even){background:#f7f9fc}
.qtbl tbody tr:hover{background:var(--light)}
.qtbl td{padding:13px 8px;border-bottom:1px solid var(--border);vertical-align:middle;line-height:1.5}
.qtbl td:first-child{text-align:center;font-weight:800;color:var(--cerulean);font-size:13px}
.qtbl td.rc{text-align:center}
.radio-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:3px}
.radio-wrap input{width:17px;height:17px;cursor:pointer;accent-color:var(--blue)}
.radio-wrap span{font-size:9px;color:var(--gray);font-weight:600}

/* ── QUALITATIVE ── */
.qual-box{background:#f7f9fc;border:1px solid var(--border);border-left:4px solid var(--cerulean);padding:22px;margin-top:20px}
.qual-box h4{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--navy);margin-bottom:16px}
.qual-item{margin-bottom:16px}
.qual-item label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:6px}
.qual-item label .req-star{color:var(--red)}
.qual-item textarea{width:100%;padding:10px 14px;border:1.5px solid var(--border);font-size:13px;font-family:'Montserrat',sans-serif;resize:vertical;min-height:70px;outline:none;transition:.2s}
.qual-item textarea:focus{border-color:var(--blue)}
.qual-item textarea.invalid{border-color:var(--red);background:#fff5f5}

/* ── NAV ── */
.nav-btns{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  margin-top:20px;
  /* padding-top:20px;
  border-top:1px solid var(--border)  */
}
.btn{padding:12px 28px;border:none;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.8px}
.btn-prev{background:#fff;color:var(--blue);border:2px solid var(--blue)}
.btn-prev:hover{background:var(--congress-blue); color: var(--white);}
.btn-next{background:var(--congress-blue);color:#fff}
.btn-next:hover{background:var(--cerulean); color: var(--white);}
.btn-go{background:var(--congress-blue);color:#fff}
.btn-go:hover{background:var(--cerulean); color: var(--white);}
.btn-draft{background:#fff;color:#5a6a7e;border:2px solid #c8d4e0}
.btn-draft:hover{background:#f0f4f8;border-color:#a0b0c0}
.btn-draft:disabled{opacity:.6;cursor:not-allowed}
.dma-draft-feedback{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;padding:4px 12px;border-radius:10px;letter-spacing:.3px}
.dma-draft-ok{background:#d1fae5;color:#065f46}
.dma-draft-error{background:#fee2e2;color:#991b1b}
.val-msg{color:var(--red);font-size:12px;font-weight:600;padding:10px 14px;background:#fff0f0;border:1px solid #ffd0d0;border-left:4px solid var(--red);margin-top:12px;display:none}

/* ── MODAL ── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center}
.modal-bg.open{display:flex}
.modal{background:#fff;padding:36px;max-width:440px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.modal p{font-size:13px;color:var(--gray);margin-bottom:24px;line-height:1.7;font-weight:400}
.modal-btns{display:flex;gap:12px;justify-content:center}

/* ── RESULTS ── */
.results{display:none;max-width:900px;margin:30px auto;padding:0 24px}
.results.show{display:block}
.r-head{background:linear-gradient(135deg,var(--navy) 0%,#074892 100%);color:#fff;padding:40px;text-align:center;margin-bottom:0;border-top:5px solid var(--cerulean)}
.r-head h1{font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.r-head p{font-size:12px;color:rgba(255,255,255,.6);font-weight:400;text-transform:uppercase;letter-spacing:1px}
.r-card{background:#fff;padding:32px;border:1px solid var(--border);margin-bottom:0;border-top:none}
.r-card+.r-card{border-top:none}
.r-card-sep{height:20px;background:var(--bg)}
.r-card h2{font-size:14px;font-weight:800;color:var(--navy);text-align:center;margin-bottom:24px;text-transform:uppercase;letter-spacing:1px}
.r-card h2::after{content:'';display:block;width:40px;height:3px;background:var(--cerulean);margin:8px auto 0}
.gauge-wrap{position:relative;width:180px;height:100px;margin:0 auto 6px}
.gauge-num{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:36px;font-weight:900;color:var(--blue);text-align:center;white-space:nowrap;font-family:'Montserrat',sans-serif}
.gauge-lbl{text-align:center;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin-bottom:16px}
.radar-wrap{max-width:500px;margin:0 auto}
.dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:0}
.dim-card{background:#fff;padding:24px;border:1px solid var(--border);border-top:none;border-left:none}
.dim-card:nth-child(odd){border-left:1px solid var(--border)}
.dim-card h3{font-size:11px;font-weight:800;color:var(--navy);margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px;line-height:1.5}
.dim-gauge{position:relative;width:130px;height:72px;margin:0 auto 4px}
.dim-num{text-align:center;font-size:22px;font-weight:900;color:var(--blue);font-family:'Montserrat',sans-serif}
.dim-lbl{text-align:center;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}
.dim-desc{font-size:12px;color:#374151;line-height:1.7;font-weight:400}
.bench-wrap{max-width:640px;margin:0 auto}
.export-bar{display:flex;gap:0;justify-content:center;margin-bottom:24px;flex-wrap:wrap}
.export-bar .btn{margin:0}
.btn-pdf{background:#c0392b;color:#fff}
.btn-pdf:hover{background:#922b21}
.btn-word{background:var(--blue);color:#fff}
.btn-word:hover{background:var(--navy)}
.btn-restart{background:var(--navy);color:#fff}
.btn-restart:hover{background:#000}
.resp-section{margin-bottom:0}
.resp-section h3{font-size:11px;font-weight:800;background:var(--navy);color:#fff;padding:10px 16px;text-transform:uppercase;letter-spacing:.8px}
.resp-row{display:flex;padding:9px 16px;border-bottom:1px solid var(--border);font-size:12px;gap:8px}
.resp-row:last-child{border-bottom:none}
.resp-q{flex:1;color:#374151;line-height:1.5}
.resp-a{font-weight:800;color:var(--blue);min-width:40px;text-align:right;font-size:13px}

/* Score colors */
.lv1{color:#c0392b}.lv2{color:#e67e22}.lv3{color:#2980b9}.lv4{color:#8e44ad}.lv5{color:#1a8c5b}

/* ── SELF ASSESSMENT ── */
.qual-self{display:flex;align-items:center;gap:14px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);flex-wrap:wrap}
.qs-label{font-size:11px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.qs-opts{display:flex;gap:4px}
.qs-opt{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:7px 10px;border:1.5px solid var(--border);background:#fff;transition:.2s;min-width:52px;user-select:none}
.qs-opt:hover{border-color:var(--blue);background:var(--light)}
.qs-opt.sel{border-color:var(--blue);background:var(--blue);color:#fff}
.qs-opt.sel small{color:rgba(255,255,255,.75)}
.qs-opt input[type=radio]{display:none}
.qs-opt .sv{font-size:15px;font-weight:900;line-height:1}
.qs-opt small{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}
.qs-opt.invalid-qs{border-color:var(--red)!important;background:#fff5f5!important}
.qs-note{font-size:10px;color:var(--gray);font-style:italic;margin-left:4px}

/* ── RESULTS COVER ── */
.r-cover{background:linear-gradient(150deg,var(--navy) 0%,#0a3a7a 100%);color:#fff;padding:52px 40px 44px;text-align:center;border-top:5px solid var(--cerulean)}
.r-cover .rc-logo{height:46px;margin:0 auto 22px;display:block}
.r-cover .rc-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:3px;color:var(--lblue);margin-bottom:8px}
.r-cover .rc-title{font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.r-cover .rc-company{font-size:22px;font-weight:800;color:var(--lblue);margin-top:32px;margin-bottom:4px}
.r-cover .rc-ref{font-size:12px;color:rgba(255,255,255,.55)}
.r-cover .rc-date{font-size:11px;margin-top:4px}
.export-bar{background:#fff;padding:16px;border:1px solid var(--border);border-top:none;display:flex;gap:1px;justify-content:center;flex-wrap:wrap}
.r-card{background:#fff;padding:40px;border:1px solid var(--border);border-top:none}
.r-card-sep{height:20px;background:var(--bg)}
.r-card-title{font-size:17px;font-weight:800;color:var(--navy);text-align:center;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.r-card-title::after{content:'';display:block;width:40px;height:3px;background:var(--cerulean);margin:8px auto 0}
.r-card-sub{font-size:12px;color:var(--gray);text-align:center;margin-top:6px;margin-bottom:28px;font-weight:400}

/* ── OVERALL GAUGE ── */
.ov-gauge-wrap{position:relative;width:280px;height:152px;margin:0 auto 4px}
.ov-gauge-num{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:52px;font-weight:900;font-family:'Montserrat',sans-serif;text-align:center;white-space:nowrap;line-height:1}
.ov-gauge-axis{display:flex;justify-content:space-between;max-width:280px;margin:2px auto 0;font-size:11px;font-weight:600;color:var(--gray)}
.ov-level{text-align:center;font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:3px;margin:18px 0 12px}
.ov-interp{font-size:14px;color:#374151;line-height:1.9;max-width:640px;margin:0 auto;text-align:justify;font-weight:400}

/* ── DIMENSION RESULT CARDS ── */
.dim-res-card{background:#fff;border:1px solid var(--border);border-top:none;border-bottom:none}
.dim-res-last{border-bottom:1px solid var(--border)}
.dim-res-head{background:linear-gradient(135deg,var(--navy) 0%,#074892 100%);color:#fff;padding:16px 32px;border-top:3px solid var(--cerulean)}
.dim-res-sec{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--cerulean);margin-bottom:2px}
.dim-res-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.dim-res-body{padding:28px 32px;display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:start}
.dim-gauge-col{display:flex;flex-direction:column;align-items:center}
.dim-gauge-wrap{position:relative;width:180px;height:100px}
.dim-gauge-num{font-size:30px;font-weight:900;color:var(--blue);font-family:'Montserrat',sans-serif;text-align:center;margin-top:4px;line-height:1}
.dim-gauge-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:2px;margin-top:4px;text-align:center}
.dim-gauge-w{font-size:10px;color:var(--gray);margin-top:3px;font-weight:500;text-align:center}
.dim-interp{font-size:13px;color:#374151;line-height:1.85;font-weight:400;text-align:justify}
.dim-qual-block{background:#f7f9fc;border:1px solid var(--border);border-left:3px solid var(--lblue);padding:16px 20px;margin-top:0;grid-column:1/-1}
.dim-qual-block h5{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--navy);margin-bottom:12px}
.dim-qual-entry{padding:9px 0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr 2fr;gap:12px;font-size:12px}
.dim-qual-entry:last-child{border-bottom:none;padding-bottom:0}
.dim-qual-q{color:var(--gray);font-style:italic;line-height:1.5}
.dim-qual-a{color:#374151;font-weight:500;line-height:1.5}
.dim-qual-score-badge{display:inline-block;padding:1px 7px;background:var(--blue);color:#fff;font-size:9px;font-weight:800;margin-left:6px;vertical-align:middle}
.bench-wrap{max-width:660px;margin:0 auto}
.r-footer{background:var(--navy);color:rgba(255,255,255,.4);text-align:center;padding:16px;font-size:10px;letter-spacing:.5px;text-transform:uppercase}

/* ── REPORT LINK BOX ── */
.report-link-box{background:var(--light);border:1px solid var(--border);border-left:4px solid var(--blue);padding:20px 24px;margin-top:24px}
.report-link-box h4{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--navy);margin-bottom:6px}
.report-link-box p{font-size:12px;color:var(--gray);margin-bottom:12px;line-height:1.6}
.link-row{display:flex;gap:6px;align-items:stretch;flex-wrap:wrap}
.link-row input{flex:1;min-width:0;padding:9px 12px;border:1.5px solid var(--border);font-size:11px;font-family:'Montserrat',sans-serif;color:var(--navy);background:#fff;cursor:text}
.btn-copy{padding:9px 18px;background:var(--blue);color:#fff;border:none;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.btn-copy:hover{background:var(--navy)}
.btn-genlink{padding:10px 22px;background:var(--navy);color:#fff;border:none;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;cursor:pointer;text-transform:uppercase;letter-spacing:.8px;display:inline-flex;align-items:center;gap:8px}
.btn-genlink:hover{background:#000}
.copy-ok{font-size:11px;color:var(--green);font-weight:700;margin-left:8px;display:none}

/* ── DOMANDE RESPONSIVE ── */
.q-list-head{display:grid;grid-template-columns:36px 1fr;background:var(--navy);padding:10px 12px;font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:0}
.q-row{display:grid;grid-template-columns:36px 1fr;padding:14px 12px;border-bottom:1px solid var(--border);align-items:start;transition:.15s}
.q-row:nth-child(even){background:#f7f9fc}
.q-row:hover{background:var(--light)}
.q-num{font-size:13px;font-weight:800;color:var(--cerulean);padding-top:3px}
.q-body{display:flex;flex-direction:column;gap:10px}
.q-txt{font-size:13px;color:var(--text);line-height:1.55}
.q-opts{display:flex;flex-wrap:wrap;gap:5px}
.q-opt-btn{display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:7px 10px;border:1.5px solid var(--border);background:#fff;min-width:52px;transition:.15s;user-select:none; width: 16%;}
.q-opt-btn:hover{border-color:var(--blue);background:var(--light)}
.q-opt-btn.sel{border-color:var(--blue);background:var(--blue);color:#fff}
.q-opt-btn.sel .q-opt-l{color:rgba(255,255,255,.75)}
.q-opt-btn input[type=radio]{display:none}
.q-opt-v{font-size:18px;font-weight:600;line-height:1}
.q-opt-l{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--gray)}

/* ── PRINT ── */
@media print{
  
.prog-bar-wrap,.export-bar,.nav-btns,.btn-info, #footer, .r-section-label, .navbar-toggler{display:none!important}
  header{
    background: transparent !important
  }

    header{
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important; /* fallback vecchio standard */
    }
  
  body{background:#fff;font-size:11pt}
  .r-cover{
    background-color: #fff !important;
  }
  .results{max-width:100%;padding:0;display:block!important}
  .r-cover{page-break-after:always}
  .r-card{page-break-inside:avoid}
  .rc-meta span, .rc-date, .r-footer{
    /* color: #000 !important; */
  }
  .dim-res-card{page-break-inside:avoid}
  .dim-res-body{grid-template-columns:160px 1fr}
  body .iubenda-tp-btn.iubenda-cs-preferences-link, .grecaptcha-badge, .offcanvas.offcanvas-end{
    display: none !important;
  }
  .navbar>.container{
    justify-content: center;
  }
}

/* ── MOBILE ── */
@media(max-width:700px){
  .header{padding:0 16px}
  .fgrid{grid-template-columns:1fr}
  .dim-grid{grid-template-columns:1fr}
  .main,.results{padding:0 12px}
  .s-body{padding:18px}
  .drawer{width:100%;right:-100%}
  .prog-bar-wrap{padding:10px 16px 12px}
  .q-opts{gap:4px}
  .q-opt-btn{min-width:64px;padding:6px 7px}
  .q-opt-v{font-size:13px}
  .q-opt-l{font-size:7px}
  .dim-res-body{grid-template-columns:1fr}
  .dim-gauge-col{margin:0 auto}
  .qs-opts{flex-wrap:wrap}
  .side-tab{font-size:10px;padding:16px 10px}
}


/* ── PIVA FEEDBACK ── */
.piva-feedback { font-size:11px; font-weight:700; min-height:16px; display:block; margin-top:4px; }
.piva-loading  { color:var(--gray); }
.piva-ok       { color:var(--green); }
.piva-error    { color:var(--red); }

/* ── BOTTONE AI ── */
.btn-ai { background:var(--navy); color:#fff; }
.btn-ai:hover { background:#000; }

/* ── SPINNER ── */
@keyframes spin { to { transform:rotate(360deg); } }

/* ── AI RESULT FRONTEND ── */
.ai-card { background:#fff; border:1px solid var(--border); border-top:none; padding:32px; margin-bottom:0; }
.ai-card + .ai-card { border-top:none; }
.ai-card-title { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--navy); margin-bottom:14px; padding-bottom:8px; border-bottom:2px solid var(--cerulean); }
.ai-overall { border-left:4px solid var(--blue); }
.ai-overall p { font-size:14px; color:#374151; line-height:1.85; margin:0; }
.ai-list { margin:0; padding-left:18px; }
.ai-list li { font-size:13px; color:#374151; line-height:1.7; margin-bottom:6px; }
.ai-actions li { color:var(--navy); font-weight:600; }
.ai-actions li::marker { color:var(--cerulean); }
.ai-priorities { display:flex; flex-direction:column; gap:12px; }
.ai-priority { display:flex; gap:14px; align-items:flex-start; }
.ai-priority-n { background:var(--navy); color:#fff; font-size:13px; font-weight:900; width:28px; height:28px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ai-priority-title { font-size:13px; font-weight:800; color:var(--navy); }
.ai-horizon { display:inline-block; margin-left:8px; background:var(--light); color:var(--blue); font-size:10px; font-weight:700; padding:2px 8px; text-transform:uppercase; letter-spacing:.5px; vertical-align:middle; }
.ai-priority-rationale { font-size:12px; color:var(--gray); line-height:1.6; margin-top:4px; }
.ai-dim-card { background:#fff; border:1px solid var(--border); border-top:none; }
.ai-dim-head { background:linear-gradient(135deg,var(--navy) 0%,#074892 100%); color:#fff; padding:12px 20px; display:flex; align-items:center; gap:10px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; border-top:3px solid var(--cerulean); }
.ai-sec-id { background:var(--cerulean); color:#fff; padding:2px 8px; font-size:11px; font-weight:900; }
.ai-dim-section { padding:16px 20px; border-bottom:1px solid var(--border); }
.ai-dim-section:last-child { border-bottom:none; }
.ai-dim-label { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; color:var(--gray); margin-bottom:8px; }
.ai-dim-section p { font-size:13px; color:#374151; line-height:1.75; margin:0; }
.ai-dissonance { background:#fff8f0; border-left:3px solid var(--cerulean); }
.ai-dissonance .ai-dim-label { color:var(--cerulean); }
.ai-notes { background:#f0f4f8; border-left:4px solid var(--navy); }
.ai-notes p { font-size:13px; color:#374151; line-height:1.75; margin:0; }
.ai-error { background:#fff0f0; border:1px solid #ffd0d0; border-left:4px solid var(--red); padding:14px 18px; font-size:13px; color:var(--red); font-weight:600; }
/* ══════════════════════════════════════════════════════════════════
 * RISULTATI – NUOVA STRUTTURA
 * ══════════════════════════════════════════════════════════════════ */

/* Cover – riga meta */
.rc-meta { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 20px; margin:10px 0 4px; }
/* .rc-meta span { font-size:12px; color:rgba(255,255,255,.6); } */
.rc-meta span + span::before { content:'·'; margin-right:20px; opacity:.4; }

/* Label separatrice sezioni */
.r-section-label {
    background:var(--navy);
    color:rgba(255,255,255,.5);
    font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:2px;
    padding:10px 32px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* Lettura complessiva */
.ai-narrative-text {
    font-size:14px; color:#374151; line-height:1.85; margin:0;
    border-left:4px solid var(--blue); padding-left:20px;
}

/* Note consulente */
.ai-notes { background:#f7f9fc; border-left:4px solid var(--navy) !important; }
.ai-notes-text { font-size:13px; color:#374151; line-height:1.75; margin:0; }

/* Pattern trasversali */
.ai-pattern-list {
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:10px;
}
.ai-pattern-list li {
    font-size:13px; color:#374151; line-height:1.7;
    padding:12px 16px 12px 44px; background:var(--light);
    border-left:3px solid var(--blue); position:relative;
}
.ai-pattern-list li::before {
    content:'▸'; position:absolute; left:16px; color:var(--blue); font-size:12px; top:13px;
}

/* Priorità */
.ai-priorities { display:flex; flex-direction:column; gap:16px; }
.ai-priority { display:flex; gap:16px; align-items:flex-start; padding:16px; background:var(--light); }
.ai-priority-n {
    background:var(--navy); color:#fff; font-size:13px; font-weight:900;
    width:32px; height:32px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ai-priority-title { font-size:13px; font-weight:800; color:var(--navy); line-height:1.4; }
.ai-horizon {
    display:inline-block; margin-left:8px;
    background:#dbeafe; color:#1d4ed8;
    font-size:10px; font-weight:700; padding:2px 8px;
    text-transform:uppercase; letter-spacing:.5px; vertical-align:middle;
}
.ai-priority-rationale { font-size:12px; color:var(--gray); line-height:1.65; margin-top:6px; }

/* ── BLOCCO AI DENTRO LE DIMENSIONI ── */
.dim-ai-block { border-top:1px solid var(--border); }

.dim-ai-section {
    padding:20px 32px;
    border-bottom:1px solid var(--border);
}
.dim-ai-section:last-child { border-bottom:none; }

.dim-ai-label {
    font-size:10px; font-weight:800; text-transform:uppercase;
    letter-spacing:.8px; margin-bottom:10px;
}
.dim-ai-reading .dim-ai-label { color:var(--blue); }
.dim-ai-signals .dim-ai-label { color:#d97706; }
.dim-ai-actions .dim-ai-label { color:#059669; }

.dim-ai-reading p  { font-size:13px; color:#374151; line-height:1.75; margin:0; }

.dim-ai-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.dim-ai-list li {
    font-size:12px; color:#374151; line-height:1.6;
    padding-left:18px; position:relative;
}
.dim-ai-list li::before { content:'•'; position:absolute; left:4px; }

.dim-ai-signals .dim-ai-list li::before  { color:#d97706; }
.dim-ai-actions .dim-ai-list--actions li::before { content:'→'; color:#059669; font-size:11px; top:1px; }

/* Placeholder pre-AI */
.dim-ai-placeholder {
    display:flex; align-items:center; gap:10px;
    padding:16px 32px;
    font-size:12px; color:#9ca3af; font-style:italic;
}
.dim-ai-ph-dot {
    width:8px; height:8px; background:#e5e7eb; border-radius:50%; flex-shrink:0;
}

/* Placeholder globale (narrative / pattern / priorità) */
.ai-placeholder {
    display:flex; flex-direction:column; align-items:center; gap:10px;
    padding:36px; text-align:center; background:var(--light);
    border:2px dashed var(--border);
}
.ai-placeholder-icon { font-size:24px; color:#d1d5db; }
.ai-placeholder-text { font-size:12px; color:#9ca3af; max-width:360px; line-height:1.6; }

/* Errore AI */
.ai-error {
    background:#fef2f2; border:1px solid #fca5a5; border-left:4px solid #ef4444;
    color:#991b1b; font-size:13px; padding:16px 20px; margin:0;
}

/* ── PRINT: nascondi placeholder ── */
@media print {
    .dim-ai-placeholder, .ai-placeholder { display:none !important; }
}

#sec-priorities, #sec-consultant{
    display: none !important;
}