/**
 * SonoVisualMED — foglio di stile principale
 * ------------------------------------------------------------
 * Organizzazione: token globali, layout desktop, componenti,
 * pagine e comportamento responsive. Le regole finali dedicate
 * alla navigazione mobile costituiscono l’unica implementazione
 * del menu ibrido smartphone/tablet.
 */

:root{--blue:#0865d9;--navy:#082958;--cyan:#19afd1;--green:#52a52b;--orange:#f19a19;--purple:#6541bd;--bg:#f7f9fc;--line:#e4eaf1;--muted:#6f7c8f;--shadow:0 4px 18px rgba(21,55,95,.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Arial,Helvetica,sans-serif;color:#172b4d}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:28px 18px}.logo{width:175px;height:auto;margin:2px 0 28px}nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;padding:13px 14px;border-radius:8px;text-align:left;display:flex;gap:14px;align-items:center;color:#294363;font-size:15px}.nav-item span{font-size:20px;color:var(--blue)}.nav-item.active{background:var(--blue);color:#fff;box-shadow:0 5px 14px rgba(8,101,217,.25)}.nav-item.active span{color:#fff}main{padding:24px 28px 50px;min-width:0}header{height:50px;display:flex;justify-content:flex-end;align-items:center}.head-actions{display:flex;gap:18px;align-items:center}.head-actions button{border:0;background:transparent;font-size:20px}.avatar{width:34px;height:34px;border-radius:50%;background:#6ea2e6;color:#fff;display:grid;place-items:center}.welcome h2{font-size:26px;margin:0 0 3px}.welcome p{font-size:20px;margin:0 0 22px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{display:flex;gap:14px;align-items:center;padding:18px}.stat>span{font-size:35px;color:var(--blue)}.stat strong,.stat small{display:block}.stat strong{font-size:25px}.stat small{font-size:12px;color:var(--muted);margin-top:4px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr);gap:20px}.left-col>h3,.right-col h3{font-size:16px}.resume{display:grid;grid-template-columns:120px 1fr 1fr;gap:16px;padding:18px;align-items:center}.resume>img{width:100%;height:100px;object-fit:cover;border-radius:7px;background:#111}.resume-copy{display:grid;gap:7px}.resume-copy strong{font-size:17px}.tag{font-size:10px;font-weight:bold;color:var(--blue)}.progress{height:7px;background:#edf1f6;border-radius:6px;overflow:hidden}.progress i{display:block;height:100%;background:var(--blue)}.resume-copy small{justify-self:end}.next{border-left:1px solid var(--line);padding-left:18px;display:grid;gap:8px}.next span,.next small{font-size:12px;color:var(--muted)}.next button,.section-row button,.link{border:0;background:transparent;color:var(--blue);font-weight:bold}.section-row{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.recommend{padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.recommend article{cursor:pointer;display:grid;gap:5px}.recommend img{width:100%;height:90px;object-fit:cover;border-radius:6px}.recommend strong{font-size:14px}.recommend small{color:var(--muted);font-size:12px}.bottom-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;margin-top:18px}.badges,.last-cert{padding:18px}.badge-row{display:flex;justify-content:space-around;padding-top:18px}.badge-row span{width:48px;height:48px;border:2px solid #78a7e8;clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);display:grid;place-items:center;color:var(--blue);font-size:23px}.last-cert>div{display:flex;gap:12px;align-items:center}.last-cert strong,.last-cert small{display:block}.last-cert small{color:var(--muted);margin-top:5px}.last-cert button{margin-left:auto;border:0;background:#eef5ff;color:var(--blue);padding:10px;border-radius:8px}.cert-thumb{width:46px;height:58px;border:1px solid var(--line);display:grid;place-items:center;color:var(--blue)}.right-col{display:grid;gap:18px;align-content:start}.tasks,.progress-card{padding:18px}.task{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.task>span{color:var(--blue);font-size:22px}.task strong,.task small{display:block}.task small{font-size:11px;color:var(--muted);margin-top:4px}.tasks .link{width:100%;padding-top:14px}.progress-summary{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center}.ring{width:100px;height:100px;border-radius:50%;background:conic-gradient(var(--blue) 72%,#e8eef5 0);position:relative;display:grid;place-items:center}.ring:after{content:"";position:absolute;width:72px;height:72px;border-radius:50%;background:#fff}.ring strong,.ring small{position:relative;z-index:1;display:block;text-align:center}.ring strong{font-size:22px}.ring small{font-size:9px;color:var(--muted)}.skills{display:grid;gap:15px}.skills span{font-size:11px;display:flex;justify-content:space-between}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.course-card{overflow:hidden;cursor:pointer}.course-card>img{width:100%;height:170px;object-fit:cover}.course-card>div{padding:18px}.page-title{margin-bottom:20px}.page-title h2{font-size:28px;margin-bottom:6px}.page-title p{color:var(--muted)}.course-head{display:grid;grid-template-columns:42% 1fr;overflow:hidden}.course-head>img{width:100%;height:100%;object-fit:cover;background:#111}.course-head>div{padding:36px}.course-head h2{font-size:34px;margin:8px 0}.course-head p{color:var(--muted);line-height:1.6}.facts{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.facts span{background:#eef5ff;color:var(--blue);padding:8px 11px;border-radius:20px;font-size:12px}.primary{border:0;background:var(--blue);color:#fff;padding:12px 18px;border-radius:8px;font-weight:bold}.course-body{display:grid;grid-template-columns:1.5fr .7fr;gap:20px;margin-top:20px}.syllabus,.competencies{padding:22px}.syllabus button{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;border:0;background:transparent;border-bottom:1px solid var(--line);padding:16px 0;text-align:left}.syllabus button>span{width:30px;height:30px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.syllabus small{display:block;color:var(--muted);margin-top:4px}.competencies p{line-height:1.55;color:#485b73}.lesson-top{display:grid;grid-template-columns:auto minmax(300px,1fr) auto auto auto;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);padding:13px 20px;border-radius:10px 10px 0 0;min-height:58px}.lesson-top button{border:0;background:transparent;color:#17345c}.lesson-back{display:inline-flex;align-items:center;gap:9px;font-weight:600;white-space:nowrap}.lesson-back i{font-size:15px}.lesson-course-title{text-align:center;font-size:16px;color:#112d55}.lesson-status{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:12px;color:#314867}.lesson-progress-mini{width:84px;height:5px;background:#e4ebf3;border-radius:999px;overflow:hidden}.lesson-progress-mini i{display:block;width:58%;height:100%;background:var(--blue);border-radius:999px}.lesson-icon-btn{width:34px;height:34px;display:grid;place-items:center;border-radius:7px!important}.lesson-icon-btn:hover{background:#eef5ff}.lesson-icon-btn i{font-size:16px}.lesson-shell{display:grid;grid-template-columns:250px 1fr;background:#fff;border:1px solid var(--line);border-top:0}.lesson-index{padding:24px;border-right:1px solid var(--line)}.lesson-index h2{font-size:20px}.lesson-index button{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;padding:11px;border-radius:20px;text-align:left}.lesson-index button span{width:24px;height:24px;border:1px solid #9baabd;border-radius:50%;display:grid;place-items:center}.lesson-index button.active{background:#eaf3ff;color:var(--blue);font-weight:bold}.lesson-main{padding:24px}.slide-card{position:relative;border:1px solid #d8e2ed;border-radius:10px;padding:18px;display:grid;grid-template-columns:1fr 260px;gap:18px;min-height:330px}.scan{width:100%;height:290px;object-fit:contain;background:#080b0d}.key{border-left:1px solid var(--line);padding:16px}.key p{line-height:1.5}.step{position:absolute;left:-14px;top:-14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:bold}.blue{background:var(--blue)}.green{background:var(--green)}.orange{background:var(--orange)}.purple{background:var(--purple)}.audio-box{position:relative;margin-top:14px;border:1px solid #b8dca8;padding:13px 14px;display:flex;align-items:center;gap:12px;border-radius:8px}.audio-box button,.audio-box select{border:0;background:transparent}.wave{height:28px;flex:1;background:repeating-linear-gradient(90deg,#c9d5e4 0 2px,transparent 2px 5px);position:relative}.wave i{position:absolute;left:0;top:0;bottom:0;background:rgba(8,101,217,.16);border-right:3px solid var(--blue)}.transcript{margin-top:8px;padding:12px;background:#f3f9f0;border-radius:8px}.teacher-text{position:relative;margin-top:14px;border:1px solid #f4c37b;padding:18px;display:grid;grid-template-columns:1fr 145px;gap:15px;border-radius:8px}.teacher-text p{line-height:1.6}.text-tools{border-left:1px solid var(--line);display:grid;padding-left:12px}.text-tools button{border:0;background:transparent;text-align:left}.note{margin-top:8px;background:#fff7e8;padding:10px;border-radius:7px}.resources{position:relative;margin-top:14px;border:1px solid #bdafe7;padding:14px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;border-radius:8px}.resources button{border:0;background:transparent;display:grid;gap:8px;place-items:center}.resources button span{font-size:28px;color:var(--purple)}.lesson-foot{display:flex;justify-content:space-between;gap:8px;margin-top:18px;border-top:1px solid var(--line);padding-top:15px}.lesson-foot button{border:0;background:transparent;color:#394e69}.quiz-page{display:grid;grid-template-columns:1fr 280px;gap:20px}.quiz-main,.quiz-side{padding:24px}.quiz-title{display:flex;justify-content:space-between}.quiz-title small{color:var(--blue);font-weight:bold}.quiz-main h3{font-size:22px;margin:26px 0}.answers{display:grid;gap:12px}.answers button{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;padding:14px;border-radius:8px;text-align:left}.answers button span{width:30px;height:30px;border-radius:50%;background:#eef5ff;display:grid;place-items:center;color:var(--blue)}.answers button.selected{border-color:var(--blue);background:#f2f7ff}.answers button.correct{border-color:#4eb47b;background:#eefaf3}.answers button.wrong{border-color:#d65d5d;background:#fff2f2}.feedback{padding:14px;margin-top:14px;background:#eefaf3;border-radius:8px}.quiz-actions{display:flex;justify-content:space-between;margin-top:22px}.quiz-actions button{padding:11px 17px;border:1px solid var(--line);background:#fff;border-radius:8px}.quiz-actions button.primary{background:var(--blue);color:#fff}.quiz-actions button:disabled{opacity:.45}.quiz-side .ring{margin:20px auto}.final-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}.result,.journey{padding:28px}.score{width:180px;height:180px;margin:26px auto;border-radius:50%;background:conic-gradient(var(--blue) 88%,#e5ebf2 0);display:grid;place-items:center;position:relative}.score:after{content:"";position:absolute;width:135px;height:135px;background:#fff;border-radius:50%}.score strong,.score span{position:relative;z-index:1;display:block;text-align:center}.score strong{font-size:38px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.result-stats span{background:#f5f8fc;padding:14px;border-radius:8px}.result-stats b{display:block;font-size:22px}.journey p{padding:14px 0;border-bottom:1px solid var(--line)}.certificate{max-width:900px;margin:auto;padding:45px;text-align:center}.certificate .logo{margin:0 auto 30px}.certificate h2{font-size:34px}.cert-data{display:flex;justify-content:center;gap:12px;margin:24px}.cert-data span{background:#eef5ff;padding:10px 14px;border-radius:18px;color:var(--blue)}.empty{max-width:650px;margin:60px auto;padding:40px;text-align:center}.empty p{color:var(--muted)}@media(max-width:1000px){.app{grid-template-columns:190px 1fr}.stats{grid-template-columns:1fr 1fr}.dash-grid,.course-body,.quiz-page,.final-grid{grid-template-columns:1fr}.right-col{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:1fr 1fr}.lesson-shell{grid-template-columns:1fr}.lesson-index{display:none}}@media(max-width:700px){.app{display:block}.app>aside{display:none}main{padding:15px}.stats,.right-col,.course-grid,.course-head{grid-template-columns:1fr}.resume{grid-template-columns:90px 1fr}.resume .next{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.recommend{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}.slide-card{grid-template-columns:1fr}.key{border-left:0}.teacher-text{grid-template-columns:1fr}.text-tools{border-left:0;grid-template-columns:repeat(4,1fr)}.resources{grid-template-columns:repeat(2,1fr)}.lesson-foot{flex-wrap:wrap}.lesson-course-title{display:none}.lesson-top{grid-template-columns:auto 1fr auto auto}.lesson-status{justify-self:end}}
.notify-dot{display:block;position:absolute;width:7px;height:7px;background:#f05f5f;border-radius:50%;right:1px;top:0}.head-actions button{position:relative}.muted-line{display:block;color:var(--muted);margin-top:16px;text-align:center}.avatar.large{width:46px;height:46px}.mini-profile{padding:16px;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:center}.mini-profile strong,.mini-profile small{display:block}.mini-profile small{font-size:11px;color:var(--muted);margin-top:3px}.mini-profile>span{font-size:11px;background:#eef5ff;color:var(--blue);padding:7px 9px;border-radius:20px}.course-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:18px;margin-bottom:20px}.course-summary>div{text-align:center;border-right:1px solid var(--line)}.course-summary>div:last-child{border:0}.course-summary b,.course-summary span{display:block}.course-summary b{font-size:24px;color:var(--blue)}.course-summary span{font-size:12px;color:var(--muted);margin-top:4px}.catalog-tools{display:grid;grid-template-columns:1.4fr .8fr .7fr auto;gap:12px;padding:16px;margin-bottom:14px}.catalog-tools input,.catalog-tools select,.settings-form select,.message-open textarea{border:1px solid var(--line);border-radius:8px;padding:11px;background:#fff}.academy-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.academy-row span{padding:8px 12px;border-radius:20px;background:#eef5ff;color:var(--blue);font-size:12px;font-weight:bold}.teacher-line{display:flex;gap:10px;align-items:center;margin:18px 0}.teacher-line small{display:block;color:var(--muted);margin-top:3px}.course-info{padding:22px;margin-top:18px}.course-info p{color:#485b73}.result-detail{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:15px 0 25px;color:var(--muted)}.feedback button{border:0;background:transparent;color:var(--blue);font-weight:bold;padding:0}.certificate-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start}.cert-list{padding:18px}.cert-list h3{margin-top:0}.cert-list button,.pending-cert{width:100%;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;border:0;background:transparent;padding:13px;text-align:left;border-radius:8px}.cert-list button.active{background:#eef5ff}.cert-list button>span,.pending-cert>span{width:30px;height:30px;border-radius:50%;background:#e8f7ee;color:#2f9b5c;display:grid;place-items:center}.cert-list strong,.cert-list small,.pending-cert strong,.pending-cert small{display:block}.cert-list small,.pending-cert small{font-size:11px;color:var(--muted);margin-top:4px}.pending-cert{border-top:1px solid var(--line);margin-top:8px}.pending-cert>span{background:#fff5e5;color:#d9911b}.certificate-pro{min-width:0}.cert-border{position:relative;background:#fff;padding:40px 52px;border:10px double #163c73;box-shadow:0 10px 35px rgba(8,41,88,.12);text-align:center;overflow:hidden}.cert-border:before,.cert-border:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(8,101,217,.12);border-radius:50%}.cert-border:before{left:-110px;top:-120px;box-shadow:0 0 0 26px rgba(8,101,217,.025),0 0 0 52px rgba(8,101,217,.02)}.cert-border:after{right:-120px;bottom:-130px;box-shadow:0 0 0 26px rgba(25,175,209,.025),0 0 0 52px rgba(25,175,209,.02)}.cert-header{display:flex;justify-content:space-between;align-items:start;position:relative;z-index:1}.cert-header img{width:210px}.verified-seal{width:92px;height:92px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);background:#fff}.verified-seal span{font-size:25px;font-weight:bold}.verified-seal small{font-size:8px;font-weight:bold;line-height:1.25}.cert-kicker{margin-top:24px;font-size:12px;letter-spacing:.2em;color:var(--blue);font-weight:bold}.certificate-pro h2{font-family:Georgia,serif;font-size:34px;color:var(--navy);margin:14px 0 24px}.certificate-pro h1{font-family:Georgia,serif;font-weight:normal;font-style:italic;font-size:42px;color:#164e94;margin:12px 0;border-bottom:1px solid #a9bfdc;display:inline-block;padding:0 30px 8px}.cert-intro,.cert-description{color:#53657b}.cert-description{max-width:720px;margin:0 auto;line-height:1.7}.cert-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:28px auto;max-width:720px;border:1px solid var(--line)}.cert-metrics>div{background:#f9fbfe;padding:15px}.cert-metrics b,.cert-metrics span{display:block}.cert-metrics b{font-size:19px;color:var(--navy)}.cert-metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:5px}.cert-signatures{display:grid;grid-template-columns:1fr 100px 1fr;align-items:end;gap:25px;margin-top:34px}.cert-signatures small{display:block;border-top:1px solid #94a7bf;padding-top:8px;color:var(--muted);font-size:10px;line-height:1.45}.signature{display:block;font-family:'Brush Script MT',cursive;font-size:28px;color:#1a4b88;margin-bottom:2px}.qr-demo{width:84px;height:84px;border:5px solid #173b6b;padding:5px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:auto}.qr-demo i{background:#173b6b}.qr-demo i:nth-child(2),.qr-demo i:nth-child(4),.qr-demo i:nth-child(8){background:#fff}.cert-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:26px;padding-top:14px;font-size:9px;color:var(--muted)}.cert-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.cert-actions button{border:1px solid var(--line);background:#fff;padding:11px 16px;border-radius:8px}.cert-actions button.primary{background:var(--blue);color:#fff}.calendar-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.month,.agenda-full{padding:22px}.month-head{display:flex;justify-content:space-between;align-items:center}.month-head button{border:0;background:#eef5ff;color:var(--blue);width:34px;height:34px;border-radius:50%}.week,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week{margin:18px 0 8px}.week b{text-align:center;font-size:11px;color:var(--muted)}.days button{height:48px;border:0;background:#f8fafc;border-radius:8px;position:relative}.days button.has-event:after{content:"";position:absolute;width:6px;height:6px;background:var(--cyan);border-radius:50%;bottom:6px;left:50%;transform:translateX(-50%)}.days button.today{background:var(--blue);color:#fff}.agenda-entry{display:grid;grid-template-columns:36px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.agenda-entry>span{width:34px;height:34px;background:#eef5ff;color:var(--blue);border-radius:8px;display:grid;place-items:center}.agenda-entry strong,.agenda-entry small,.agenda-entry em{display:block}.agenda-entry small{color:var(--muted);font-size:11px;margin-top:4px}.agenda-entry em{font-size:10px;color:var(--blue);font-style:normal;margin-top:5px}.messages-layout{display:grid;grid-template-columns:360px 1fr;gap:20px}.message-list{padding:8px}.message-list button{width:100%;border:0;background:transparent;display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px;text-align:left;border-radius:8px}.message-list button.active{background:#eef5ff}.message-list strong,.message-list span,.message-list small{display:block}.message-list span{font-size:12px;margin-top:3px}.message-list small{font-size:10px;color:var(--muted);margin-top:4px}.message-open{padding:28px}.message-open>small{color:var(--blue);font-weight:bold}.message-open p{line-height:1.7}.message-attachment{display:flex;justify-content:space-between;align-items:center;background:#f6f9fd;padding:14px;border-radius:8px;margin:18px 0}.message-attachment button{border:0;background:transparent;color:var(--blue);font-weight:bold}.message-open textarea{width:100%;min-height:100px;margin:12px 0;resize:vertical}.settings-grid{display:grid;grid-template-columns:280px 1fr 280px;gap:20px}.profile-card,.settings-form,.account-security{padding:24px}.profile-card{text-align:center}.profile-avatar{width:78px;height:78px;font-size:23px;margin:auto}.profile-card small{display:block;color:var(--muted);line-height:1.5}.profile-card button,.account-security button{margin-top:20px;border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:8px}.settings-form{display:grid;gap:16px}.settings-form label{display:grid;gap:7px;font-size:12px;font-weight:bold}.settings-form label:has(input[type=checkbox]){display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.account-security p{padding:10px 0;border-bottom:1px solid var(--line);color:#52647a}
@media(max-width:1000px){.catalog-tools{grid-template-columns:1fr 1fr}.certificate-layout,.calendar-grid,.messages-layout,.settings-grid{grid-template-columns:1fr}.cert-list{order:2}.course-summary{grid-template-columns:1fr 1fr}.cert-footer{flex-wrap:wrap}.certificate-pro h1{font-size:34px}.cert-border{padding:30px}}
@media(max-width:700px){.catalog-tools{grid-template-columns:1fr}.certificate-pro h2{font-size:27px}.cert-header img{width:160px}.verified-seal{width:72px;height:72px}.cert-metrics{grid-template-columns:1fr}.cert-signatures{grid-template-columns:1fr}.qr-demo{order:3}.cert-footer{display:grid}.course-summary{grid-template-columns:1fr 1fr}.certificate-pro h1{font-size:28px;padding:0 10px}.cert-border{padding:22px 16px}.week,.days{gap:3px}.days button{height:40px}}


.fa-solid,.fa-regular{line-height:1}.nav-item{justify-content:flex-start}.nav-item>i{width:22px;text-align:center;font-size:18px;color:var(--blue)}.nav-item.active>i{color:#fff}.nav-item span{font-size:14px}.support-box{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:6px}.support-box strong{font-size:13px}.support-box small{font-size:11px;color:var(--muted)}.support-box button{border:0;background:#eef5ff;color:var(--blue);padding:9px;border-radius:8px;font-weight:bold}header{justify-content:space-between}.global-search{width:min(500px,55vw);border:1px solid var(--line);background:#fff;color:var(--muted);padding:11px 15px;border-radius:10px;text-align:left;box-shadow:var(--shadow)}.global-search i{margin-right:10px}.toast{position:fixed;right:24px;bottom:24px;background:#0b2e5f;color:#fff;padding:13px 18px;border-radius:10px;box-shadow:0 14px 38px rgba(0,0,0,.2);z-index:5000}.toast i{color:#64d498;margin-right:7px}.task,.agenda-entry{width:100%;border:0;background:transparent;text-align:left}.rating{font-size:12px;color:#a86e00;margin:9px 0}.rating i{color:#f0aa18}.input-icon{position:relative}.input-icon i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.input-icon input{width:100%;padding-left:36px}.catalog-count{margin:5px 0 16px;color:var(--muted)}.empty-state{grid-column:1/-1;text-align:center;padding:45px}.empty-state>i{font-size:34px;color:var(--blue)}.academy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.academy-card{padding:24px;cursor:pointer;transition:.2s}.academy-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(21,55,95,.13)}.academy-card>i{width:52px;height:52px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-size:24px}.academy-card p{color:var(--muted);line-height:1.55}.academy-card span{font-size:12px;color:var(--blue);font-weight:bold}.ecosystem{margin-top:20px;padding:28px;display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:center}.ecosystem small{color:var(--blue);font-weight:bold}.ecosystem p{color:var(--muted);line-height:1.6}.ecosystem-flow{display:flex;align-items:center;justify-content:space-between;gap:5px}.ecosystem-flow span{width:76px;height:76px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;font-weight:bold;position:relative}.ecosystem-flow span:not(:last-child):after{content:'›';position:absolute;right:-18px;color:#79a4d6;font-size:26px}.ecosystem-flow b{font-size:9px;display:block;color:#294363}.course-head .teacher-line{margin-bottom:22px}.course-head button i{margin-right:7px}.key button{border:0;background:#eef5ff;color:var(--blue);padding:9px 11px;border-radius:7px}.resources button>i{font-size:27px;color:var(--purple)}.progress-hero{padding:26px;display:grid;grid-template-columns:260px 1fr;align-items:center}.progress-hero h2{font-size:54px;color:var(--blue);margin:8px 0}.progress-hero p{color:var(--muted)}.growth-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.growth-levels span{text-align:center;color:var(--muted);font-size:11px}.growth-levels b{display:grid;width:42px;height:42px;border-radius:50%;background:#edf1f6;place-items:center;margin:0 auto 8px}.growth-levels .done b{background:#e8f7ee;color:#2f9b5c}.growth-levels .active b{background:var(--blue);color:#fff}.analytics-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:18px;margin-top:18px}.analytics-card{padding:22px}.analytics-card .skills>div,.analytics-card>div:not(.bar-chart){margin-bottom:15px}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:14px;border-bottom:1px solid var(--line);padding:0 10px}.bar-chart span{flex:1;background:linear-gradient(#19afd1,#0865d9);border-radius:6px 6px 0 0;position:relative}.bar-chart b{position:absolute;bottom:-23px;left:50%;transform:translateX(-50%);font-size:10px;color:var(--muted)}.analytics-card button,.community-widget button,.support-card button{border:0;background:#eef5ff;color:var(--blue);padding:10px 13px;border-radius:8px;font-weight:bold}.community-layout{display:grid;grid-template-columns:minmax(0,1.4fr) 330px;gap:20px}.composer{padding:14px;display:flex;gap:12px;margin-bottom:16px}.composer button{flex:1;border:1px solid var(--line);background:#f8fafc;border-radius:9px;text-align:left;color:var(--muted);padding:12px}.post{padding:20px;margin-bottom:16px}.post-head{display:flex;gap:11px;align-items:center}.post-head small{display:block;color:var(--muted);margin-top:3px}.post>p{line-height:1.65}.post-actions{border-top:1px solid var(--line);padding-top:12px;display:flex;gap:10px}.post-actions button{border:0;background:transparent;color:var(--muted)}.community-layout aside{display:grid;gap:16px;align-content:start}.community-widget{padding:20px}.community-widget p{color:var(--muted);line-height:1.5}.community-widget small{display:block;color:var(--muted);margin:6px 0 15px}.community-widget button.primary{background:var(--blue);color:#fff}.cert-edition{font-size:11px;color:var(--blue);font-weight:bold;margin-top:15px}.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.support-card{padding:22px}.support-card>i{font-size:30px;color:var(--blue)}.support-card p{color:var(--muted);line-height:1.5}.ticket-box{margin-top:20px;padding:24px;display:grid;grid-template-columns:220px 1fr;gap:12px}.ticket-box h3{grid-column:1/-1}.ticket-box textarea{grid-column:1/-1;min-height:120px}.ticket-box select,.ticket-box input,.ticket-box textarea{border:1px solid var(--line);border-radius:8px;padding:11px}.ticket-box button{justify-self:start}.search-overlay{position:fixed;inset:0;background:rgba(5,22,45,.55);backdrop-filter:blur(5px);z-index:4000;padding:8vh 20px}.search-modal{max-width:760px;margin:auto;background:#fff;border-radius:14px;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.3);max-height:82vh;overflow:auto}.search-head{display:grid;grid-template-columns:30px 1fr 36px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:13px}.search-head input{border:0;outline:0;font-size:18px}.search-head button{border:0;background:transparent;font-size:25px}.search-result{width:100%;border:0;background:transparent;display:grid;grid-template-columns:75px 1fr auto;gap:12px;align-items:center;text-align:left;padding:10px;border-radius:9px}.search-result:hover{background:#eef5ff}.search-result img{width:75px;height:50px;object-fit:cover;border-radius:6px}.search-result strong,.search-result small{display:block}.search-result small{color:var(--muted);margin-top:4px}.search-result.simple{grid-template-columns:25px 1fr}.search-hint{background:#f6f9fd;padding:11px;border-radius:8px;color:var(--muted);font-size:12px;margin-top:12px}.ai-panel{position:fixed;right:18px;top:18px;bottom:18px;width:390px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 70px rgba(0,0,0,.22);z-index:4500;border-radius:14px;padding:16px;display:grid;grid-template-rows:auto 1fr auto auto auto}.ai-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.ai-head i{color:var(--blue);margin-right:8px}.ai-head button{border:0;background:transparent;font-size:24px}.ai-chat{padding:15px 0;overflow:auto;display:flex;flex-direction:column;gap:10px}.ai-msg{padding:11px 13px;border-radius:12px;line-height:1.5;font-size:13px;max-width:90%}.ai-msg.ai{background:#eef5ff;align-self:flex-start}.ai-msg.user{background:#0c62cf;color:#fff;align-self:flex-end}.ai-prompts{display:flex;gap:7px;overflow:auto}.ai-prompts button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 10px;white-space:nowrap;color:var(--blue)}.ai-input{display:grid;grid-template-columns:1fr 42px;gap:7px;margin-top:10px}.ai-input input{border:1px solid var(--line);border-radius:9px;padding:10px}.ai-input button{border:0;background:var(--blue);color:#fff;border-radius:9px}.ai-panel>small{color:var(--muted);font-size:9px;margin-top:8px}.agenda-entry{display:grid}.agenda-entry>i{width:34px;height:34px;background:#eef5ff;color:var(--blue);border-radius:8px;display:grid;place-items:center}.cert-list button>i,.pending-cert>i{width:30px;height:30px;border-radius:50%;background:#e8f7ee;color:#2f9b5c;display:grid;place-items:center}.pending-cert>i{background:#fff5e5;color:#d9911b}
@media(max-width:1200px){.academy-grid{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.support-grid{grid-template-columns:1fr 1fr}.ecosystem{grid-template-columns:1fr}.community-layout{grid-template-columns:1fr}.growth-levels{overflow:auto}.stats{grid-template-columns:1fr 1fr}.dash-grid{grid-template-columns:1fr}.right-col{grid-template-columns:1fr 1fr}.course-grid{grid-template-columns:1fr 1fr}}
@media(max-width:800px){header{gap:10px}.global-search{width:100%;font-size:0}.global-search i{font-size:18px}.academy-grid,.analytics-grid,.support-grid,.right-col,.course-grid{grid-template-columns:1fr}.progress-hero{grid-template-columns:1fr}.ecosystem-flow{overflow:auto;padding:10px 0}.ai-panel{inset:8px;width:auto}.ticket-box{grid-template-columns:1fr}.ticket-box h3,.ticket-box textarea{grid-column:auto}.community-layout{display:block}.community-layout aside{margin-top:18px}}


.progress-card .progress-summary{
  grid-template-columns:120px minmax(0,1fr);
  gap:20px;
  align-items:center;
}
.progress-card .ring{
  width:112px;
  height:112px;
  flex:0 0 112px;
  display:block;
  position:relative;
  margin:0 auto;
}
.progress-card .ring:after{
  width:78px;
  height:78px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.progress-card .ring strong,
.progress-card .ring small{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  width:72px;
  margin:0;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}
.progress-card .ring strong{
  top:35px;
  font-size:24px;
}
.progress-card .ring small{
  top:66px;
  font-size:9px;
  color:var(--muted);
}
.progress-card .skills{
  min-width:0;
  gap:14px;
}
.progress-card .skills span{
  font-size:12px;
  gap:8px;
}
@media(max-width:1150px){
  .progress-card .progress-summary{grid-template-columns:1fr;}
  .progress-card .skills{width:100%;}
}
@media(max-width:1000px){
  .progress-card .progress-summary{grid-template-columns:120px minmax(0,1fr);}
}
@media(max-width:520px){
  .progress-card .progress-summary{grid-template-columns:1fr;}
}


.progress-card .skills > div > span{
  display:grid;
  grid-template-columns:minmax(max-content,1fr) auto;
  align-items:center;
  column-gap:10px;
  white-space:nowrap;
  line-height:1.15;
}
.progress-card .skills > div > span b{
  justify-self:end;
  white-space:nowrap;
}


.lesson-engine{display:block}
.lesson-slide-frame{display:grid;gap:14px}
.lesson-slide-frame .slide-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:stretch}
.slide-media{display:grid;grid-template-rows:minmax(0,1fr) auto;background:#09121f;border-radius:8px;overflow:hidden}
.slide-media .scan{width:100%;height:100%;min-height:300px;object-fit:contain;background:#000}
.slide-playbar{display:grid;grid-template-columns:34px auto minmax(120px,1fr);gap:10px;align-items:center;padding:10px 12px;background:#f5f8fc;color:#18355d}
.slide-playbar button{border:0;background:transparent;color:var(--blue)}
.slide-timeline{height:5px;background:#dce7f2;border-radius:999px;overflow:hidden}
.slide-timeline i{display:block;height:100%;background:var(--blue)}
.level-controls{display:grid;grid-template-columns:220px repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.level-controls-title{padding:15px 18px;display:grid;gap:4px;align-content:center}
.level-controls-title strong{font-size:12px;color:#18355d}
.level-controls-title small{font-size:11px;color:var(--muted)}
.level-switch{border:0;border-left:1px solid var(--line);background:#fff;padding:12px;display:grid;grid-template-columns:1fr 42px;gap:9px;align-items:center;text-align:left;color:#334c69}
.level-switch:hover{background:#f7fbff}
.level-switch-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800}
.level-switch-copy{display:grid;gap:2px}
.level-switch-copy strong{font-size:12px}
.level-switch-copy small{font-size:10px;color:var(--muted);line-height:1.25}
.switch-ui{width:38px;height:22px;border-radius:999px;background:#c8d4e1;padding:3px;transition:.2s;justify-self:end}
.switch-ui i{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);transition:.2s}
.level-switch.on .switch-ui{background:var(--blue)}
.level-switch.on .switch-ui i{transform:translateX(16px)}
.level-switch .green{background:#56a928}.level-switch .orange{background:#f5a019}.level-switch .purple{background:#6b46c1}
.lesson-navigation{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}
.lesson-navigation button{border:0;background:transparent;display:flex;justify-content:center;align-items:center;gap:11px;color:#24466f;text-align:left}
.lesson-navigation button>i{width:38px;height:38px;border-radius:50%;background:#176ee6;color:#fff;display:grid;place-items:center}
.lesson-navigation span{display:grid;gap:2px}.lesson-navigation small{color:var(--muted);font-size:10px}
.lesson-foot{justify-content:center;gap:28px;border-top:0;padding-top:0}
.lesson-foot button{min-width:130px;justify-content:center}
@media(max-width:1150px){.lesson-slide-frame .slide-card{grid-template-columns:1fr}.level-controls{grid-template-columns:1fr}.level-switch{border-left:0;border-top:1px solid var(--line)}.lesson-navigation{grid-template-columns:1fr}}

@media(max-width:1050px){.lesson-top{grid-template-columns:auto 1fr auto auto}.lesson-course-title{text-align:left}.lesson-status span{display:none}.lesson-progress-mini{width:68px}}



.lesson-top{
  grid-template-columns:minmax(145px,auto) minmax(260px,1fr) minmax(170px,auto) 42px 42px;
  gap:12px;
  overflow:hidden;
}
.lesson-top > *{min-width:0}
.lesson-back,
.lesson-icon-btn{
  appearance:none;
  -webkit-appearance:none;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.lesson-back{padding:8px 6px!important;justify-self:start}
.lesson-back-icon,
.lesson-toolbar-icon{
  display:inline-grid;
  place-items:center;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.lesson-back-icon i,
.lesson-toolbar-icon i{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.lesson-course-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.lesson-status{justify-self:end;min-width:0}
.lesson-progress-mini{flex:0 0 84px;display:block!important}
.lesson-progress-mini > .lesson-progress-value{
  display:block;
  width:58%;
  height:100%;
  background:var(--blue);
  border-radius:999px;
}
.lesson-progress-mini > i{display:none!important}
.lesson-icon-btn{
  width:38px!important;
  height:38px!important;
  padding:0!important;
  justify-self:center;
  border-radius:8px!important;
}
.lesson-icon-btn:hover{background:#eef5ff!important}

/* Evita che testi, icone e controlli si sovrappongano nelle card */
.card,.lesson-shell,.lesson-main,.lesson-index,.slide-card,.audio-box,.teacher-text,.resources,
.course-head,.course-body,.certificate-layout,.calendar-grid,.community-layout,.analytics-grid,
.progress-summary,.resume,.recommend,.task,.search-result,.ai-panel{min-width:0}
.card *,.lesson-shell *,.course-head *,.certificate-layout *{box-sizing:border-box}
.teacher-text>div:first-of-type,.key,.resume-copy,.next,.skills,.cert-description,.post>p{min-width:0;overflow-wrap:anywhere}
.audio-box{flex-wrap:nowrap;overflow:hidden}
.audio-box .wave{min-width:80px}
.audio-box select,.audio-box button,.audio-box>span{flex:0 0 auto;white-space:nowrap}
.resources button{min-width:0}
.resources button small{white-space:normal;line-height:1.2;overflow-wrap:anywhere}
.text-tools button{white-space:nowrap}
.head-actions{flex:0 0 auto}
.global-search{min-width:180px}

@media(max-width:1250px){
  .lesson-top{grid-template-columns:auto minmax(180px,1fr) auto 38px 38px}
  .lesson-course-title{font-size:14px}
  .lesson-progress-mini{flex-basis:68px}
  .slide-card{grid-template-columns:minmax(0,1fr) 230px}
  .teacher-text{grid-template-columns:minmax(0,1fr) 125px}
}
@media(max-width:1000px){
  .lesson-top{grid-template-columns:auto 1fr auto auto}
  .lesson-course-title{display:none}
  .lesson-status{justify-self:center}
  .lesson-shell{grid-template-columns:210px minmax(0,1fr)}
  .lesson-main{padding:18px}
  .slide-card{grid-template-columns:1fr}
  .key{border-left:0;border-top:1px solid var(--line)}
  .audio-box{flex-wrap:wrap}
  .audio-box .wave{order:6;flex-basis:100%;width:100%}
}
@media(max-width:760px){
  .app{grid-template-columns:1fr}
  .app>aside{display:none}
  main{padding:14px}
  .lesson-top{grid-template-columns:1fr auto auto;padding:10px 12px}
  .lesson-back span:last-child{display:none}
  .lesson-status{justify-self:start}
  .lesson-shell{grid-template-columns:1fr}
  .lesson-index{border-right:0;border-bottom:1px solid var(--line)}
  .teacher-text{grid-template-columns:1fr}
  .text-tools{border-left:0;border-top:1px solid var(--line);padding:10px 0 0;grid-template-columns:repeat(2,1fr)}
}


.route-dashboard{grid-template-columns:190px minmax(0,1fr)}
.route-dashboard>aside{padding:24px 14px 18px}
.route-dashboard .logo{width:150px;margin:0 7px 24px}
.route-dashboard nav{gap:3px}
.route-dashboard .nav-item{padding:10px 11px;gap:11px;border-radius:5px;font-size:13px}
.route-dashboard .nav-item>i{width:20px;font-size:16px}
.route-dashboard .support-box{display:none}
.route-dashboard main{padding:18px 24px 34px;background:#fff}
.route-dashboard header.dashboard-header{height:34px;margin-bottom:4px}
.route-dashboard .global-search.compact{width:34px;min-width:34px;height:34px;padding:0;display:grid;place-items:center;border:0;box-shadow:none;background:transparent;margin-left:auto;order:2}
.route-dashboard .global-search.compact span{display:none}
.route-dashboard .global-search.compact i{margin:0;font-size:15px;color:#4d6380}
.route-dashboard .head-actions{gap:12px}
.route-dashboard .head-actions button{font-size:16px}
.route-dashboard .avatar{width:30px;height:30px;font-size:11px}
.dashboard-page{max-width:1120px;margin:0 auto}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:flex-start;padding:4px 0 10px}
.dashboard-welcome h2{font-size:20px;margin:0;color:#14233c}
.dashboard-welcome p{font-size:15px;margin:3px 0 0;color:#172b4d}
.dashboard-card,.dashboard-stat{background:#fff;border:1px solid #e5e9ef;border-radius:7px;box-shadow:0 2px 8px rgba(21,55,95,.055)}
.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:17px}
.dashboard-stat{min-height:70px;padding:12px 14px;display:flex;align-items:center;gap:12px}
.dashboard-stat-icon{width:39px;height:39px;display:grid;place-items:center;color:#2c72db;font-size:24px;flex:0 0 auto}
.dashboard-stat strong{display:block;font-size:19px;line-height:1;color:#1e2b42}
.dashboard-stat small{display:block;font-size:9px;color:#657388;margin-top:6px;white-space:nowrap}
.mini-ring{width:35px;height:35px;border-radius:50%;background:conic-gradient(#146bdd 68%,#e9eef4 0);position:relative}
.mini-ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(245px,.68fr);gap:14px;align-items:start}
.dashboard-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.dashboard-section-title h3,.dashboard-primary>h3,.dashboard-secondary h3{font-size:12px;margin:0;color:#1a2a43}
.dashboard-section-title button{border:0;background:transparent;color:#0865d9;font-size:9px;font-weight:700;padding:4px}
.resume{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(190px,.95fr);gap:12px;padding:12px;align-items:center}
.resume>img{width:76px;height:76px;border-radius:4px;object-fit:cover;background:#070a0d}
.resume-copy{gap:4px}
.resume-copy .tag{font-size:8px;letter-spacing:.03em}
.resume-copy strong{font-size:12px;line-height:1.25}
.resume-progress-line{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin-top:4px}
.resume-progress-line .progress{height:5px}
.resume-progress-line small{font-size:9px;color:#273952}
.resume .next{padding-left:13px;gap:5px}
.resume .next span{font-size:9px;color:#4f5d70}
.resume .next strong{font-size:10px;line-height:1.3}
.resume .next small{font-size:9px}
.resume .next button{font-size:9px;justify-self:end;padding:5px 0}
.dashboard-primary>.dashboard-section-title:not(:first-child){margin-top:14px}
.recommend{padding:10px 12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.recommend article{gap:3px}
.recommend img{height:57px;border-radius:3px}
.recommend strong{font-size:9px;line-height:1.25}
.recommend small{font-size:8px;line-height:1.2}
.dashboard-bottom-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:12px;margin-top:12px}
.dashboard-bottom-grid .badges,.dashboard-bottom-grid .last-cert{padding:12px}
.dashboard-bottom-grid h3{font-size:11px;margin:0 0 10px}
.dashboard-bottom-grid .badge-row{padding-top:0;gap:8px;justify-content:flex-start}
.dashboard-bottom-grid .badge-row span{width:39px;height:39px;font-size:16px;border-width:1.5px}
.dashboard-bottom-grid .last-cert>div{gap:9px}
.dashboard-bottom-grid .last-cert strong{font-size:10px;line-height:1.2}
.dashboard-bottom-grid .last-cert small{font-size:8px;margin-top:3px}
.dashboard-bottom-grid .cert-thumb{width:34px;height:43px;font-size:14px}
.dashboard-bottom-grid .last-cert button{padding:7px;border-radius:5px}
.dashboard-secondary{display:grid;gap:12px;align-content:start}
.dashboard-secondary .tasks,.dashboard-secondary .progress-card{padding:12px}
.dashboard-secondary .tasks>h3{margin:0 0 5px}
.dashboard-secondary .task{grid-template-columns:25px 1fr auto;gap:7px;padding:9px 0}
.dashboard-secondary .task>i{font-size:14px;color:#3b7ee1}
.dashboard-secondary .task strong{font-size:9px;line-height:1.25}
.dashboard-secondary .task small{font-size:7.5px;margin-top:2px}
.dashboard-secondary .task>b{font-size:13px;color:#66788f}
.dashboard-secondary .tasks .link{font-size:8px;padding-top:8px}
.dashboard-secondary .dashboard-section-title.compact{margin-bottom:9px}
.dashboard-secondary .progress-summary{grid-template-columns:88px minmax(0,1fr);gap:11px}
.dashboard-secondary .ring{width:82px;height:82px}
.dashboard-secondary .ring:after{width:59px;height:59px}
.dashboard-secondary .ring strong{top:26px;font-size:18px;width:58px}
.dashboard-secondary .ring small{top:50px;font-size:7px;width:58px}
.dashboard-secondary .skills{gap:9px}
.dashboard-secondary .skills>div>span{font-size:8px;column-gap:5px}
.dashboard-secondary .skills .progress{height:4px;margin-top:3px}

/* Tablet: mantiene la gerarchia del PDF ma riordina le card */
@media(max-width:1050px){
  .route-dashboard{grid-template-columns:176px minmax(0,1fr)}
  .route-dashboard main{padding:16px 18px 28px}
  .dashboard-main-grid{grid-template-columns:minmax(0,1fr) 230px}
  .dashboard-stat{padding:10px;gap:8px}
  .dashboard-stat-icon{width:34px;font-size:20px}
  .dashboard-stat strong{font-size:16px}
  .resume{grid-template-columns:66px minmax(0,1fr)}
  .resume>img{width:66px;height:66px}
  .resume .next{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:9px 0 0;grid-template-columns:1fr 1fr auto;align-items:center}
  .dashboard-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .route-dashboard{grid-template-columns:1fr}
  .route-dashboard>aside{display:none}
  .route-dashboard main{padding:12px;background:#f7f9fc}
  .route-dashboard header.dashboard-header{height:42px;margin-bottom:6px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:0 10px}
  .route-dashboard .global-search.compact{margin-left:0;margin-right:auto;order:0}
  .dashboard-page{max-width:none}
  .dashboard-welcome{padding:6px 2px 10px}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-main-grid{grid-template-columns:1fr}
  .dashboard-secondary{grid-template-columns:1fr 1fr}
  .dashboard-bottom-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
  .dashboard-welcome h2{font-size:18px}
  .dashboard-welcome p{font-size:13px}
  .dashboard-stat{min-height:62px}
  .dashboard-stat small{white-space:normal}
  .resume{grid-template-columns:60px minmax(0,1fr);gap:10px}
  .resume>img{width:60px;height:60px}
  .resume .next{grid-template-columns:1fr auto}
  .resume .next span,.resume .next strong{grid-column:1/2}
  .resume .next small{grid-column:1/2}
  .resume .next button{grid-column:2/3;grid-row:1/4;align-self:center}
  .recommend{grid-template-columns:1fr;gap:10px}
  .recommend article{grid-template-columns:78px 1fr;grid-template-rows:auto auto auto;column-gap:10px}
  .recommend img{width:78px;height:54px;grid-row:1/4}
  .dashboard-secondary,.dashboard-bottom-grid{grid-template-columns:1fr}
  .dashboard-secondary .progress-summary{grid-template-columns:88px minmax(0,1fr)}
}
.route-dashboard .global-search.compact{order:0}


:root{
  --app-sidebar:190px;
  --app-content:1120px;
  --surface:#ffffff;
  --surface-soft:#f7f9fc;
  --border-soft:#e5e9ef;
  --radius-sm:5px;
  --radius-md:7px;
  --shadow-soft:0 2px 8px rgba(21,55,95,.055);
}

/* Shell condivisa */
.app{grid-template-columns:var(--app-sidebar) minmax(0,1fr);background:#fff}
.app>aside{padding:24px 14px 18px;background:#fff}
.app>aside .logo{width:150px;margin:0 7px 24px}
.app>aside nav{gap:3px}
.app>aside .nav-item{min-height:39px;padding:10px 11px;gap:11px;border-radius:var(--radius-sm);font-size:13px;color:#245085}
.app>aside .nav-item>i{width:20px;font-size:16px;color:var(--blue);text-align:center}
.app>aside .nav-item span{font-size:13px;color:inherit}
.app>aside .nav-item.active{background:var(--blue);color:#fff;box-shadow:0 3px 9px rgba(8,101,217,.18)}
.app>aside .nav-item.active>i{color:#fff}
.app>aside .support-box{border-top:1px solid var(--border-soft);margin-top:10px;padding-top:12px;font-size:11px}
.app>aside .support-box button{border:0;border-radius:6px;background:#eef5ff;color:var(--blue);padding:9px;width:100%;font-weight:700}
.app main{padding:18px 24px 38px;background:#fff}
.app main>header{height:38px;margin-bottom:10px}
.app main>header .global-search{height:36px;border:1px solid var(--border-soft);border-radius:7px;box-shadow:var(--shadow-soft);font-size:12px}
.app main>header .head-actions{gap:12px}
.app main>header .head-actions button{font-size:16px}
.app main>header .avatar{width:30px;height:30px;font-size:11px}

/* Larghezza e gerarchia comune */
.app main>header,.app main>.page-title,.app main>.card,.app main>.course-grid,.app main>.academy-grid,
.app main>.course-body,.app main>.quiz-page,.app main>.progress-layout,.app main>.community-layout,
.app main>.certificate-layout,.app main>.calendar-grid,.app main>.messages-layout,.app main>.settings-grid,
.app main>.support-grid,.app main>.ticket-box,.app main>.lesson-top,.app main>.lesson-shell,
.app main>.catalog-tools,.app main>.catalog-count,.app main>.ecosystem{max-width:var(--app-content);margin-left:auto;margin-right:auto}
.page-title{margin:5px auto 15px}
.page-title h2{font-size:22px;line-height:1.15;margin:0 0 4px;color:#14233c}
.page-title p{font-size:13px;line-height:1.45;margin:0;color:#657388}
.card{border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}
.card h2,.card h3{color:#14233c}
.primary{border-radius:6px;padding:10px 15px;font-size:12px;box-shadow:none}

/* I miei corsi */
.course-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:0;overflow:hidden;margin-bottom:15px!important}
.course-summary>div{padding:13px 16px;border-right:1px solid var(--border-soft);display:flex;align-items:baseline;gap:7px}
.course-summary>div:last-child{border-right:0}
.course-summary b{font-size:18px;color:#1e2b42}.course-summary span{font-size:10px;color:#657388}
.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.course-card{border-radius:7px;box-shadow:var(--shadow-soft)}
.course-card>img{height:128px}
.course-card>div{padding:14px}
.course-card h3{font-size:15px;line-height:1.25;margin:7px 0}
.course-card p,.course-card small{font-size:10px;line-height:1.4}
.course-card .rating{font-size:10px;margin:8px 0;color:#657388}
.course-card .tag{font-size:8px}

/* Catalogo e ricerca */
.catalog-tools{display:grid;grid-template-columns:minmax(240px,1fr) 165px 140px auto;gap:8px;padding:10px;margin-bottom:12px!important}
.catalog-tools .input-icon{height:36px;border-radius:6px}
.catalog-tools select,.catalog-tools button,.catalog-tools input{height:36px;font-size:11px;border-radius:6px}
.catalog-count{font-size:11px;margin-bottom:10px!important;color:#657388}
.empty-state{padding:38px;text-align:center}

/* Academy */
.academy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.academy-card{padding:18px;min-height:170px}
.academy-card>i{font-size:25px;color:var(--blue)}
.academy-card h3{font-size:15px;margin:12px 0 7px}
.academy-card p{font-size:11px;line-height:1.5;color:#657388}
.academy-card span{font-size:10px;color:var(--blue);font-weight:700}
.ecosystem{margin-top:15px!important;padding:22px}
.ecosystem h2{font-size:22px;margin:5px 0}.ecosystem p{font-size:12px;color:#657388}
.ecosystem-flow span{width:70px;height:70px;font-size:14px}.ecosystem-flow b{font-size:9px}

/* Scheda corso */
.course-head{grid-template-columns:38% 1fr;max-width:var(--app-content);margin:auto;border-radius:7px}
.course-head>img{min-height:340px}
.course-head>div{padding:26px}
.course-head h2{font-size:26px;line-height:1.15;margin:7px 0 9px}
.course-head p{font-size:12px;line-height:1.55}
.facts{margin:15px 0;gap:6px}.facts span{padding:6px 9px;border-radius:5px;font-size:9px;background:#f0f6fd}
.teacher-line{margin:14px 0}.teacher-line strong{font-size:12px}.teacher-line small{font-size:9px}
.course-body{grid-template-columns:minmax(0,1.45fr) minmax(260px,.65fr);gap:12px;margin-top:12px}
.syllabus,.competencies{padding:17px}.syllabus h3,.competencies h3{font-size:15px}
.syllabus button{padding:12px 0}.syllabus button>span{width:26px;height:26px;font-size:10px}.syllabus strong{font-size:12px}.syllabus small{font-size:9px}
.competencies p{font-size:11px;line-height:1.45}

/* Lezione: stesso livello di densità e precisione della dashboard */
.lesson-top{max-width:var(--app-content);border-radius:7px 7px 0 0;min-height:50px;padding:9px 15px}
.lesson-shell{max-width:var(--app-content);grid-template-columns:220px minmax(0,1fr)}
.lesson-index{padding:20px 16px}.lesson-index h2{font-size:18px}.lesson-index button{font-size:11px;padding:9px;border-radius:18px}
.lesson-main{padding:18px}
.lesson-slide-frame .slide-card{grid-template-columns:minmax(0,1fr) 245px;padding:14px;min-height:300px}
.slide-media .scan{min-height:270px}.key{padding:13px}.key h2{font-size:17px}.key p{font-size:11px}
.level-controls{grid-template-columns:180px repeat(3,minmax(0,1fr))}.level-controls-title{padding:12px}.level-switch{padding:9px;grid-template-columns:1fr 36px}
.level-switch-number{width:26px;height:26px;font-size:11px}.level-switch-copy strong{font-size:10px}.level-switch-copy small{font-size:8px}
.audio-box,.teacher-text,.resources{border-radius:7px}.teacher-text{padding:15px;grid-template-columns:minmax(0,1fr) 130px}.teacher-text h3{font-size:13px}.teacher-text p{font-size:11px}
.resources{padding:10px}.resources button{font-size:9px}.resources button span{font-size:22px}
.lesson-navigation{padding:10px}.lesson-navigation button{font-size:10px}.lesson-navigation button>i{width:32px;height:32px}

/* Quiz e valutazione */
.quiz-page{grid-template-columns:minmax(0,1fr) 250px;gap:12px}
.quiz-main,.quiz-side{padding:18px}.quiz-title h2{font-size:19px}.quiz-main h3{font-size:17px;margin:18px 0}
.answers button{padding:12px;border-radius:6px;font-size:11px}.quiz-side h3{font-size:14px}
.final-card{max-width:820px!important;padding:28px!important}.final-card h2{font-size:23px}

/* Progressi */
.progress-layout{gap:12px}.progress-layout .card{padding:17px}.progress-layout h3{font-size:15px}
.growth-path{gap:8px}.growth-path>div{padding:12px}.growth-path strong{font-size:11px}.growth-path small{font-size:8px}

/* Community */
.community-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:12px}
.composer,.post,.community-side .card{padding:15px}.post{margin-bottom:10px}.post h3{font-size:13px}.post p{font-size:11px;line-height:1.5}
.post-actions button{font-size:10px}.community-side h3{font-size:14px}

/* Certificazioni */
.certificate-layout{grid-template-columns:250px minmax(0,1fr);gap:12px}
.cert-list,.certificate-pro{padding:16px}.cert-list h3{font-size:14px}
.cert-list button{padding:11px;border-radius:6px}.cert-border{padding:26px 34px;border-radius:4px}
.cert-header img{width:170px}.certificate-pro h1{font-size:29px}.certificate-pro h2{font-size:20px}
.cert-description,.cert-intro,.cert-edition{font-size:10px}.cert-metrics b{font-size:18px}.cert-metrics span{font-size:8px}
.cert-footer{font-size:8px}.cert-actions button{font-size:10px;border-radius:6px}

/* Calendario */
.calendar-grid{grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:12px}
.month,.agenda-full{padding:17px}.month h3,.agenda-full h3{font-size:15px}.days button{min-height:42px;border-radius:4px;font-size:11px}
.agenda-entry{padding:11px}.agenda-entry strong{font-size:11px}.agenda-entry small,.agenda-entry em{font-size:9px}

/* Messaggi */
.messages-layout{grid-template-columns:280px minmax(0,1fr);gap:12px}
.message-list,.message-open{padding:0}.message-list button{padding:12px}.message-list strong{font-size:11px}.message-list span,.message-list small{font-size:9px}
.message-open{padding:20px}.message-open h2{font-size:19px}.message-open p{font-size:11px;line-height:1.55}.message-open textarea{border-radius:6px}

/* Impostazioni */
.settings-grid{grid-template-columns:230px minmax(0,1fr) 260px;gap:12px}
.profile-card,.settings-form,.account-security{padding:18px}.profile-card h2{font-size:18px}.profile-card p,.profile-card small{font-size:10px}
.settings-form h3,.account-security h3{font-size:14px}.settings-form label,.account-security p{font-size:10px}.settings-form input,.settings-form select{border-radius:6px}

/* Supporto */
.support-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.support-card{padding:17px;min-height:175px}.support-card>i{font-size:23px}.support-card h3{font-size:14px}.support-card p{font-size:10px;line-height:1.45}
.support-card button{border-radius:6px;font-size:10px}.ticket-box{margin-top:12px!important;padding:18px}.ticket-box h3{font-size:15px}
.ticket-box input,.ticket-box select,.ticket-box textarea{border-radius:6px;font-size:11px}

/* Overlay e tutor AI */
.search-modal{border-radius:8px;max-width:680px}.search-head{padding:12px}.search-result{padding:10px;border-radius:5px}.search-result img{width:52px;height:38px}.search-result strong{font-size:11px}.search-result small{font-size:9px}
.ai-panel{width:340px;border-radius:8px 0 0 8px}.ai-head,.ai-input{padding:12px}.ai-msg{font-size:10px;border-radius:7px}

/* Breakpoint coerenti e riutilizzabili */
@media(max-width:1180px){
  :root{--app-content:100%}
  .app main{padding:16px 18px 32px}
  .course-grid,.academy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .settings-grid{grid-template-columns:220px minmax(0,1fr)}
  .account-security{grid-column:1/-1}
}
@media(max-width:900px){
  .app{grid-template-columns:1fr}
  .app>aside{display:none}
  .app main{padding:12px 14px 76px}
  .course-head,.course-body,.quiz-page,.community-layout,.certificate-layout,.calendar-grid,.messages-layout,.settings-grid{grid-template-columns:1fr}
  .course-head>img{height:260px;min-height:0}
  .catalog-tools{grid-template-columns:1fr 1fr}
  .lesson-shell{grid-template-columns:1fr}.lesson-index{border-right:0;border-bottom:1px solid var(--border-soft)}
  .lesson-slide-frame .slide-card{grid-template-columns:1fr}.key{border-left:0;border-top:1px solid var(--border-soft)}
  .level-controls{grid-template-columns:1fr}.level-switch{border-left:0;border-top:1px solid var(--border-soft)}
}
@media(max-width:620px){
  .page-title h2{font-size:20px}
  .course-summary{grid-template-columns:1fr 1fr}.course-summary>div:nth-child(2){border-right:0}.course-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border-soft)}
  .course-grid,.academy-grid,.support-grid{grid-template-columns:1fr}
  .catalog-tools{grid-template-columns:1fr}
  .course-head>div{padding:18px}.course-head h2{font-size:22px}
  .teacher-text{grid-template-columns:1fr}.text-tools{border-left:0;border-top:1px solid var(--border-soft);padding-top:8px}
  .resources{grid-template-columns:repeat(2,1fr)}
  .lesson-navigation{grid-template-columns:1fr}
  .cert-border{padding:20px 16px}.cert-metrics{grid-template-columns:1fr}.cert-signatures{grid-template-columns:1fr}
  .ai-panel{width:100%;border-radius:0}
}

@media(max-width:900px){
  .app>aside.app-sidebar{
    display:flex;
    position:fixed;
    inset:0 auto 0 0;
    width:min(86vw,300px);
    height:100dvh;
    z-index:1100;
    transform:translateX(-105%);
    transition:transform .24s ease;
    box-shadow:18px 0 45px rgba(20,35,60,.18);
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#fff;
  }
  .desktop-brand{display:none}
  .app main>header{
    display:flex;
    align-items:center;
    gap:9px;
  }
  .app main>header .global-search{min-width:0;flex:1}
  .app main>header .head-actions{flex:0 0 auto}
  .app-sidebar nav{padding-top:10px}
  .app-sidebar .support-box{margin-top:auto}
}

@media(max-width:520px){
  .app main>header .global-search span{display:none}
  .app main>header .global-search{width:40px;flex:0 0 40px;justify-content:center;padding:0}
  .app main>header{justify-content:flex-start}
  .app main>header .head-actions{margin-left:auto}
}

/* ==========================================================================
   NAVIGAZIONE RESPONSIVE IBRIDA
   Desktop: sidebar completa. Smartphone/tablet: barra primaria inferiore e
   drawer sinistro compatto per le funzioni secondarie.
   ========================================================================== */
.mobile-page-name,.mobile-bottom-nav,.mobile-profile-summary,.secondary-nav-label{display:none}
.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-overlay{display:none}
.avatar-button{border:0;padding:0;cursor:pointer}

@media (max-width:900px){
  :root{--mobile-header-height:54px;--mobile-bottom-height:66px}
  body{background:#fff}
  .app{display:block;min-height:100vh}
  .app main{padding:10px 12px calc(var(--mobile-bottom-height) + 18px)}
  .app main>header,.route-dashboard header.dashboard-header{
    position:sticky;top:0;z-index:40;height:var(--mobile-header-height);margin:0 -2px 10px;
    display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:8px;align-items:center;
    background:rgba(255,255,255,.96);border:0;border-bottom:1px solid var(--border-soft);
    border-radius:0;padding:6px 2px;backdrop-filter:blur(10px)
  }
  .mobile-menu-toggle{
    display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:7px;
    background:#eef5ff;color:var(--blue);font-size:17px
  }
  .mobile-page-name{display:block;min-width:0;font-weight:700;color:#14233c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .global-search,.route-dashboard .global-search.compact{
    display:grid;width:36px;min-width:36px;height:36px;padding:0;place-items:center;
    border:0!important;box-shadow:none!important;background:transparent;order:initial;margin:0
  }
  .global-search span{display:none}
  .head-actions{gap:3px!important}
  .head-actions>button{width:34px;height:34px;display:grid;place-items:center;border:0;background:transparent}
  .head-actions .avatar-button{display:none}
  .app-sidebar{
    display:flex!important;position:fixed!important;inset:0 auto 0 0;z-index:80;width:min(84vw,320px);height:100dvh;
    padding:0 14px 18px!important;background:#fff;transform:translateX(-105%);transition:transform .24s ease;
    box-shadow:18px 0 50px rgba(10,40,80,.18);overflow-y:auto
  }
  .app-sidebar.mobile-open{transform:translateX(0)}
  .desktop-brand{display:none}
  .mobile-sidebar-head{
    display:flex;position:sticky;top:0;z-index:2;justify-content:space-between;align-items:center;
    min-height:74px;padding:13px 2px;background:#fff;border-bottom:1px solid var(--border-soft)
  }
  .mobile-sidebar-head .logo{width:155px!important;margin:0!important}
  .mobile-sidebar-head small{display:block;margin-top:3px;color:var(--muted);font-size:9px}
  .mobile-menu-close{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;color:#284a70}
  .mobile-profile-summary{display:flex;align-items:center;gap:10px;margin:14px 2px 8px;padding:12px;border-radius:8px;background:#f7f9fc}
  .mobile-profile-summary .avatar{width:38px;height:38px}
  .mobile-profile-summary strong,.mobile-profile-summary small{display:block}
  .mobile-profile-summary strong{font-size:12px}.mobile-profile-summary small{font-size:9px;color:var(--muted);margin-top:2px}
  .desktop-primary-nav{display:none}
  .secondary-nav-label{display:block;padding:12px 11px 6px;color:#8a96a7;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
  .app-sidebar nav{display:grid!important;gap:2px!important;padding:0!important}
  .app-sidebar .nav-item{min-height:42px!important;padding:10px 11px!important;border-radius:6px!important}
  .app-sidebar .nav-item span{font-size:12px!important}
  .app-sidebar .support-box{display:none}
  .mobile-menu-overlay{display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(7,29,57,.38);opacity:0;visibility:hidden;transition:.2s}
  .mobile-menu-active .mobile-menu-overlay{opacity:1;visibility:visible}
  .mobile-bottom-nav{
    display:grid;position:fixed;z-index:60;left:0;right:0;bottom:0;height:var(--mobile-bottom-height);
    grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);border-top:1px solid var(--border-soft);
    padding:5px max(8px,env(safe-area-inset-left)) calc(5px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 28px rgba(20,53,92,.09);backdrop-filter:blur(12px)
  }
  .mobile-bottom-nav button{
    position:relative;display:grid;place-items:center;align-content:center;gap:4px;border:0;background:transparent;
    color:#738196;font-size:18px;border-radius:8px;padding:5px
  }
  .mobile-bottom-nav button span{font-size:9px;font-weight:600}
  .mobile-bottom-nav button.active{color:var(--blue);background:#eef5ff}
  .mobile-bottom-nav button.active:before{content:"";position:absolute;top:-6px;width:28px;height:3px;border-radius:3px;background:var(--blue)}
  body:has(.mobile-menu-active){overflow:hidden}
  /* Modalità lezione: più spazio al contenuto, senza barra inferiore. */
  .route-lesson main{padding-bottom:18px}
  .route-lesson .mobile-bottom-nav{display:none}
}

@media (min-width:901px){
  .mobile-sidebar-head,.mobile-profile-summary,.secondary-nav-label{display:none!important}
}


/* ==========================================================================
   CORREZIONI NAVIGAZIONE MOBILE 0.9.2
   - Tutor AI rimane sempre accanto alla campanella;
   - ricerca, Tutor AI e notifiche hanno colonne dedicate;
   - il pannello AI è pienamente utilizzabile su smartphone.
   ========================================================================== */
.mobile-ai-nav{display:none!important}

@media (max-width:900px){
  .app main>header,.route-dashboard header.dashboard-header{
    grid-template-columns:40px minmax(0,1fr) 36px 36px 36px;
    column-gap:5px;
    overflow:visible;
  }

  .app-sidebar{
    flex-direction:column!important;
    align-items:stretch!important;
    visibility:visible;
  }
  .app-sidebar nav{width:100%;flex:1 0 auto}

  .global-search,.route-dashboard .global-search.compact{
    grid-column:3;
    justify-self:center;
  }

  .head-actions{
    grid-column:4 / 6;
    display:grid!important;
    grid-template-columns:36px 36px;
    gap:2px!important;
    width:74px;
    margin:0!important;
    justify-self:end;
    align-items:center;
  }
  .head-actions>button{
    position:relative;
    width:36px;
    height:36px;
    display:grid!important;
    place-items:center;
    border:0;
    background:transparent;
    border-radius:7px;
    color:#111827;
    font-size:16px;
    touch-action:manipulation;
  }
  .head-actions>button:active{background:#eef5ff;color:var(--blue)}
  .head-actions>.avatar-button{display:none!important}
  .notify-dot{right:3px!important;top:2px!important}

  .mobile-menu-active .app-sidebar{transform:translateX(0)!important}
  .mobile-menu-active .mobile-menu-overlay{pointer-events:auto}
  .mobile-menu-overlay{pointer-events:none}

  .ai-panel{
    inset:8px!important;
    width:auto!important;
    max-width:none!important;
    border-radius:10px!important;
    padding:14px!important;
    z-index:5000!important;
    grid-template-rows:auto minmax(0,1fr) auto auto auto;
    overflow:hidden;
  }
  .ai-chat{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .ai-prompts{padding-bottom:2px}
  .ai-input input{min-width:0;font-size:16px}
  .ai-head button,.ai-input button{touch-action:manipulation}
}

@media (max-width:420px){
  .app main{padding-left:10px;padding-right:10px}
  .app main>header,.route-dashboard header.dashboard-header{margin-left:0;margin-right:0}
  .mobile-page-name{font-size:16px}
}


/* --------------------------------------------------------------------------
   TUTOR AI — OVERLAY RESPONSIVE E INTERAZIONE TOUCH
   -------------------------------------------------------------------------- */
.ai-overlay{
  position:fixed;
  inset:0;
  z-index:4490;
  background:rgba(7,29,57,.34);
  display:flex;
  justify-content:flex-end;
  padding:18px;
}
.ai-overlay .ai-panel{
  position:relative;
  inset:auto;
  right:auto;
  top:auto;
  bottom:auto;
  height:100%;
  max-height:calc(100dvh - 36px);
  z-index:1;
}
#aiTutorButton{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

@media(max-width:800px){
  .ai-overlay{
    z-index:5100;
    padding:8px;
    align-items:stretch;
  }
  .ai-overlay .ai-panel{
    inset:auto!important;
    width:100%!important;
    height:100%!important;
    max-height:calc(100dvh - 16px)!important;
    border-radius:10px!important;
  }
}


/* Catalogo + Academy integrate — coerente con il design book */
.catalog-academies{max-width:var(--app-content);margin:0 auto 14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:var(--shadow)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:11px}
.section-heading small{display:block;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.12em;margin-bottom:3px}
.section-heading h3{font-size:15px;margin:0;color:var(--navy)}
.catalog-all{border:1px solid #dbe6f4;background:#fff;color:var(--blue);border-radius:6px;padding:7px 10px;font-size:10px;font-weight:700}
.catalog-all.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.academy-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.academy-chip{min-width:0;border:1px solid #e2e9f2;background:#fff;border-radius:8px;padding:10px 9px;display:flex;align-items:center;gap:8px;text-align:left;color:#294363;transition:.15s}
.academy-chip:hover{border-color:#9fc6f5;background:#f7fbff}
.academy-chip.active{border-color:var(--blue);background:#eef5ff;box-shadow:inset 0 0 0 1px rgba(8,101,217,.08)}
.academy-chip>i{width:28px;height:28px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto;font-size:13px}
.academy-chip.active>i{background:var(--blue);color:#fff}
.academy-chip span{min-width:0;display:block}
.academy-chip strong,.academy-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.academy-chip strong{font-size:10px;color:#203a5d}
.academy-chip small{font-size:8px;color:var(--muted);margin-top:2px}
@media(max-width:1200px){.academy-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.catalog-academies{padding:12px}.academy-strip{display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:2px}.academy-chip{min-width:145px;scroll-snap-align:start}.section-heading{align-items:center}.section-heading h3{font-size:14px}}
@media(max-width:520px){.section-heading{display:block}.catalog-all{margin-top:9px}.academy-chip{min-width:138px}}

/* Dashboard - badge e ultimo attestato aderenti al layout del PDF cliente */
.dashboard-bottom-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:12px;
}
.dashboard-bottom-grid .badges,
.dashboard-bottom-grid .last-cert{
  min-height:92px;
  padding:12px 14px;
  border-color:#e5eaf1;
  box-shadow:0 2px 8px rgba(28,55,90,.045);
}
.dashboard-bottom-grid h3{
  margin:0 0 9px;
  font-size:10.5px;
  font-weight:700;
  color:#172b4d;
}
.dashboard-bottom-grid .badge-row{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:14px;
  padding:0 2px;
}
.dashboard-bottom-grid .badge-row span{
  position:relative;
  isolation:isolate;
  flex:0 0 34px;
  width:34px;
  height:38px;
  border:0;
  clip-path:none;
  display:grid;
  place-items:center;
  background:transparent;
  color:#176bd7;
  font-size:14px;
}
.dashboard-bottom-grid .badge-row span::before,
.dashboard-bottom-grid .badge-row span::after{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);
}
.dashboard-bottom-grid .badge-row span::before{
  z-index:-2;
  background:#9ebce5;
}
.dashboard-bottom-grid .badge-row span::after{
  z-index:-1;
  inset:1.5px;
  background:#fff;
}
.dashboard-bottom-grid .badge-row span i{position:relative;z-index:1}
.dashboard-bottom-grid .last-cert>div{
  min-height:49px;
  gap:10px;
  align-items:center;
}
.dashboard-bottom-grid .last-cert>div>div:nth-child(2){min-width:0}
.dashboard-bottom-grid .last-cert strong{
  font-size:9.5px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-bottom-grid .last-cert small{
  margin-top:2px;
  font-size:7.7px;
  line-height:1.22;
}
.dashboard-bottom-grid .cert-thumb{
  position:relative;
  flex:0 0 36px;
  width:36px;
  height:47px;
  padding:5px 4px;
  overflow:hidden;
  border:1px solid #d8dee8;
  background:linear-gradient(#fff,#fbfcfe);
  box-shadow:0 1px 3px rgba(31,54,84,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.dashboard-bottom-grid .cert-thumb::after{
  content:"";
  position:absolute;
  left:6px;
  right:6px;
  bottom:5px;
  height:1px;
  background:#dce3ec;
  box-shadow:0 -3px #e5eaf0,0 -6px #e5eaf0;
}
.dashboard-bottom-grid .cert-mini-logo{
  display:block;
  width:15px;
  height:6px;
  margin-bottom:1px;
  border-radius:1px;
  background:#176bd7;
  opacity:.9;
}
.dashboard-bottom-grid .cert-thumb b{
  width:17px;
  height:2px;
  background:#aab7c7;
  border-radius:2px;
}
.dashboard-bottom-grid .cert-thumb span{
  width:23px;
  height:1px;
  background:#d4dce6;
}
.dashboard-bottom-grid .last-cert button{
  flex:0 0 30px;
  width:30px;
  height:30px;
  padding:0;
  display:grid;
  place-items:center;
  margin-left:auto;
  border-radius:5px;
  background:#eef5ff;
  font-size:13px;
}
@media(max-width:580px){
  .dashboard-bottom-grid .badge-row{gap:16px}
  .dashboard-bottom-grid .last-cert strong{white-space:normal}
}

/* v0.9.6: i numeri colorati 1–4 del mockup erano annotazioni esplicative, non elementi UI. */
.lesson-engine .step,.level-switch-number{display:none!important}


/* ==========================================================================
   LESSON PAGE — TUNING SMARTPHONE 0.9.7
   Corregge l'allineamento della pagina lezione su smartphone:
   - nessun elemento della toolbar va a capo in modo scomposto;
   - ricompare un riepilogo compatto della lezione quando il menu laterale è nascosto;
   - card, controlli e azioni sono impaginati in modo più ordinato.
   ========================================================================== */
.lesson-mobile-summary{display:none}

@media (max-width:900px){
  .route-lesson .lesson-mobile-summary{
    display:grid;
    gap:5px;
    margin-bottom:12px;
    padding:14px 14px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:var(--shadow);
  }
  .route-lesson .lesson-mobile-summary small{
    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    color:var(--blue);
  }
  .route-lesson .lesson-mobile-summary h2{
    margin:0;
    font-size:21px;
    line-height:1.18;
    color:#132b52;
  }
  .route-lesson .lesson-mobile-summary p{
    margin:0;
    font-size:12px;
    color:var(--muted);
  }
  .route-lesson .lesson-mobile-summary p strong{color:#21446f}
}

@media (max-width:760px){
  .route-lesson main{padding-left:12px;padding-right:12px}

  .route-lesson .lesson-top{
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 36px;
    align-items:center;
    gap:10px;
    padding:12px;
    min-height:auto;
    border-radius:12px 12px 0 0;
  }
  .route-lesson .lesson-back{
    width:40px;
    height:40px;
    padding:0!important;
    display:grid;
    place-items:center;
    border-radius:10px!important;
    background:#eef5ff!important;
  }
  .route-lesson .lesson-back span:last-child,
  .route-lesson .lesson-course-title,
  .route-lesson .lesson-top .lesson-icon-btn:last-child{display:none!important}

  .route-lesson .lesson-status{
    justify-self:stretch;
    display:grid;
    grid-template-columns:auto minmax(72px,92px);
    align-items:center;
    justify-content:end;
    gap:8px;
    min-width:0;
    font-size:11px;
  }
  .route-lesson .lesson-status span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .route-lesson .lesson-progress-mini{width:100%;max-width:92px;min-width:72px;flex-basis:auto}

  .route-lesson .lesson-icon-btn{
    width:36px!important;
    height:36px!important;
    border-radius:10px!important;
    background:#f5f8fc!important;
  }

  .route-lesson .lesson-shell{
    border-radius:0 0 12px 12px;
    overflow:hidden;
  }

  .route-lesson .lesson-main{padding:12px}

  .route-lesson .lesson-mobile-summary{
    margin-bottom:10px;
    padding:12px;
  }
  .route-lesson .lesson-mobile-summary h2{font-size:18px}

  .route-lesson .lesson-slide-frame{gap:12px}
  .route-lesson .slide-card{
    padding:12px;
    gap:12px;
    border-radius:12px;
    min-height:0;
  }
  .route-lesson .slide-media{border-radius:10px}
  .route-lesson .slide-media .scan{
    min-height:0;
    aspect-ratio:4 / 3;
    width:100%;
  }
  .route-lesson .slide-playbar{
    grid-template-columns:30px auto minmax(90px,1fr);
    gap:8px;
    padding:10px;
    font-size:11px;
  }
  .route-lesson .key{padding:12px 0 0;border-top:1px solid var(--line)}
  .route-lesson .key h3{margin-top:0;margin-bottom:10px;font-size:16px}
  .route-lesson .key p{font-size:13px;line-height:1.55;margin-bottom:14px}
  .route-lesson .key button{width:100%;justify-content:center}

  .route-lesson .level-controls{
    border-radius:12px;
    overflow:hidden;
  }
  .route-lesson .level-controls-title{padding:14px 14px 12px}
  .route-lesson .level-switch{
    padding:13px 14px;
    grid-template-columns:minmax(0,1fr) 42px;
    gap:12px;
  }

  .route-lesson .audio-box{
    display:grid;
    grid-template-columns:28px auto auto;
    align-items:center;
    gap:10px;
    padding:12px;
    border-radius:12px;
  }
  .route-lesson .audio-box .wave{grid-column:1/-1;width:100%;min-height:28px}
  .route-lesson .audio-box select{justify-self:end}
  .route-lesson .audio-box button:last-child{justify-self:end}

  .route-lesson .transcript{
    margin-top:10px;
    padding:12px;
    font-size:13px;
    line-height:1.5;
  }

  .route-lesson .teacher-text{
    padding:14px;
    gap:12px;
    border-radius:12px;
  }
  .route-lesson .teacher-text strong{font-size:14px}
  .route-lesson .teacher-text p{font-size:13px;line-height:1.6}
  .route-lesson .text-tools{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding-top:12px;
  }
  .route-lesson .text-tools button{
    min-height:38px;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    text-align:center;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:6px;
    white-space:normal;
  }

  .route-lesson .resources{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px;
    border-radius:12px;
  }
  .route-lesson .resources button{
    min-height:82px;
    padding:10px 8px;
    border:1px solid rgba(107,70,193,.18);
    border-radius:10px;
    background:#fff;
  }
  .route-lesson .resources button:last-child{
    grid-column:1/-1;
    max-width:180px;
    width:100%;
    justify-self:center;
  }

  .route-lesson .lesson-navigation{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
    border-radius:12px;
  }
  .route-lesson .lesson-navigation button{
    justify-content:flex-start;
    padding:2px 0;
  }

  .route-lesson .lesson-foot{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
  }
  .route-lesson .lesson-foot button{
    min-width:0;
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
  }
  .route-lesson .lesson-foot button:last-child{grid-column:1/-1}
}

@media (max-width:420px){
  .route-lesson main{padding-left:10px;padding-right:10px}
  .route-lesson .lesson-top{grid-template-columns:40px minmax(0,1fr) 34px;gap:8px;padding:10px}
  .route-lesson .lesson-status{grid-template-columns:1fr 76px;font-size:10px}
  .route-lesson .slide-playbar{grid-template-columns:28px auto minmax(76px,1fr)}
  .route-lesson .audio-box{grid-template-columns:26px 1fr auto}
  .route-lesson .text-tools{grid-template-columns:1fr}
  .route-lesson .resources{grid-template-columns:1fr 1fr}
}


/* ==========================================================================
   LESSON ENGINE — allineamento al menu inferiore del documento
   ========================================================================== */
.lesson-bottom-menu{
  display:grid;
  grid-template-columns:1.15fr repeat(4,minmax(0,1fr)) 1.15fr;
  gap:0;
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.lesson-bottom-item{
  border:0;
  border-right:1px solid var(--line);
  background:#fff;
  min-height:72px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#233f67;
}
.lesson-bottom-item:last-child{border-right:0}
.lesson-bottom-item:hover{background:#f8fbff}
.lesson-bottom-item .lesson-bottom-icon{
  color:#324d86;
  font-size:18px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.lesson-bottom-copy{display:grid;gap:3px;min-width:0}
.lesson-bottom-copy strong{font-size:12px;font-weight:600;color:#20395f}
.lesson-bottom-copy small{font-size:10px;color:var(--muted)}
.lesson-bottom-item.center{flex-direction:column;gap:8px;padding-inline:10px}
.lesson-bottom-item.center .lesson-bottom-icon{font-size:17px}
.lesson-bottom-item.edge.left{justify-content:flex-start;text-align:left}
.lesson-bottom-item.edge.right{justify-content:flex-end;text-align:right}

@media (max-width:900px){
  .lesson-bottom-menu{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lesson-bottom-item:nth-child(3){border-right:0}
  .lesson-bottom-item:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .lesson-bottom-item.edge.left,.lesson-bottom-item.edge.right{justify-content:center;text-align:center}
}

@media (max-width:620px){
  .lesson-bottom-menu{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:12px}
  .lesson-bottom-item{min-height:68px;padding:12px 10px}
  .lesson-bottom-item:nth-child(odd){border-right:1px solid var(--line)}
  .lesson-bottom-item:nth-child(even){border-right:0}
  .lesson-bottom-item:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .lesson-bottom-item.center,.lesson-bottom-item.edge.left,.lesson-bottom-item.edge.right{justify-content:center;text-align:center;flex-direction:column;gap:8px}
}

@media (max-width:420px){
  .lesson-bottom-item .lesson-bottom-icon{font-size:16px}
  .lesson-bottom-copy strong{font-size:11px}
}


/* =====================================================================
   ALIGNMENT WITH PDF PAGES 8-12 — lesson engine refinement
   ===================================================================== */
.key ul{margin:0 0 16px 18px;padding:0;display:grid;gap:10px;color:#334c69;line-height:1.45}
.audio-stack{display:grid;gap:10px;margin-top:14px}
.audio-segments{border-top:1px solid #e9eef5;padding-top:10px}
.audio-segments-track{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:start}
.audio-segment{display:grid;justify-items:center;gap:6px;color:#72829a;font-size:10px}
.audio-segment i{width:100%;height:10px;position:relative;display:block}
.audio-segment i:before{content:"";position:absolute;left:50%;top:1px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#b8c5d6}
.audio-segment i:after{content:"";position:absolute;left:0;right:0;top:3px;height:2px;background:#d7e0ea}
.audio-segment.active i:before{background:var(--blue);width:8px;height:8px;top:0}
.audio-segment.active b{color:#173b6f}
.resources-shell{display:grid;grid-template-columns:minmax(0,1.55fr) 290px;gap:14px;margin-top:14px}
.resources-explorer,.resource-panel{border:1px solid #d8caef;border-radius:10px;background:#fff}
.resources-explorer{padding:14px}
.resources-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.resources-head strong{display:block;color:#6b46c1;font-size:14px}
.resources-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}
.resource-panel-toggle{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;color:#35527d;white-space:nowrap}
.resource-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}
.resource-tab{border:0;background:transparent;border-bottom:2px solid transparent;padding:8px 4px 10px;display:grid;justify-items:center;gap:6px;color:#6f58ae;font-size:10px;text-align:center}
.resource-tab i{font-size:18px}.resource-tab.active{border-bottom-color:#6b46c1;color:#5335a1;font-weight:700}
.resource-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.resource-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;overflow:hidden;text-align:left;display:grid;grid-template-rows:88px auto;position:relative}
.resource-card img{width:100%;height:88px;object-fit:cover;background:#edf2f8}
.resource-card span{display:grid;gap:4px;padding:10px 12px 24px}
.resource-card strong{font-size:11px;color:#27456d}.resource-card small{font-size:10px;color:var(--muted)}
.resource-card>i{position:absolute;right:10px;bottom:10px;color:#8f9cb0;font-size:12px}
.resources-footer{display:flex;justify-content:center;padding-top:10px}
.resources-footer button{border:0;background:transparent;color:#415c8a;font-weight:600}
.resource-panel{padding:12px;display:grid;align-content:start;gap:8px}
.resource-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:8px;border-bottom:1px solid var(--line)}
.resource-panel-head strong{font-size:14px;color:#20395f}
.resource-panel-head button{border:0;background:transparent;color:#516b90}
.resource-panel-item{display:grid;grid-template-columns:28px minmax(0,1fr) 28px 12px;gap:8px;align-items:center;border:0;background:#fff;padding:8px;border-radius:8px;text-align:left;color:#27456d}
.resource-panel-item:hover,.resource-panel-item.active{background:#f5f8ff}
.resource-panel-icon{display:grid;place-items:center;color:#5c44ad}.resource-panel-copy strong,.resource-panel-copy small{display:block}
.resource-panel-copy strong{font-size:12px}.resource-panel-copy small{font-size:10px;color:var(--muted);line-height:1.3;margin-top:2px}
.resource-panel-item b{justify-self:center;font-size:11px;color:#6b46c1;background:#f1ecff;padding:2px 6px;border-radius:10px}
.resource-panel-item i{color:#8ea0b8;font-size:11px}
.resource-panel-close{margin-top:4px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;color:#35527d}
.text-tools button{display:flex;align-items:center;gap:8px}
@media(max-width:1180px){.resource-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-shell{grid-template-columns:1fr}}
@media(max-width:760px){.audio-segments-track{grid-template-columns:repeat(4,1fr)}.resource-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-head{display:grid}.resource-panel-toggle{justify-self:start}}
@media(max-width:520px){.audio-segments-track{grid-template-columns:repeat(2,1fr)}.resource-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-cards{grid-template-columns:1fr}.resource-card{grid-template-rows:120px auto}.resource-card img{height:120px}}


/* =====================================================================
   v1.0.0 — lesson priorities implementation
   ===================================================================== */
.lesson-top .lesson-progress-mini{height:6px;background:#dfe8f4;border-radius:999px;overflow:hidden;width:110px}
.lesson-top .lesson-progress-mini .lesson-progress-value{display:block;height:100%;background:#1e6bf1;border-radius:999px}
.section-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:11px}
.section-kicker span{font-weight:800;letter-spacing:.02em}
.section-kicker small{color:var(--muted);font-size:11px}
.section-kicker-blue span{color:#1f63d3}.section-kicker-green span{color:#4b9d2f}.section-kicker-orange span{color:#e58a0e}.section-kicker-violet span{color:#6b46c1}
.slide-caption{padding:12px 12px 6px;display:grid;gap:5px}
.slide-caption small{font-size:11px;color:#1f63d3;font-weight:800;letter-spacing:.05em}
.slide-caption strong{font-size:18px;color:#17345d}
.slide-caption span{font-size:12px;color:#6e7e96;line-height:1.4}
.level-base-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:#f8fbff}
.level-base-badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#1f63d3}
.audio-section,.teacher-text-wrap,.resources-section{margin-top:14px}
.audio-inline-status{display:flex;flex-wrap:wrap;gap:12px;padding:0 4px;color:#5e738e;font-size:12px}
.audio-inline-status span{display:inline-flex;align-items:center;gap:6px}
.audio-segments-title{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.audio-segments-title strong{font-size:13px;color:#24466f}.audio-segments-title small{font-size:11px;color:#7788a0}
.audio-segments-track{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.audio-segment{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px 6px;display:grid;justify-items:center;gap:6px;color:#72829a;font-size:10px}
.audio-segment small{font-size:10px;line-height:1.2}.audio-segment i{width:100%;height:10px;position:relative;display:block}
.audio-segment i:before{content:"";position:absolute;left:50%;top:1px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:#b8c5d6}
.audio-segment i:after{content:"";position:absolute;left:0;right:0;top:3px;height:2px;background:#d7e0ea}
.audio-segment.active{border-color:#7fb163;background:#f7fcf2;color:#24466f}.audio-segment.active i:before{background:#4b9d2f;width:8px;height:8px;top:0}
.teacher-text{align-items:start}
.teacher-body{display:grid;gap:12px}
.teacher-search{position:relative}
.teacher-search input{width:100%;padding:11px 38px 11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.teacher-search span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#6f8198}
.teacher-body p{margin:0;line-height:1.7}
.teacher-body mark{background:#fff0a7;padding:0 2px;border-radius:3px}
.text-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.text-tools button{min-height:42px;justify-content:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#27456d}
.note-editor{margin-top:10px;border:1px solid #f3d5a0;background:#fffaf0;border-radius:12px;padding:12px;display:grid;gap:10px}
.note-editor textarea{width:100%;min-height:88px;border:1px solid var(--line);border-radius:10px;padding:12px;resize:vertical}
.note-editor-actions{display:flex;gap:10px;justify-content:flex-end}
.note-list{display:grid;gap:10px;margin-top:10px}
.note-item{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border:1px solid #f1d6a8;background:#fffef8;border-radius:12px;padding:12px}
.note-item strong{display:block;color:#17345d}.note-item small{display:block;color:#7e8b9b;margin-top:2px}.note-item p{margin:8px 0 0;line-height:1.55}
.note-item button{border:0;background:#fff;color:#9e6a2d;border-radius:10px;padding:8px}
.resources-explorer{border:1px solid #dccdf2;border-radius:12px;background:#fff;padding:14px}
.resources-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.resources-head strong{display:block;color:#6b46c1;font-size:14px}
.resources-head small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}
.resource-panel-toggle{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;color:#35527d;white-space:nowrap}
.resource-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}
.resource-tab{border:0;background:transparent;border-bottom:2px solid transparent;padding:8px 4px 10px;display:grid;justify-items:center;gap:6px;color:#6f58ae;font-size:10px;text-align:center}
.resource-tab i{font-size:18px}.resource-tab.active{border-bottom-color:#6b46c1;color:#5335a1;font-weight:700}
.resource-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.resource-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:0;overflow:hidden;text-align:left;display:grid;grid-template-rows:88px auto;position:relative}
.resource-card img{width:100%;height:88px;object-fit:cover;background:#edf2f8}
.resource-card span{display:grid;gap:4px;padding:10px 12px 24px}.resource-card strong{font-size:11px;color:#27456d}.resource-card small{font-size:10px;color:var(--muted)}.resource-card>i{position:absolute;right:10px;bottom:10px;color:#8f9cb0;font-size:12px}
.resource-drawer-backdrop,.resource-viewer-backdrop{position:fixed;inset:0;background:rgba(18,28,43,.38);display:grid;z-index:80}
.resource-drawer-backdrop{justify-items:end}
.resource-drawer{width:min(360px,100vw);height:100%;background:#fff;padding:16px;display:grid;align-content:start;gap:10px;box-shadow:-16px 0 40px rgba(0,0,0,.12)}
.resource-drawer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:8px;border-bottom:1px solid var(--line)}
.resource-drawer-head strong{display:block;color:#20395f}.resource-drawer-head small{display:block;color:#7f8ea2;font-size:11px;margin-top:3px}
.resource-drawer-head button,.resource-viewer-head button{border:0;background:#f5f8fc;border-radius:10px;padding:8px;color:#516b90}
.resource-panel-item{display:grid;grid-template-columns:28px minmax(0,1fr) 28px 12px;gap:8px;align-items:center;border:0;background:#fff;padding:10px;border-radius:10px;text-align:left;color:#27456d}
.resource-panel-item:hover,.resource-panel-item.active{background:#f5f8ff}
.resource-panel-icon{display:grid;place-items:center;color:#5c44ad}.resource-panel-copy strong,.resource-panel-copy small{display:block}.resource-panel-copy strong{font-size:12px}.resource-panel-copy small{font-size:10px;color:var(--muted);line-height:1.3;margin-top:2px}.resource-panel-item b{justify-self:center;font-size:11px;color:#6b46c1;background:#f1ecff;padding:2px 6px;border-radius:10px}.resource-panel-item i{color:#8ea0b8;font-size:11px}
.resource-panel-close{margin-top:4px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px;color:#35527d}
.resource-viewer-backdrop{place-items:center;padding:16px}
.resource-viewer{width:min(760px,100%);background:#fff;border-radius:16px;padding:16px;display:grid;gap:12px;box-shadow:0 18px 48px rgba(0,0,0,.15)}
.resource-viewer-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.resource-viewer-head strong{display:block;color:#20395f}.resource-viewer-head small{display:block;color:#7f8ea2;font-size:11px;margin-top:3px}
.resource-viewer img{width:100%;height:min(340px,42vh);object-fit:cover;border-radius:12px;background:#eef3fa}
.resource-viewer p{margin:0;line-height:1.6;color:#4a607f}.resource-viewer-actions{display:flex;gap:10px;justify-content:flex-end}
.resources-footer{display:flex;justify-content:center;padding-top:10px}.resources-footer button{border:0;background:transparent;color:#415c8a;font-weight:600}
.nav-group-label{margin-top:18px;margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.06em;color:#2f4e77}
.nav-group-label.secondary{color:#5d6780}
.slide-nav button{position:relative}
.nav-badge{position:absolute;top:10px;right:10px;font-size:10px;text-transform:uppercase;color:#7e8ea5;background:#f1f5fa;padding:3px 7px;border-radius:999px}
.lesson-bottom-menu{margin-top:0}
@media (max-width:1180px){.resource-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.audio-segments-track{grid-template-columns:repeat(3,minmax(0,1fr))}.text-tools{grid-template-columns:1fr}.resource-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.resources-head{display:grid}.resource-panel-toggle{justify-self:start}.resource-drawer{width:min(100vw,420px)}.resource-viewer-actions{flex-direction:column}.nav-badge{position:static;margin-left:auto}}
@media (max-width:520px){.slide-caption strong{font-size:16px}.audio-segments-track{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.resource-cards{grid-template-columns:1fr}.resource-card{grid-template-rows:120px auto}.resource-card img{height:120px}.resource-drawer{width:100vw}.resource-viewer{padding:14px}}


/* v1.0.1 — reposition slide navigation below slide player */
.lesson-slide-frame > .nav-group-label{margin-top:2px}
.lesson-slide-frame > .lesson-navigation.slide-nav{margin-top:0;margin-bottom:2px}
.lesson-slide-frame > .level-controls{margin-top:4px}

/* =====================================================================
   v1.1.0 — onboarding, metodo, casi clinici e quiz avanzato
   ===================================================================== */
.onboarding-page{min-height:100vh;background:linear-gradient(135deg,#f5f9ff 0%,#fff 55%,#f7fbff 100%);padding:28px;display:grid;place-items:center}
.onboarding-shell{width:min(1080px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(24,55,94,.13);padding:28px;display:grid;gap:22px}
.onboarding-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.onboarding-progress span{height:6px;border-radius:999px;background:#e5ecf5}.onboarding-progress span.active{background:var(--blue)}
.onboarding-copy small{color:var(--blue);font-weight:800;letter-spacing:.06em}.onboarding-copy h2{margin:6px 0 8px;font-size:30px}.onboarding-copy p{margin:0;color:var(--muted);line-height:1.6}
.onboarding-hero{display:grid;grid-template-columns:240px minmax(0,1fr);gap:34px;align-items:center;padding:32px;border-radius:16px;background:#f6f9fd}.onboarding-hero .logo{width:210px;margin:0}.onboarding-claim span{font-size:11px;color:var(--blue);font-weight:800;letter-spacing:.08em}.onboarding-claim h1{font-size:36px;line-height:1.15;margin:8px 0 12px;color:#132b52}.onboarding-claim p{color:#60728b;line-height:1.6}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.choice-grid.academy-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px;display:grid;gap:10px;text-align:left;color:#24466f}.choice-card>i{font-size:24px;color:var(--blue)}.choice-card small{color:var(--muted);line-height:1.45}.choice-card.active{border-color:var(--blue);background:#f3f8ff;box-shadow:0 0 0 3px rgba(8,101,217,.08)}
.recommended-path{display:grid;grid-template-columns:42% 1fr;overflow:hidden}.recommended-path img{width:100%;height:100%;min-height:280px;object-fit:cover}.recommended-path>div{padding:26px}.recommended-path h2{margin:8px 0 10px;font-size:28px}.recommended-path p{color:var(--muted);line-height:1.6}
.tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tour-card{border:1px solid var(--line);border-radius:14px;padding:18px;display:grid;gap:9px}.tour-card i{font-size:24px;color:var(--blue)}.tour-card small{color:var(--muted);line-height:1.4}
.onboarding-actions{display:flex;justify-content:space-between;gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:18px}.onboarding-actions>button,.onboarding-actions>div button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px 16px}.onboarding-actions>div{display:flex;gap:10px}.onboarding-actions .primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.onboarding-restart{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;color:#35527d}
.learning-method{max-width:var(--app-content);margin:14px auto 0;padding:18px}.learning-method .section-heading{margin:0 0 16px}.learning-method .section-heading small{color:var(--blue);font-weight:800}.learning-method .section-heading h3{margin:4px 0 0}.method-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.method-step{position:relative;border:1px solid var(--line);border-radius:12px;padding:14px 10px;display:grid;justify-items:center;text-align:center;gap:7px}.method-step b{position:absolute;top:7px;left:8px;font-size:9px;color:#718199}.method-step i{font-size:22px;color:var(--blue)}.method-step strong{font-size:12px}.method-step small{font-size:10px;line-height:1.3;color:var(--muted)}
.quiz-page.enhanced{grid-template-columns:minmax(0,1fr) 260px}.quiz-question-grid{display:grid;grid-template-columns:36% minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}.quiz-question-grid>img{width:100%;height:240px;object-fit:cover;border-radius:12px;background:#111}.quiz-question-grid h3{margin-top:0}.feedback>div{display:flex;gap:10px;flex-wrap:wrap}.feedback button{border:1px solid #b9dcc9;background:#fff;border-radius:8px;padding:9px 12px;color:#2d6f4a}.quiz-side p{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;color:#78889d}.quiz-side p.active{background:#eef5ff;color:#1e5fb5;font-weight:700}.quiz-side p i{width:22px}.case-link{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:11px;color:#30527e}
.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px}.case-main,.case-side{padding:22px}.case-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.case-stepper span{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;font-size:10px;color:#7b8ba0}.case-stepper b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eef2f7}.case-stepper span.active{color:#235a9e;font-weight:700}.case-stepper span.active b{background:var(--blue);color:#fff}.case-scenario{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:20px;align-items:stretch}.case-scenario img{width:100%;height:260px;object-fit:cover;border-radius:12px}.case-scenario p{line-height:1.65;color:#4d6079}.case-facts{display:flex;flex-wrap:wrap;gap:8px}.case-facts span{background:#f4f7fb;border-radius:20px;padding:7px 10px;font-size:11px}.case-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.case-images img{width:100%;height:270px;object-fit:cover;border-radius:12px}.case-prompt{font-weight:700}.case-options{display:grid;gap:12px}.case-options button{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px;text-align:left}.case-options button span{width:30px;height:30px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.case-options button.selected{border-color:var(--blue);background:#f2f7ff}.case-feedback{padding:18px;border-radius:12px}.case-feedback.correct{background:#eefaf3}.case-feedback.review{background:#fff7e8}.case-feedback p{line-height:1.65}.case-feedback button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px}.case-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.case-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 15px}.case-actions button.primary{background:var(--blue);color:#fff}.case-actions button:disabled{opacity:.45}.case-side p{display:flex;gap:10px;align-items:center;padding:10px;border-radius:10px;color:#7f8fa4}.case-side p.active{background:#eef5ff;color:#1e5fb5;font-weight:700}
@media(max-width:1000px){.choice-grid.academy-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.method-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.quiz-page.enhanced,.case-layout{grid-template-columns:1fr}.case-side{display:grid;grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.onboarding-page{padding:10px}.onboarding-shell{padding:18px;border-radius:14px}.onboarding-hero,.recommended-path,.quiz-question-grid,.case-scenario{grid-template-columns:1fr}.onboarding-hero{padding:20px}.onboarding-hero .logo{width:180px}.onboarding-claim h1{font-size:28px}.choice-grid,.choice-grid.academy-choice,.tour-grid{grid-template-columns:1fr}.method-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.case-stepper{grid-template-columns:1fr 1fr}.case-images{grid-template-columns:1fr}.case-side{grid-template-columns:1fr 1fr}.onboarding-actions{align-items:stretch}.onboarding-actions,.onboarding-actions>div{flex-direction:column}.onboarding-actions button{width:100%}.quiz-question-grid>img{height:210px}}


/* v1.1.1 — medical academy icons + teacher text layout fix */
.academy-chip>i,.academy-card>i,.choice-card>i{
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#eef5ff;
  color:var(--blue);
}
.academy-card>i{
  width:52px;
  height:52px;
  font-size:22px;
  margin-bottom:2px;
}
.choice-card>i{
  width:42px;
  height:42px;
  font-size:18px;
  margin-bottom:4px;
}
.teacher-text.level3{
  grid-template-columns:minmax(0,1fr) 220px;
  gap:18px;
}
.teacher-text .text-tools{
  grid-template-columns:1fr;
  align-content:start;
  padding-left:14px;
  border-left:1px solid var(--line);
}
.teacher-text .text-tools button{
  width:100%;
  min-height:54px;
  justify-content:flex-start;
  text-align:left;
  white-space:normal;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.teacher-text .text-tools button i{
  width:18px;
  text-align:center;
  flex:0 0 18px;
}
@media (max-width:980px){
  .teacher-text.level3{grid-template-columns:1fr}
  .teacher-text .text-tools{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-text .text-tools button{min-height:48px}
}
@media (max-width:680px){
  .teacher-text .text-tools{grid-template-columns:1fr}
}


/* v1.1.2 — text zoom targets body text + preserve scroll in search */
.teacher-copy{display:grid;gap:16px}
.teacher-copy p{font-size:1em !important;line-height:1.75}
.teacher-body>strong{font-size:14px;line-height:1.2}


/* v1.1.3 — rimosso il livello 1 dalla barra dei controlli: il contenuto base resta sempre visibile nel player. */

/* =====================================================================
   v1.2.0 — Area amministrativa completa e coerente con il PDF
   ===================================================================== */
.admin-label{margin-top:14px}
.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}
.admin-sidebar{position:sticky;top:18px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;max-height:calc(100vh - 36px);overflow:auto;box-shadow:var(--shadow)}
.admin-profile{display:flex;align-items:center;gap:10px;padding:10px 8px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}
.admin-profile>i{width:38px;height:38px;border-radius:10px;background:#eef5ff;color:var(--blue);display:grid;place-items:center}
.admin-profile strong,.admin-profile small{display:block}.admin-profile small{color:var(--muted);font-size:10px;margin-top:2px}
.admin-sidebar nav{display:grid;gap:4px}
.admin-menu-item{border:0;background:transparent;border-radius:9px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;color:#36506f}
.admin-menu-item i{width:20px;color:#67809e}.admin-menu-item.active{background:#0a63d8;color:#fff}.admin-menu-item.active i{color:#fff}
.admin-content{min-width:0}
.admin-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.admin-page-head small{color:var(--blue);font-weight:800;letter-spacing:.04em}.admin-page-head h2{font-size:28px;margin:5px 0}.admin-page-head p{margin:0;color:var(--muted)}
.admin-head-actions{display:flex;gap:10px;align-items:center}.admin-head-actions select,.admin-head-actions button,.admin-toolbar select,.admin-toolbar button,.admin-toolbar input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 12px;color:#294363}.admin-head-actions .primary,.admin-page-head .primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.admin-kpi-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-kpi{padding:15px;display:flex;gap:12px;align-items:flex-start}.admin-kpi>span{width:38px;height:38px;border-radius:10px;background:#eef5ff;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}.admin-kpi small,.admin-kpi strong,.admin-kpi em{display:block}.admin-kpi small{color:var(--muted);font-size:10px}.admin-kpi strong{font-size:22px;margin:4px 0}.admin-kpi em{font-style:normal;color:#2d9a5d;font-size:10px}
.admin-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-panel{padding:18px;min-width:0}.admin-wide{grid-column:span 2}.admin-panel h3{margin-top:0}.admin-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.admin-panel-head small{color:var(--blue);font-size:10px;font-weight:800}.admin-panel-head h3{margin:4px 0 0}.admin-panel-head>span{font-size:11px;color:var(--muted)}
.admin-bars{height:220px;display:flex;align-items:end;gap:10px;padding:18px 6px 0;border-bottom:1px solid var(--line)}.admin-bars>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.admin-bars span{width:70%;min-width:18px;background:linear-gradient(#34b6d8,#0a63d8);border-radius:7px 7px 0 0;position:relative}.admin-bars span b{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:9px;color:#4b607b;white-space:nowrap}.admin-bars small{font-size:9px;color:var(--muted);padding-bottom:6px}
.admin-donut{--p:78;width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--p)*1%),#e8eef5 0);display:grid;place-items:center;margin:10px auto;position:relative}.admin-donut:before{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:#fff}.admin-donut>div{position:relative;z-index:1;text-align:center}.admin-donut strong,.admin-donut small{display:block}.admin-donut strong{font-size:28px}.admin-donut small{font-size:10px;color:var(--muted)}.admin-insight{font-size:11px;color:#5b708a;line-height:1.5;background:#f5f9ff;padding:10px;border-radius:8px}
.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th,.admin-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:11px;vertical-align:middle}.admin-table th{font-size:9px;text-transform:uppercase;color:#73839a;background:#f8fafc}.admin-table button{border:0;background:#eef5ff;color:var(--blue);border-radius:7px;padding:7px 9px}.mini-progress{width:75px;height:6px;background:#e8eef5;border-radius:999px;overflow:hidden;display:inline-block;margin-right:7px;vertical-align:middle}.mini-progress i{display:block;height:100%;background:var(--blue)}
.admin-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:9px;background:#eef3f8;color:#52657e}.admin-status.attivo,.admin-status.pubblicato,.admin-status.validata,.admin-status.conforme,.admin-status.verificato,.admin-status.confermato{background:#e8f7ee;color:#2e8a56}.admin-status.in-revisione,.admin-status.in-attesa,.admin-status.aperto,.admin-status.beta,.admin-status.in-corso,.admin-status.sandbox{background:#fff4dd;color:#ad7118}.admin-status.bozza,.admin-status.pianificato,.admin-status.progettata,.admin-status.da-sviluppare,.admin-status.studio{background:#eef2f6;color:#66768a}.admin-status.alta{background:#ffe8e8;color:#b52f2f}.admin-status.media{background:#fff3d9;color:#a56d17}.admin-status.bassa{background:#e8f7ee;color:#2e8a56}
.admin-alerts{display:grid;gap:8px}.admin-alerts button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;text-align:left;color:#294363}.admin-alerts i{margin-right:8px;color:#e58a0e}
.admin-summary-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-summary-row span{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;color:#6d7b90;font-size:10px}.admin-summary-row b{display:block;color:#17345d;font-size:20px;margin-bottom:3px}
.admin-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.admin-toolbar input{min-width:240px;flex:1}.admin-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.admin-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-workflow span{background:#f6f9fd;border:1px solid var(--line);border-radius:9px;padding:10px;text-align:center;font-size:10px}.admin-workflow b{display:grid;width:25px;height:25px;border-radius:50%;place-items:center;background:#eaf3ff;color:var(--blue);margin:0 auto 7px}
.admin-resource-kinds{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-resource-kinds button{padding:14px;display:grid;justify-items:center;gap:6px;border:1px solid var(--line)}.admin-resource-kinds i{font-size:20px;color:var(--purple)}.admin-resource-kinds strong{font-size:19px}.admin-resource-kinds span{font-size:9px;color:var(--muted);text-align:center}
.admin-feature-list{display:grid;gap:9px}.admin-feature-list span{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.admin-feature-list i{color:var(--blue);width:18px}.admin-feature-list b{margin-left:auto;color:#344e70;font-size:10px}
.admin-academy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-academy{padding:18px}.admin-academy>div:first-child{display:flex;gap:11px;align-items:center}.admin-academy>div:first-child>span{width:42px;height:42px;border-radius:50%;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.admin-academy strong,.admin-academy small{display:block}.admin-academy small{color:var(--muted);margin-top:3px}.admin-academy-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.admin-academy-metrics span{background:#f8fafc;border-radius:8px;padding:10px;font-size:9px;color:var(--muted)}.admin-academy-metrics b{display:block;color:#17345d;font-size:16px}.admin-academy button{border:0;background:#eef5ff;color:var(--blue);padding:9px 12px;border-radius:8px}
.admin-ai-cycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.admin-ai-cycle article{padding:14px;display:grid;gap:8px;text-align:center;position:relative}.admin-ai-cycle article>span{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-size:10px}.admin-ai-cycle i{font-size:25px;color:var(--blue);margin-top:15px}.admin-ai-cycle strong{font-size:11px}
.admin-gamification-grid,.admin-security-grid,.admin-integration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-gamification-grid article,.admin-security-grid article,.admin-integration-grid article{padding:16px}.admin-gamification-grid i,.admin-security-grid>article>i{font-size:24px;color:var(--blue)}.admin-gamification-grid strong,.admin-gamification-grid small{display:block;margin-top:8px}.admin-gamification-grid button,.admin-integration-grid button{margin-top:12px;border:0;background:#eef5ff;color:var(--blue);border-radius:8px;padding:8px 10px}
.admin-security-grid article{display:grid;gap:10px}.admin-security-grid strong{font-size:12px}.admin-integration-grid article>div{display:flex;gap:10px;align-items:center}.admin-integration-grid i{color:var(--blue)}.admin-integration-grid strong,.admin-integration-grid small{display:block}.admin-integration-grid small{color:var(--muted);margin-top:3px;font-size:9px}
@media(max-width:1200px){.admin-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-wide{grid-column:span 2}.admin-resource-kinds{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-gamification-grid,.admin-security-grid,.admin-integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;max-height:none}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-head{display:grid}.admin-summary-row,.admin-two-col,.admin-academy-grid{grid-template-columns:1fr}.admin-ai-cycle{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.admin-kpi-grid,.admin-dashboard-grid,.admin-gamification-grid,.admin-security-grid,.admin-integration-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}.admin-sidebar nav{grid-template-columns:1fr}.admin-resource-kinds{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page-head h2{font-size:23px}.admin-head-actions{flex-wrap:wrap}.admin-summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-workflow{grid-template-columns:1fr}.admin-bars{height:180px}}


/* =====================================================================
   v1.2.1 — standalone admin + PDF-style Analytics dashboard
   ===================================================================== */
.admin-standalone-body{margin:0;background:#f5f7fb;font-family:Inter,Arial,sans-serif;color:#172b4d}
.admin-standalone{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.admin-standalone .admin-sidebar{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid #e2e8f0;background:#fff;padding:20px 16px;display:flex;flex-direction:column}
.admin-brand-block{display:grid;gap:4px;padding:2px 8px 18px;border-bottom:1px solid #e8edf4;margin-bottom:14px}
.admin-logo{width:176px;height:auto}.admin-brand-block small{font-size:11px;color:#74849a}
.admin-standalone .admin-profile{margin-bottom:12px}
.admin-standalone .admin-sidebar nav{display:grid;gap:4px}
.admin-back-link{margin-top:auto;padding:12px;color:#2c5fa6;text-decoration:none;border-top:1px solid #e7edf5;display:flex;align-items:center;gap:9px}
.admin-standalone .admin-content{min-width:0;padding:0 28px 44px;background:#f7f9fc}
.admin-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4eaf1;margin-bottom:22px}
.admin-topbar strong,.admin-topbar small{display:block}.admin-topbar small{font-size:11px;color:#718199;margin-top:3px}.admin-topbar>div:last-child{display:flex;align-items:center;gap:14px}.admin-topbar button{border:0;background:transparent;font-size:18px;color:#35527d}
.admin-kpi-grid-reference{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.admin-kpi-grid-reference .admin-kpi{min-height:116px;padding:18px;display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:start;border-radius:12px;box-shadow:none}
.admin-kpi-grid-reference .admin-kpi>span{font-size:30px;color:#3678da;background:transparent;width:auto;height:auto}
.admin-kpi-grid-reference .admin-kpi small{font-size:10px;font-weight:800;color:#253d64;letter-spacing:.02em}
.admin-kpi-grid-reference .admin-kpi strong{font-family:'Roboto Condensed',sans-serif;font-size:25px;color:#132f5b;margin-top:10px}
.admin-kpi-grid-reference .admin-kpi em{font-style:normal;color:#36a86b;font-size:10px;font-weight:800;margin-left:7px;display:inline}
.admin-kpi-grid-reference .admin-kpi div{display:block}
.admin-reference-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:14px}
.admin-reference-card{min-height:300px;padding:18px;border-radius:12px;box-shadow:none}
.admin-reference-card h3{font-size:12px;color:#243d65;margin:0 0 16px;font-weight:800}
.admin-line-chart{width:100%;height:250px;overflow:visible}.admin-line-chart .chart-grid line{stroke:#e7edf5;stroke-width:1}.admin-line-chart .chart-grid text{fill:#64758d;font-size:10px}.admin-line-chart polyline{fill:none;stroke:#1768d9;stroke-width:3}.admin-line-chart circle{fill:#1768d9}.admin-line-chart .chart-labels text{font-size:10px;fill:#64758d;text-anchor:middle}.admin-line-chart .chart-current rect{fill:#0865d9}.admin-line-chart .chart-current text{fill:#fff;text-anchor:middle;font-size:16px;font-weight:700}
.admin-level-panel{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:center;justify-content:center;padding:18px 14px}
.admin-level-donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(#0e61cf 0 28%,#3689e8 28% 61%,#27b4c7 61% 88%,#7ec7ef 88% 100%);position:relative}
.admin-level-donut:after{content:"";position:absolute;inset:43px;background:#fff;border-radius:50%}
.admin-level-legend{display:grid;gap:16px}.admin-level-legend span{display:grid;grid-template-columns:12px 1fr auto;gap:10px;align-items:center;font-size:12px;color:#385170}.admin-level-legend i{width:8px;height:8px;border-radius:2px;background:#0e61cf}.admin-level-legend span:nth-child(2) i{background:#3689e8}.admin-level-legend span:nth-child(3) i{background:#27b4c7}.admin-level-legend span:nth-child(4) i{background:#7ec7ef}.admin-level-legend b{color:#2c4367}
.admin-performance-bars{display:grid;gap:16px;padding:8px 10px 0}.admin-performance-bars>div:not(.performance-scale){display:grid;grid-template-columns:145px 1fr 42px;align-items:center;gap:10px;font-size:11px}.admin-performance-bars>div>div{height:13px;background:#edf2f8}.admin-performance-bars i{display:block;height:100%;background:#126ad8}.admin-performance-bars b{font-size:11px;color:#335074}.performance-scale{display:grid;grid-template-columns:145px repeat(6,1fr);font-size:9px;color:#657890;margin-top:-4px}.performance-scale span:first-child{grid-column:2}.performance-scale span{text-align:center}
.admin-recent-list{display:grid;gap:16px;padding-top:8px}.admin-recent-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center}.admin-recent-list>div>span{width:26px;height:26px;display:grid;place-items:center;color:#5b8fd8;font-size:15px}.admin-recent-list strong{font-size:11px;font-weight:500;color:#34506f}.admin-recent-list small{font-size:10px;color:#6f7f92}
@media(max-width:1100px){.admin-kpi-grid-reference{grid-template-columns:repeat(2,1fr)}.admin-reference-grid{grid-template-columns:1fr}.admin-level-panel{grid-template-columns:180px 1fr}}
@media(max-width:760px){.admin-standalone{grid-template-columns:1fr}.admin-standalone .admin-sidebar{position:relative;height:auto}.admin-standalone .admin-content{padding:0 12px 30px}.admin-kpi-grid-reference{grid-template-columns:1fr}.admin-level-panel{grid-template-columns:1fr;justify-items:center}.admin-performance-bars>div:not(.performance-scale){grid-template-columns:105px 1fr 36px}.performance-scale{grid-template-columns:105px repeat(6,1fr)}}


/* v1.2.3 — admin menu stable: no wrapping and preserved position */
.admin-standalone .admin-sidebar{
  min-width:260px;
  width:260px;
  overflow-y:auto;
  overflow-x:hidden;
}
.admin-standalone .admin-sidebar nav{
  width:100%;
  min-width:0;
}
.admin-standalone .admin-menu-item{
  width:100%;
  min-width:0;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:hidden;
}
.admin-standalone .admin-menu-item>i{
  flex:0 0 20px;
}
.admin-standalone .admin-menu-item>span{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-standalone .admin-back-link{
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:hidden;
}
.admin-standalone .admin-back-link i{flex:0 0 auto}
@media(max-width:760px){
  .admin-standalone .admin-sidebar{width:100%;min-width:0}
}


/* v1.2.4 — admin mobile drawer aligned with index.html */
.admin-mobile-menu-toggle,.admin-mobile-menu-close,.admin-mobile-menu-overlay{display:none}
.admin-mobile-sidebar-head{display:block}
@media(max-width:760px){
  .admin-standalone{display:block}
  .admin-standalone .admin-sidebar{
    position:fixed!important;
    top:0;
    left:0;
    bottom:0;
    z-index:120;
    width:min(86vw,330px)!important;
    min-width:0!important;
    height:100vh!important;
    max-height:none!important;
    padding:18px 16px;
    transform:translateX(-105%);
    transition:transform .22s ease;
    box-shadow:12px 0 34px rgba(7,29,57,.18);
    overflow-y:auto;
  }
  .admin-standalone .admin-sidebar.mobile-open{transform:translateX(0)}
  .admin-mobile-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
  .admin-mobile-sidebar-head .admin-brand-block{flex:1;margin-bottom:12px}
  .admin-mobile-menu-close{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border:0;border-radius:50%;background:#f1f5f9;color:#284a70}
  .admin-mobile-menu-toggle{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:0;border-radius:10px;background:#eef5ff;color:var(--blue);font-size:18px}
  .admin-mobile-menu-overlay{display:block;position:fixed;inset:0;z-index:110;border:0;background:rgba(7,29,57,.38);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
  .admin-mobile-menu-active .admin-mobile-menu-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .admin-standalone .admin-content{padding:0 12px 30px}
  .admin-topbar{height:68px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}
  .admin-topbar>div:first-of-type{min-width:0}
  .admin-topbar strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-topbar small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .admin-standalone .admin-sidebar nav{grid-template-columns:1fr!important}
  body:has(.admin-mobile-menu-active){overflow:hidden}
}

/* v1.2.5 — badge dashboard su smartphone disposti su due righe */
@media (max-width:580px){
  .dashboard-bottom-grid .badges{
    min-width:0;
    min-height:150px;
    overflow:hidden;
  }
  .dashboard-bottom-grid .badge-row{
    display:grid;
    grid-template-columns:repeat(2,34px);
    grid-auto-rows:38px;
    justify-content:start;
    align-content:start;
    column-gap:18px;
    row-gap:12px;
    width:100%;
    padding:2px 0 0;
  }
  .dashboard-bottom-grid .badge-row span{
    margin:0;
  }
}


/* v1.2.7 — final evaluation aligned to PDF */
.final-shell{max-width:860px;display:grid;gap:18px}
.final-card,.ecm-card{padding:0;overflow:hidden}
.final-card-head,.ecm-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--line)}
.final-card-head strong,.ecm-head strong{font-size:28px;line-height:1.1;color:#17345d}
.final-outcome{display:flex;align-items:center;gap:10px;font-size:12px;color:#6f7c8f;font-weight:600}
.final-outcome b,.ecm-status b{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#e7f7ea;color:#2b9d56;font-size:12px;letter-spacing:.02em}
.final-main{display:grid;grid-template-columns:280px 1fr;gap:10px;align-items:center;padding:22px}
.final-score-wrap{display:grid;place-items:center}
.score{width:185px;height:185px;margin:0;border-radius:50%;background:conic-gradient(var(--blue) 88%,#e5ebf2 0);display:grid;place-items:center;position:relative}
.score:after{content:"";position:absolute;width:138px;height:138px;background:#fff;border-radius:50%}.score strong,.score span{position:relative;z-index:1;display:block;text-align:center}.score strong{font-size:38px;line-height:1}.score span{font-size:19px;margin-top:8px;color:#344c6e}
.final-metrics{display:grid;gap:14px}.final-metric{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center}.final-metric span{color:#6db8d2;font-size:20px;display:grid;place-items:center}.final-metric label{color:#425a78;font-size:19px}.final-metric strong{font-size:24px;color:#122e57;font-weight:700}
.ecm-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px}.ecm-info{display:flex;align-items:center;gap:14px}.ecm-icon{width:54px;height:54px;border:2px solid #dce7f3;border-radius:50%;display:grid;place-items:center;color:#7aa9cf;font-size:24px}.ecm-info small,.ecm-status small{display:block;color:#6f7c8f;font-size:15px;margin-bottom:4px}.ecm-info strong{font-size:28px;color:#17345d}.ecm-status{text-align:right}.ecm-status b{font-size:13px}.primary.full{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 44px);margin:0 22px 22px;border-radius:8px;padding:15px 18px;font-size:19px}
@media(max-width:900px){.final-shell{max-width:none}.final-card-head strong,.ecm-head strong{font-size:22px}.final-main{grid-template-columns:1fr;justify-items:center}.final-metrics{width:100%}.final-metric label{font-size:16px}.final-metric strong{font-size:20px}.ecm-row{display:grid;grid-template-columns:1fr auto;align-items:center}.primary.full{font-size:17px}}
@media(max-width:560px){.final-card-head,.ecm-head{padding:16px}.final-main{padding:18px 16px}.score{width:160px;height:160px}.score:after{width:120px;height:120px}.score strong{font-size:34px}.score span{font-size:16px}.final-outcome{gap:8px;font-size:11px}.final-outcome b,.ecm-status b{padding:5px 8px;font-size:11px}.final-metric{grid-template-columns:24px 1fr auto;gap:10px}.final-metric label{font-size:14px}.final-metric strong{font-size:18px}.ecm-row{padding:18px 16px;grid-template-columns:1fr}.ecm-status{text-align:left}.ecm-info strong{font-size:24px}.ecm-info small,.ecm-status small{font-size:13px}.primary.full{width:calc(100% - 32px);margin:0 16px 16px;font-size:16px;padding:14px}}


/* v1.2.8 — final score center fix + certificate only if passed */
.final-outcome b.failed,.ecm-status b.failed{background:#fdecee;color:#c65353}
.score{place-items:center}
.score-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;line-height:1}
.score strong,.score span{position:static;margin:0 !important}
.score strong{font-size:38px;line-height:1}
.score span{font-size:17px;color:#344c6e;line-height:1.15}
.primary.full.disabled,.primary.full:disabled{background:#c7d5ea;color:#ffffff;cursor:not-allowed;box-shadow:none;opacity:1}
.final-note{margin:0 22px 22px;color:#6f7c8f;font-size:14px;line-height:1.45}
@media(max-width:560px){.score-copy{gap:3px}.score span{font-size:15px}.final-note{margin:0 16px 16px;font-size:13px}}


/* v1.3.0 — quiz page aligned to PDF page 13 */
.quiz-shell{grid-template-columns:250px 1fr}
.quiz-index{display:grid;align-content:start;gap:0}
.quiz-progress-card{margin-top:24px;border:1px solid var(--line);border-radius:14px;padding:18px 16px;text-align:center;background:#fbfcfe}
.quiz-progress-card h3{font-size:14px;color:#425a78;margin:0 0 14px}
.quiz-progress-ring{width:92px;height:92px;border-radius:50%;margin:0 auto 10px;background:conic-gradient(var(--blue) 78%,#e8eef5 0);position:relative;display:grid;place-items:center}
.quiz-progress-ring:after{content:"";position:absolute;width:68px;height:68px;border-radius:50%;background:#fff}.quiz-progress-ring strong{position:relative;z-index:1;font-size:26px;color:#17345d}.quiz-progress-card small,.quiz-progress-card b{display:block}.quiz-progress-card small{color:var(--muted);font-size:12px}.quiz-progress-card b{margin-top:4px;color:#17345d}
.quiz-lesson-main{padding:0}.quiz-pdf-card{border-radius:0;padding:0;border:0;box-shadow:none}.quiz-pdf-head{display:flex;justify-content:space-between;align-items:center;padding:26px 28px 18px;border-bottom:1px solid var(--line)}.quiz-pdf-title{display:flex;align-items:center;gap:10px;color:#17345d;font-size:26px}.quiz-pdf-title i{color:#597fd6;font-size:22px}.quiz-pdf-status{display:flex;align-items:center;gap:18px;color:#455d7b;font-weight:600}.quiz-dots{display:flex;gap:9px}.quiz-dots i{width:11px;height:11px;border-radius:50%;background:#d9e0eb;display:block}.quiz-dots i.active{background:#2169df}.quiz-dots i.correct{background:#2faa55}.quiz-dots i.wrong{background:#df6156}.quiz-pdf-body{padding:26px 28px 18px}.quiz-pdf-body h3{margin:0 0 22px;font-size:29px;line-height:1.35;color:#1a335c;max-width:920px}.quiz-pdf-answers{display:grid;gap:12px}.quiz-answer-pdf{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 16px;text-align:left;transition:.2s}.quiz-answer-pdf span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f0f4fa;color:#4d6283;font-weight:700}.quiz-answer-pdf strong{font-size:18px;color:#243b60;font-weight:600}.quiz-answer-pdf.selected{border-color:#8fb1eb;background:#f8fbff}.quiz-answer-pdf.correct{border-color:#8ad18d;background:#f8fef8}.quiz-answer-pdf.correct span{background:#2faa55;color:#fff}.quiz-answer-pdf.wrong{border-color:#ebaaaa;background:#fff9f8}.quiz-answer-pdf.wrong span{background:#df6156;color:#fff}
.quiz-feedback-pdf{margin-top:22px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:18px;align-items:center}.quiz-feedback-pdf.correct{border-color:#b8dcc1;background:#fbfefb}.quiz-feedback-pdf.review{border-color:#f0cda4;background:#fffaf4}.quiz-feedback-title{display:flex;align-items:center;gap:10px;color:#2a7b41;font-size:18px;margin-bottom:8px}.quiz-feedback-pdf.review .quiz-feedback-title{color:#b7711d}.quiz-feedback-title i{font-size:20px}.quiz-feedback-pdf p{margin:0 0 16px;color:#425b78;line-height:1.55;font-size:17px;max-width:760px}.quiz-feedback-pdf img{width:100%;height:120px;object-fit:cover;border-radius:10px;background:#111}.quiz-explain-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 14px;color:#425a78;font-weight:600}.quiz-action-row{display:flex;justify-content:flex-end;padding-top:18px}.quiz-confirm-btn{border-radius:10px;padding:12px 18px;border:1px solid var(--line);font-weight:700}.quiz-confirm-btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.quiz-confirm-btn.ghost{background:#fff;color:#204d8e}.quiz-confirm-btn:disabled{opacity:.45;cursor:not-allowed}
.quiz-bottom-menu{border-top:1px solid var(--line);border-left:0;border-right:0;border-bottom:0;border-radius:0;margin-top:0}.quiz-bottom-menu .lesson-bottom-item:last-child{background:var(--blue);color:#fff}.quiz-bottom-menu .lesson-bottom-item:last-child .lesson-bottom-icon,.quiz-bottom-menu .lesson-bottom-item:last-child strong,.quiz-bottom-menu .lesson-bottom-item:last-child small{color:#fff}.quiz-bottom-menu .lesson-bottom-item:last-child:hover{background:#0d59bc}
@media(max-width:1100px){.quiz-pdf-body h3{font-size:24px}.quiz-answer-pdf strong{font-size:16px}.quiz-feedback-pdf{grid-template-columns:1fr 170px}}
@media(max-width:900px){.quiz-shell{grid-template-columns:1fr}.quiz-index{border-right:0;border-bottom:1px solid var(--line)}.quiz-progress-card{display:none}.quiz-pdf-head,.quiz-pdf-body{padding-left:18px;padding-right:18px}.quiz-pdf-title{font-size:22px}.quiz-pdf-status{gap:10px;font-size:13px}.quiz-feedback-pdf{grid-template-columns:1fr}.quiz-feedback-pdf img{height:160px}.quiz-bottom-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.quiz-pdf-head{flex-direction:column;align-items:flex-start;gap:12px}.quiz-pdf-title{font-size:20px}.quiz-pdf-body h3{font-size:21px}.quiz-answer-pdf{padding:12px 14px}.quiz-answer-pdf strong{font-size:15px}.quiz-bottom-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.3.1 — page 14 fully aligned to PDF */
.final-page-title{max-width:1120px;margin-bottom:18px}
.final-page-title small{color:var(--blue);font-weight:800;letter-spacing:.05em}
.final-page-title h2{margin:8px 0 6px;font-size:30px;color:#17345d}
.final-page-title p{margin:0;max-width:760px;color:#60728a;line-height:1.55}
.final-pdf-layout{display:grid;grid-template-columns:minmax(0,860px) 300px;gap:22px;align-items:start}
.final-shell{max-width:none}
.final-cert-steps{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:18px}
.final-cert-steps-head{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:8px}
.final-cert-steps-head small{font-size:10px;font-weight:800;color:var(--blue);letter-spacing:.06em}
.final-cert-steps-head h3{margin:6px 0 0;font-size:20px;color:#17345d}
.final-cert-step{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:14px 0;border-bottom:1px solid var(--line)}
.final-cert-step:last-child{border-bottom:0}
.final-cert-step>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9eef5;color:#6f8198;font-weight:800;font-size:12px}
.final-cert-step.done>span{background:var(--blue);color:#fff}
.final-cert-step>div{display:grid;grid-template-columns:24px 1fr;column-gap:8px;align-items:center}
.final-cert-step i{grid-row:1/3;color:#5f7dd6;font-style:normal;font-size:16px}
.final-cert-step strong{font-size:13px;color:#233f67}
.final-cert-step small{grid-column:2;font-size:10px;color:#7c8ba0;line-height:1.35;margin-top:3px}
.final-card-head strong,.ecm-head strong{font-size:21px}
.final-main{grid-template-columns:230px 1fr;padding:20px 22px}
.score{width:168px;height:168px}.score:after{width:124px;height:124px}.score strong{font-size:34px}.score span{font-size:15px}
.final-metric label{font-size:15px}.final-metric strong{font-size:18px}.final-metrics{gap:12px}
.ecm-info strong{font-size:22px}.primary.full{font-size:16px;padding:13px 16px}
@media(max-width:1180px){.final-pdf-layout{grid-template-columns:1fr}.final-cert-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.final-cert-steps-head{grid-column:1/-1}.final-cert-step{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;border:1px solid var(--line);border-radius:10px;padding:12px 8px}.final-cert-step>div{display:grid;grid-template-columns:1fr;justify-items:center}.final-cert-step i,.final-cert-step small{grid-column:1;grid-row:auto}.final-cert-step i{margin:6px 0}}
@media(max-width:760px){.final-page-title h2{font-size:24px}.final-cert-steps{grid-template-columns:1fr}.final-main{grid-template-columns:1fr}.final-metrics{width:100%}.final-cert-step{grid-template-columns:34px 1fr;justify-items:stretch;text-align:left}.final-cert-step>div{grid-template-columns:24px 1fr;justify-items:stretch}.final-cert-step i{grid-row:1/3;margin:0}.final-cert-step small{grid-column:2}}

/* v1.3.3 — dashboard desktop a larghezza fluida, proporzionata come admin.html */
@media (min-width: 1101px){
  .route-dashboard main{
    padding-left:28px;
    padding-right:28px;
  }
  .route-dashboard .dashboard-page{
    width:100%;
    max-width:none;
    margin:0;
  }
  .route-dashboard main > header,
  .route-dashboard header.dashboard-header{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
  }
  .route-dashboard .dashboard-main-grid{
    grid-template-columns:minmax(0,1.78fr) minmax(300px,.62fr);
    gap:20px;
  }
  .route-dashboard .dashboard-stats{
    gap:18px;
  }
  .route-dashboard .dashboard-card{
    min-width:0;
  }
}

/* v1.3.4 — interfaccia utente desktop dimensionata sui canoni dell'area amministrativa */
@media (min-width:1101px){
  :root{
    --app-sidebar:238px;
    --app-content:none;
  }

  .app{
    grid-template-columns:238px minmax(0,1fr);
    background:#f7f9fc;
  }

  .app>aside{
    width:238px;
    padding:24px 16px 20px;
    border-right:1px solid #dfe6ef;
    background:#fff;
  }
  .app>aside .logo{
    width:172px;
    margin:2px 12px 28px;
  }
  .app>aside nav{gap:5px}
  .app>aside .nav-item{
    min-height:46px;
    padding:12px 13px;
    gap:13px;
    border-radius:8px;
    font-size:15px;
    line-height:1.2;
  }
  .app>aside .nav-item>i{
    width:22px;
    font-size:18px;
  }
  .app>aside .nav-item span{
    font-size:15px;
  }
  .app>aside .nav-item.active{
    box-shadow:0 5px 14px rgba(8,101,217,.22);
  }

  .app main{
    padding:22px 30px 46px;
    background:#f7f9fc;
  }
  .app main>header,
  .route-dashboard header.dashboard-header{
    height:48px;
    margin-bottom:14px;
  }
  .app main>header .global-search{
    height:42px;
    font-size:14px;
    border-radius:9px;
  }
  .app main>header .head-actions{gap:17px}
  .app main>header .head-actions button{font-size:20px}
  .app main>header .avatar{width:36px;height:36px;font-size:13px}

  /* Nessun limite artificiale di larghezza nel desktop principale */
  .app main>header,.app main>.page-title,.app main>.card,.app main>.course-grid,.app main>.academy-grid,
  .app main>.course-body,.app main>.quiz-page,.app main>.progress-layout,.app main>.community-layout,
  .app main>.certificate-layout,.app main>.calendar-grid,.app main>.messages-layout,.app main>.settings-grid,
  .app main>.support-grid,.app main>.ticket-box,.app main>.lesson-top,.app main>.lesson-shell,
  .app main>.catalog-tools,.app main>.catalog-count,.app main>.ecosystem{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
  }

  .page-title{margin:8px 0 20px}
  .page-title h2{font-size:28px}
  .page-title p{font-size:15px}
  .card{border-radius:11px;box-shadow:0 3px 12px rgba(21,55,95,.07)}
  .primary{padding:12px 18px;font-size:14px;border-radius:8px}

  /* Dashboard: dimensioni e densità visiva simili ad admin.html */
  .route-dashboard .dashboard-page{width:100%;max-width:none}
  .route-dashboard .dashboard-welcome h2{font-size:27px}
  .route-dashboard .dashboard-welcome p{font-size:18px}
  .route-dashboard .dashboard-stats{gap:16px;margin-bottom:22px}
  .route-dashboard .dashboard-stat,
  .route-dashboard .stat{
    min-height:104px;
    padding:20px 22px;
    gap:16px;
  }
  .route-dashboard .dashboard-stat>span,
  .route-dashboard .stat>span{font-size:38px}
  .route-dashboard .dashboard-stat strong,
  .route-dashboard .stat strong{font-size:26px}
  .route-dashboard .dashboard-stat small,
  .route-dashboard .stat small{font-size:13px}
  .route-dashboard .dashboard-main-grid{
    grid-template-columns:minmax(0,1.78fr) minmax(320px,.62fr);
    gap:22px;
  }
  .route-dashboard .dashboard-section-title h3,
  .route-dashboard .dashboard-card h3{font-size:18px}
  .route-dashboard .resume{padding:20px;grid-template-columns:135px minmax(0,1fr) minmax(280px,.72fr)}
  .route-dashboard .resume>img{height:108px}
  .route-dashboard .resume-copy strong{font-size:18px}
  .route-dashboard .resume-copy small,
  .route-dashboard .next span,
  .route-dashboard .next small{font-size:13px}
  .route-dashboard .recommend{padding:19px;gap:18px}
  .route-dashboard .recommend img{height:104px;width:100%;grid-row:auto}
  .route-dashboard .recommend strong{font-size:15px}
  .route-dashboard .recommend small{font-size:12px}
  .route-dashboard .dashboard-bottom-grid{gap:18px}
  .route-dashboard .badges,.route-dashboard .last-cert,
  .route-dashboard .tasks,.route-dashboard .progress-card{padding:20px}
  .route-dashboard .badge-row span{width:54px;height:54px;font-size:25px}
  .route-dashboard .task{padding:15px 0}
  .route-dashboard .task strong{font-size:14px}
  .route-dashboard .task small{font-size:12px}
  .route-dashboard .ring{width:108px;height:108px}
  .route-dashboard .ring:after{width:78px;height:78px}
  .route-dashboard .ring strong{font-size:25px}
  .route-dashboard .skills span{font-size:12px}

  /* Anche le altre viste index mantengono il nuovo rapporto di scala */
  .course-grid{gap:18px}
  .course-card>img{height:165px}
  .course-card>div{padding:18px}
  .course-card h3{font-size:17px}
  .course-card p,.course-card small{font-size:12px}
  .course-summary>div{padding:17px 19px}
  .course-summary b{font-size:22px}
  .course-summary span{font-size:12px}
  .catalog-tools{grid-template-columns:minmax(300px,1fr) 190px 165px auto;gap:12px;padding:14px}
  .catalog-tools .input-icon,.catalog-tools select,.catalog-tools button,.catalog-tools input{height:42px;font-size:13px}
}


/* Fix grafica card "I tuoi progressi" nella dashboard desktop */
.route-dashboard .dashboard-secondary .progress-card{overflow:hidden}
.route-dashboard .dashboard-secondary .progress-summary{
  grid-template-columns:1fr;
  gap:16px;
  align-items:start;
  justify-items:center;
}
.route-dashboard .dashboard-secondary .ring{
  width:126px;
  height:126px;
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0 auto;
}
.route-dashboard .dashboard-secondary .ring:after{
  width:90px;
  height:90px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
}
.route-dashboard .dashboard-secondary .ring strong,
.route-dashboard .dashboard-secondary .ring small{
  position:relative;
  left:auto;
  top:auto;
  transform:none;
  width:auto;
  margin:0;
  text-align:center;
  z-index:2;
}
.route-dashboard .dashboard-secondary .ring strong{
  font-size:28px;
  line-height:1;
}
.route-dashboard .dashboard-secondary .ring small{
  font-size:11px;
  line-height:1.1;
  max-width:70px;
  white-space:normal;
}
.route-dashboard .dashboard-secondary .skills{
  width:100%;
  gap:12px;
}
.route-dashboard .dashboard-secondary .skills > div{min-width:0}
.route-dashboard .dashboard-secondary .skills > div > span{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:10px;
  font-size:11px;
  line-height:1.2;
  white-space:normal;
}
.route-dashboard .dashboard-secondary .skills > div > span b{
  justify-self:end;
  white-space:nowrap;
}
.route-dashboard .dashboard-secondary .skills .progress{
  height:6px;
  margin-top:6px;
}
.registration-card{max-width:760px}.registration-honeypot{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.consent-check{display:flex;gap:.7rem;align-items:flex-start;margin:.65rem 0;font-weight:600}.consent-check input{margin-top:.2rem}

/* Documenti legali e consensi registrazione */
.legal-inline-link{appearance:none;border:0;background:none;padding:0;color:#0865d9;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.legal-inline-link:hover{color:#064ca3}.legal-inline-link:disabled{color:#8190a7;cursor:not-allowed}.custom-modal[hidden]{display:none!important}.custom-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px}.custom-modal-backdrop{position:absolute;inset:0;background:rgba(5,19,43,.68);backdrop-filter:blur(4px)}.custom-modal-panel{position:relative;z-index:1;width:min(880px,100%);max-height:min(86vh,900px);background:#fff;border:1px solid #dce5f2;border-radius:22px;box-shadow:0 28px 80px rgba(3,21,52,.28);display:flex;flex-direction:column;overflow:hidden}.legal-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 20px;border-bottom:1px solid #e5ebf4}.legal-document-head h2{margin:5px 0 0;color:#092653;font-family:'Roboto Condensed',sans-serif;font-size:28px}.legal-document-kicker{font-size:11px;font-weight:800;letter-spacing:.09em;color:#0870db}.modal-close-button{width:42px;height:42px;border:1px solid #d7e1ef;border-radius:12px;background:#f7f9fc;color:#15365f;cursor:pointer;font-size:18px}.modal-close-button:hover{background:#eaf2fc}.legal-document-body{padding:26px;overflow:auto;color:#29394f;font-size:15px;line-height:1.75;white-space:normal}.legal-document-footer{display:flex;justify-content:flex-end;gap:12px;padding:18px 26px;border-top:1px solid #e5ebf4;background:#f8fafc}.modal-open{overflow:hidden}@media(max-width:640px){.custom-modal{padding:10px}.custom-modal-panel{max-height:94vh;border-radius:17px}.legal-document-head{padding:19px}.legal-document-head h2{font-size:23px}.legal-document-body{padding:20px;font-size:14px}.legal-document-footer{padding:14px;flex-direction:column-reverse}.legal-document-footer .btn{width:100%}}
/* v1.29.0 — avviso manutenzione programmata */
.portal-maintenance-notice{position:relative;z-index:120;background:#fff4cf;border-bottom:1px solid #e5bd42;color:#654600}.portal-maintenance-notice.is-info{background:#eaf4ff;border-color:#8abcf2;color:#073d75}.portal-maintenance-notice.is-urgent{background:#ffe4e1;border-color:#ef8178;color:#842018}.portal-maintenance-notice-inner{max-width:1600px;margin:auto;padding:10px 22px;display:flex;align-items:center;gap:12px}.portal-maintenance-notice-inner>i{font-size:20px}.portal-maintenance-notice-inner div{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.portal-maintenance-notice-inner strong{font-size:14px}.portal-maintenance-notice-inner span{font-size:13px;line-height:1.45}.portal-maintenance-notice-inner button{margin-left:auto;border:0;background:transparent;color:inherit;width:34px;height:34px;border-radius:50%;cursor:pointer}.portal-maintenance-notice-inner button:hover{background:rgba(0,0,0,.08)}@media(max-width:700px){.portal-maintenance-notice-inner{padding:9px 12px;align-items:flex-start}.portal-maintenance-notice-inner div{display:block}.portal-maintenance-notice-inner strong,.portal-maintenance-notice-inner span{display:block}.portal-maintenance-notice-inner span{margin-top:2px}.portal-maintenance-notice-inner button{flex:0 0 32px}}


/* Messaggio one-shot del pattern Post/Redirect/Get. */
.prg-flash{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:10px;max-width:min(720px,calc(100vw - 28px));padding:13px 16px;border:1px solid;border-radius:14px;box-shadow:0 14px 34px rgba(14,45,85,.18);font-weight:700;background:#fff}
.prg-flash-success{color:#176b45;border-color:#a9dfc5;background:#effbf5}
.prg-flash-error{color:#a12d27;border-color:#efb5b0;background:#fff3f2}
.prg-flash button{margin-left:auto;border:0;background:transparent;color:inherit;cursor:pointer;padding:3px 5px;font-size:15px}
@media(max-width:640px){.prg-flash{top:10px;width:calc(100vw - 20px);font-size:13px}}

.account-preview-banner{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px;background:#173f70;color:#fff;box-shadow:0 4px 14px rgba(7,32,66,.18)}.account-preview-banner>div{display:flex;align-items:center;gap:9px;min-width:0}.account-preview-banner span{opacity:.92}.account-preview-banner a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:9px;background:#fff;color:#173f70;text-decoration:none;font-weight:800;white-space:nowrap}.account-preview-banner i{flex:0 0 auto}.account-preview-readonly form:not([action="/account-preview-exit.php"]) button[type="submit"],.account-preview-readonly input:not([type="search"]),.account-preview-readonly textarea,.account-preview-readonly select{pointer-events:none;opacity:.65}.account-preview-readonly [data-preview-write]{pointer-events:none;opacity:.55}@media(max-width:720px){.account-preview-banner{align-items:flex-start;padding:10px 14px;flex-direction:column}.account-preview-banner>div{align-items:flex-start}.account-preview-banner a{align-self:stretch;justify-content:center}}

.account-preview-readonly .student-logout,.account-preview-readonly .backend-logout,.account-preview-readonly .admin-exit{pointer-events:none;opacity:.45}

.prg-flash{transition:opacity .22s ease,transform .22s ease}.prg-flash.is-closing{opacity:0;transform:translate(-50%,-10px)}.prg-flash button{width:30px;height:30px;display:grid;place-items:center;border-radius:8px}.prg-flash button:hover{background:rgba(255,255,255,.55)}

/* Autenticazione a due fattori */
.two-factor-page{max-width:1120px;margin:32px auto;padding:0 20px}.two-factor-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.two-factor-head span{font-size:.76rem;font-weight:800;letter-spacing:.12em;color:#1976d2}.two-factor-head h1{margin:6px 0 8px}.two-factor-card{background:#fff;border:1px solid #dfe6ef;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(14,45,82,.08);margin-bottom:20px}.two-factor-status{display:flex;gap:14px;align-items:center;padding:16px;border-radius:14px;margin-bottom:20px}.two-factor-status i{font-size:1.8rem}.two-factor-status div{display:flex;flex-direction:column}.two-factor-status.is-enabled{background:#eaf7ef;color:#176b3a}.two-factor-status.is-disabled{background:#fff6e5;color:#8a5a00}.two-factor-setup{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start}.two-factor-qr{min-height:240px;display:grid;place-items:center;border:1px dashed #b7c5d6;border-radius:16px;background:#f8fafc;padding:12px}.two-factor-qr svg{max-width:100%;height:auto}.two-factor-secret{display:block;padding:12px;margin:8px 0 20px;word-break:break-all;background:#eef3f8;border-radius:10px;font-size:1rem}.two-factor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.two-factor-stats div{padding:16px;border:1px solid #e1e7ef;border-radius:12px;display:flex;flex-direction:column}.two-factor-stats span{font-size:.78rem;color:#6a7786}.two-factor-stats strong{font-size:1.15rem;margin-top:5px}.two-factor-actions{display:flex;flex-wrap:wrap;gap:12px}.two-factor-inline-form{display:flex;gap:8px}.two-factor-inline-form input{min-width:160px}.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.recovery-grid code{padding:12px;text-align:center;background:#eef3f8;border-radius:8px;font-size:1rem}.two-factor-card-title{display:flex;gap:14px;align-items:flex-start}.two-factor-card-title>i{font-size:1.8rem;color:#1976d2}.two-factor-icon{text-align:center;font-size:2.2rem;color:#1976d2;margin-bottom:8px}.two-factor-trust{display:flex;gap:10px;align-items:center;margin:12px 0}.two-factor-cancel{text-align:center;margin-top:12px}.two-factor-cancel button{border:0;background:none;cursor:pointer}.two-factor-policy-form{display:grid;gap:18px}.two-factor-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.two-factor-role-grid label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #dfe6ef;border-radius:12px}.two-factor-role-grid label span{display:flex;flex-direction:column}.two-factor-role-grid small{color:#6d7886;margin-top:4px}.two-factor-policy-options{display:flex;flex-wrap:wrap;gap:18px}.two-factor-policy-options label{display:flex;align-items:center;gap:8px}.two-factor-policy-options input{width:88px}
@media(max-width:760px){.two-factor-head{flex-direction:column}.two-factor-setup{grid-template-columns:1fr}.two-factor-qr{max-width:280px}.two-factor-stats,.two-factor-role-grid{grid-template-columns:1fr}.two-factor-inline-form{width:100%;flex-direction:column}.recovery-grid{grid-template-columns:1fr}}


/* 2FA: spaziature card e stampa codici di recupero */
.two-factor-page{padding-inline:clamp(20px,3vw,36px)}
.two-factor-card{padding:clamp(28px,3vw,38px)}
.two-factor-card>*:first-child{margin-top:0}
.two-factor-card>*:last-child{margin-bottom:0}
.two-factor-card-title{gap:18px;padding:2px 2px 4px}
.two-factor-card-title>div{min-width:0}
.two-factor-card-title h2{margin:0 0 8px;line-height:1.2}
.two-factor-card-title p{margin:0;line-height:1.55;color:#5f6f82}
.recovery-grid{margin:24px 0 20px;gap:12px}
.recovery-grid code{padding:14px 16px;border:1px solid #e1e8f0;font-size:1.02rem;letter-spacing:.04em}
.recovery-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.recovery-security-note{display:flex;align-items:flex-start;gap:9px;margin:18px 0 0;padding:13px 15px;border-radius:12px;background:#fff7e7;color:#785000;font-size:.9rem;line-height:1.45}
.recovery-security-note i{margin-top:2px}
.recovery-print-heading{display:none}
@media(max-width:640px){.two-factor-page{padding-inline:14px}.two-factor-card{padding:22px 18px}.two-factor-card-title{gap:12px}.two-factor-card-title>i{font-size:1.5rem}.recovery-actions .btn{width:100%;justify-content:center}}
@media print{
 @page{size:A4;margin:18mm}
 body.printing-recovery-codes *{visibility:hidden!important}
 body.printing-recovery-codes [data-recovery-print-area],body.printing-recovery-codes [data-recovery-print-area] *{visibility:visible!important}
 body.printing-recovery-codes [data-recovery-print-area]{position:absolute;inset:0 auto auto 0;width:100%;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important}
 body.printing-recovery-codes .two-factor-card-title,body.printing-recovery-codes .recovery-actions,body.printing-recovery-codes .recovery-security-note{display:none!important}
 body.printing-recovery-codes .recovery-print-heading{display:flex!important;flex-direction:column;gap:5px;padding-bottom:18px;margin-bottom:18px;border-bottom:2px solid #163f70;color:#102f56}
 body.printing-recovery-codes .recovery-print-heading strong{font-size:22pt}
 body.printing-recovery-codes .recovery-print-heading span{font-size:12pt}
 body.printing-recovery-codes .recovery-print-heading small{font-size:9pt;color:#5e6a78}
 body.printing-recovery-codes .recovery-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:0}
 body.printing-recovery-codes .recovery-grid code{border:1px solid #aebaca;background:#fff!important;color:#111!important;font-size:13pt;padding:12px;break-inside:avoid}
}
/* v1.44.81 - Layout strutturale pagina 2FA */
.two-factor-page{
  width:min(1120px,calc(100% - 32px));
  max-width:1120px;
  margin:40px auto;
  padding:0;
}
.two-factor-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  min-height:0;
  height:auto;
  padding:30px 32px;
  margin:0 0 20px;
  background:#fff;
  border:1px solid #dfe6ef;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(14,45,82,.06);
}
.two-factor-head-copy{min-width:0}
.two-factor-head span{display:block;font-size:.76rem;font-weight:800;letter-spacing:.12em;color:#1976d2}
.two-factor-head h1{margin:6px 0 10px;line-height:1.15;font-size:clamp(1.75rem,3vw,2.35rem)}
.two-factor-head p{margin:0;line-height:1.55;color:#5f6f82;max-width:760px}
.two-factor-head .btn{align-self:center;white-space:nowrap}.two-factor-head-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.two-factor-mandatory-note{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:14px;background:#fff6e5;border:1px solid #f1d28a;color:#8a5a00;margin-bottom:18px}.two-factor-mandatory-note i{font-size:1.4rem;margin-top:2px}.two-factor-mandatory-note p{margin:6px 0 0;line-height:1.55}.two-factor-cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.two-factor-help-note{margin:0 0 14px;color:#5f6f82;line-height:1.55}
.two-factor-card{padding:30px 32px}
.two-factor-status{margin:0 0 22px}
.two-factor-stats{margin:0 0 20px}
.two-factor-actions form{margin:0}
@media(max-width:760px){
  .two-factor-page{width:min(100% - 20px,1120px);margin:20px auto}
  .two-factor-head{grid-template-columns:1fr;padding:22px 20px;gap:18px}
  .two-factor-head .btn{width:100%;justify-content:center}.two-factor-head-actions{width:100%}.two-factor-cta-row{flex-direction:column;align-items:stretch}.two-factor-cta-row .btn{width:100%;justify-content:center}
  .two-factor-card{padding:22px 18px}
}

.watermark-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.watermark-mode-option{display:flex;gap:13px;align-items:flex-start;padding:16px;border:1px solid #dce6f2;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.watermark-mode-option:hover{border-color:#8ebcf0}.watermark-mode-option.is-selected{border-color:#0865d9;background:#f1f7ff;box-shadow:0 0 0 3px rgba(8,101,217,.08)}.watermark-mode-option input{margin-top:4px}.watermark-mode-icon{width:38px;height:38px;border-radius:11px;background:#eaf3ff;color:#0865d9;display:grid;place-items:center;flex:0 0 auto}.watermark-mode-option strong,.watermark-mode-option small{display:block}.watermark-mode-option strong{color:#10254b;margin-bottom:5px}.watermark-mode-option small{color:#687991;line-height:1.45}@media(max-width:900px){.watermark-mode-grid{grid-template-columns:1fr}}

.watermark-composer{margin-top:18px;padding-top:18px;border-top:1px solid #dce6f2}.watermark-composer-head h4{margin:0 0 5px;color:#10254b;font-size:16px}.watermark-composer-head h4 i{color:#0865d9;margin-right:8px}.watermark-composer-head p{margin:0;color:#687991;font-size:13px;line-height:1.5}.watermark-composer-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;margin-top:16px}.watermark-fields-panel,.watermark-preview-panel{border:1px solid #dce6f2;border-radius:14px;padding:16px;background:#fbfdff}.watermark-subtitle{display:block;color:#10254b;font-weight:800;font-size:13px;margin-bottom:11px}.watermark-field-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.watermark-field-option{cursor:pointer}.watermark-field-option input{position:absolute;opacity:0;pointer-events:none}.watermark-field-option span{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid #dce6f2;border-radius:11px;background:#fff;color:#40536d;font-weight:700;transition:.18s ease}.watermark-field-option span i{width:19px;text-align:center;color:#7b8ba0}.watermark-field-option input:checked+span{border-color:#0865d9;background:#eef6ff;color:#0b4fa8;box-shadow:0 0 0 2px rgba(8,101,217,.07)}.watermark-field-option input:checked+span i{color:#0865d9}.watermark-custom-field{margin-top:15px}.watermark-preview-canvas{min-height:150px;border-radius:12px;border:1px dashed #9ebce0;background:linear-gradient(135deg,#fff,#f3f8fe);display:grid;place-items:center;overflow:hidden;padding:18px}.watermark-preview-label{max-width:95%;transform:rotate(-16deg);color:rgba(11,61,118,.38);font-weight:800;font-size:13px;text-align:center;line-height:1.45;word-break:break-word}.watermark-preview-label.is-empty{transform:none;color:#8a99ab;font-weight:600}.watermark-preview-panel>small{display:block;margin-top:9px;color:#74849a;line-height:1.4}@media(max-width:900px){.watermark-composer-grid{grid-template-columns:1fr}}@media(max-width:520px){.watermark-field-options{grid-template-columns:1fr}}

/* v1.46.27 — controllo schermo intero per tablet e schermi orizzontali. */
.svm-fullscreen-toggle[hidden]{display:none!important}
.svm-fullscreen-toggle{cursor:pointer}
.backend-fullscreen-toggle{width:42px;height:42px;border:1px solid var(--b-border);border-radius:11px;background:#fff;color:var(--b-navy);display:inline-grid;place-items:center;font-size:17px;padding:0}
.backend-fullscreen-toggle:hover{background:#eef5ff;color:var(--b-blue)}
.backend-fullscreen-toggle:focus-visible,.admin-top-action.svm-fullscreen-toggle:focus-visible,.student-top-action.svm-fullscreen-toggle:focus-visible{outline:3px solid rgba(8,101,217,.28);outline-offset:2px}
@media(max-width:767px) and (orientation:portrait){.svm-fullscreen-toggle{display:none!important}}
/* v1.46.35 — persistenza preferenza schermo intero tra le pagine. */

/* v1.46.35 — contenitore persistente per la navigazione in schermo intero. */
.svm-fullscreen-shell-active{overflow:hidden!important}
.svm-fullscreen-shell{position:fixed;inset:0;z-index:2147483000;background:#f3f7fc;display:block;width:100vw;height:100vh;height:100dvh}
.svm-fullscreen-shell-frame{display:block;width:100%;height:100%;border:0;background:#f3f7fc}
.svm-fullscreen-shell-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#f3f7fc;color:#173a67;font-weight:700;z-index:2}
.svm-fullscreen-frame{background:#f3f7fc}


.canvas-slide-builder-card{margin-top:1rem;padding:1rem;border:1px dashed rgba(23,109,232,.35);border-radius:20px;background:rgba(23,109,232,.05);display:grid;gap:.85rem}.canvas-slide-builder-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.canvas-slide-builder-head strong{display:flex;align-items:center;gap:.55rem;color:#11386b}.canvas-slide-builder-head small{display:block;color:#607085;line-height:1.45;margin-top:.2rem}.canvas-slide-builder-actions{display:flex;flex-wrap:wrap;gap:.75rem}.canvas-slide-builder-note{margin:0;color:#607085;font-size:.92rem;display:flex;gap:.55rem;align-items:flex-start}.canvas-slide-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .8rem;border-radius:999px;background:#eaf8ef;color:#177245;font-weight:700;font-size:.82rem}

.canvas-slide-editor-open{overflow:hidden}.canvas-slide-editor-modal,.canvas-slide-confirm-modal{position:fixed;inset:0;z-index:2600}.canvas-slide-editor-backdrop,.canvas-slide-confirm-backdrop{position:absolute;inset:0;background:rgba(10,22,40,.52);backdrop-filter:blur(4px)}.canvas-slide-editor-window{position:relative;z-index:1;height:100vh;background:#f4f7fb;display:flex;flex-direction:column}.canvas-slide-editor-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1.35rem;border-bottom:1px solid rgba(17,56,107,.12);background:#fff}.canvas-slide-editor-titlebox h2{margin:.2rem 0;font-size:1.55rem;color:#123b70}.canvas-slide-editor-titlebox small{color:#607085}.canvas-slide-editor-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:flex-end}.canvas-insert-image-button{position:relative;overflow:hidden}.canvas-slide-editor-body{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:1rem;padding:1rem 1.2rem}.canvas-slide-editor-sidebar{background:#fff;border:1px solid rgba(17,56,107,.1);border-radius:22px;padding:1rem;display:flex;flex-direction:column;gap:1rem;min-height:0}.canvas-panel-head strong{display:block;color:#11386b}.canvas-panel-head small{color:#607085}.canvas-stage-info{padding:.85rem 1rem;border-radius:16px;background:#f4f7fb;color:#11386b;display:grid;gap:.25rem}.canvas-drop-helper{padding:1rem;border-radius:18px;background:#f7faff;color:#607085;display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:flex-start}.canvas-drop-helper i{font-size:1.2rem;color:#176de8}.canvas-slide-elements-panel{display:flex;flex-direction:column;min-height:0;gap:.75rem}.canvas-slide-elements-list{display:grid;gap:.55rem;overflow:auto;padding-right:.2rem}.canvas-slide-element-row{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center;border:1px solid rgba(17,56,107,.12);border-radius:16px;padding:.8rem .9rem;background:#fff;color:#11386b;text-align:left}.canvas-slide-element-row i{color:#176de8}.canvas-slide-element-row small{display:block;color:#607085}.canvas-slide-element-row.is-active{border-color:#176de8;box-shadow:0 0 0 3px rgba(23,109,232,.12)}.canvas-slide-elements-empty{padding:1rem;border-radius:16px;background:#f7faff;color:#607085}.canvas-slide-stage-shell{display:flex;flex-direction:column;min-width:0;min-height:0;gap:.8rem}.canvas-slide-stage-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:#607085;padding:.85rem 1rem;border-radius:18px;background:#fff;border:1px solid rgba(17,56,107,.1)}.canvas-slide-status{font-weight:700;color:#11386b}.canvas-slide-stage-viewport{flex:1;overflow:auto;border:1px solid rgba(17,56,107,.1);border-radius:26px;background:#dfe7f1;padding:1.25rem;display:flex;align-items:flex-start;justify-content:center}.canvas-slide-stage-viewport.is-dragover{box-shadow:inset 0 0 0 3px rgba(23,109,232,.22)}.canvas-slide-stage{position:relative;width:1600px;height:900px;border-radius:12px;box-shadow:0 18px 55px rgba(17,56,107,.18);background:#fff;overflow:hidden;flex:none}.canvas-stage-item{position:absolute;border:2px solid transparent;border-radius:10px;cursor:move;user-select:none;box-sizing:border-box;overflow:visible}.canvas-stage-item.is-selected{border-color:#176de8;box-shadow:0 0 0 4px rgba(23,109,232,.16)}.canvas-stage-item img{width:100%;height:100%;display:block;object-fit:contain;border-radius:8px;background:transparent;pointer-events:none}.canvas-stage-item-text{width:100%;height:100%;white-space:pre-wrap;line-height:1.2;overflow:hidden;padding:.1rem .2rem;pointer-events:none}.canvas-stage-item-label{position:absolute;left:0;top:-28px;max-width:100%;padding:.25rem .55rem;border-radius:999px;background:#11386b;color:#fff;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-stage-item-resize{position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border:none;border-radius:50%;background:#176de8;box-shadow:0 3px 12px rgba(17,56,107,.35);cursor:nwse-resize}.canvas-properties-panel{display:grid;gap:.85rem}.canvas-properties-panel label{display:grid;gap:.35rem;color:#11386b;font-size:.92rem}.canvas-properties-panel input,.canvas-properties-panel textarea,.canvas-properties-panel select{width:100%;border:1px solid rgba(17,56,107,.16);border-radius:14px;padding:.7rem .85rem;background:#fff}.canvas-property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.canvas-property-toggles{display:flex;gap:1rem;flex-wrap:wrap;color:#11386b}.canvas-properties-empty{padding:1rem;border-radius:18px;background:#f7faff;color:#607085}.canvas-slide-confirm-window{position:relative;z-index:1;width:min(520px,calc(100vw - 2rem));margin:12vh auto 0;background:#fff;border-radius:28px;padding:1.4rem;box-shadow:0 28px 80px rgba(10,22,40,.25)}.canvas-slide-confirm-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff4ea;color:#c96a19;font-size:1.35rem;margin-bottom:1rem}.canvas-slide-confirm-window h3{margin:.2rem 0 .5rem;color:#11386b}.canvas-slide-confirm-window p{color:#607085;line-height:1.5}.canvas-slide-confirm-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}

@media (max-width: 1440px){.canvas-slide-editor-body{grid-template-columns:260px minmax(0,1fr) 280px}}@media (max-width: 1180px){.canvas-slide-editor-body{grid-template-columns:1fr;overflow:auto}.canvas-slide-editor-sidebar{min-height:unset}.canvas-slide-stage-shell{min-height:560px}.canvas-slide-editor-toolbar{flex-direction:column}.canvas-slide-editor-actions{justify-content:flex-start}}


/* v1.46.72 — editor visuale diapositiva: layout compatto, tela adattiva e comandi sempre accessibili */
.canvas-slide-editor-window{height:100dvh;background:#eef3f9;overflow:hidden}
.canvas-slide-editor-toolbar{min-height:88px;padding:.8rem 1rem;align-items:center;gap:1rem;box-shadow:0 4px 18px rgba(17,56,107,.08);z-index:3}
.canvas-slide-editor-titlebox{min-width:250px;max-width:480px}.canvas-slide-editor-titlebox .eyebrow{font-size:.72rem;letter-spacing:.12em}.canvas-slide-editor-titlebox h2{font-size:1.3rem;line-height:1.15;margin:.12rem 0 .18rem}.canvas-slide-editor-titlebox small{display:block;font-size:.82rem;line-height:1.3;white-space:normal}
.canvas-slide-editor-actions{align-items:center;gap:.45rem;flex:1}.canvas-slide-editor-actions .btn{min-height:42px;padding:.62rem .82rem;border-radius:14px;white-space:nowrap}.canvas-slide-editor-actions .btn-small{font-size:.85rem}.canvas-slide-editor-actions [data-apply-canvas-slide-editor]{margin-left:auto;box-shadow:0 8px 18px rgba(23,109,232,.24)}
.canvas-slide-editor-body{grid-template-columns:230px minmax(520px,1fr) 280px;gap:.75rem;padding:.75rem;overflow:hidden}
.canvas-slide-editor-sidebar{border-radius:18px;padding:.85rem;gap:.8rem;box-shadow:0 8px 24px rgba(17,56,107,.06)}
.canvas-stage-info{padding:.7rem .8rem;border-radius:14px}.canvas-drop-helper{padding:.8rem;border-radius:14px;font-size:.88rem}.canvas-slide-elements-list{max-height:calc(100dvh - 330px)}
.canvas-slide-stage-shell{gap:.55rem;min-height:0}.canvas-slide-stage-toolbar{padding:.62rem .8rem;border-radius:14px;font-size:.86rem}.canvas-slide-shortcuts{font-size:.82rem}
.canvas-slide-stage-viewport{overflow:hidden;border-radius:18px;padding:.75rem;background:linear-gradient(135deg,#dfe8f3,#cfdbe8);align-items:center;justify-content:center;min-height:0}
.canvas-slide-stage{width:min(100%,calc((100dvh - 195px)*1.7777778));height:auto;aspect-ratio:16/9;max-width:1600px;max-height:calc(100dvh - 195px);border-radius:10px;box-shadow:0 16px 45px rgba(17,56,107,.2);flex:0 1 auto}
.canvas-stage-item-label{top:-22px;font-size:.66rem;padding:.18rem .45rem}.canvas-stage-item-resize{right:-7px;bottom:-7px;width:15px;height:15px}.canvas-stage-item.is-selected{box-shadow:0 0 0 3px rgba(23,109,232,.15)}
.canvas-properties-panel{gap:.65rem}.canvas-properties-panel label{gap:.25rem;font-size:.84rem}.canvas-properties-panel input,.canvas-properties-panel textarea,.canvas-properties-panel select{border-radius:11px;padding:.55rem .65rem;font-size:.88rem}.canvas-property-grid{gap:.5rem}.canvas-properties-empty{padding:.85rem;border-radius:14px;font-size:.9rem}.canvas-slide-element-row{padding:.65rem .75rem;border-radius:13px}
@media (max-width:1500px){.canvas-slide-editor-body{grid-template-columns:205px minmax(480px,1fr) 245px}.canvas-slide-editor-titlebox small{display:none}.canvas-slide-editor-actions .btn{padding:.58rem .7rem}}
@media (max-width:1220px){.canvas-slide-editor-toolbar{align-items:flex-start;flex-direction:column}.canvas-slide-editor-actions{width:100%}.canvas-slide-editor-actions [data-apply-canvas-slide-editor]{margin-left:0}.canvas-slide-editor-body{grid-template-columns:190px minmax(460px,1fr) 230px}.canvas-slide-stage{width:min(100%,calc((100dvh - 245px)*1.7777778));max-height:calc(100dvh - 245px)}}
@media (max-width:980px){.canvas-slide-editor-body{grid-template-columns:1fr;overflow:auto}.canvas-slide-editor-sidebar--left,.canvas-slide-editor-sidebar--right{min-height:auto}.canvas-slide-stage-shell{min-height:480px}.canvas-slide-stage-viewport{min-height:430px}.canvas-slide-stage{width:100%;max-height:none}.canvas-slide-elements-list{max-height:240px}}

/* v1.46.80 — editor testo canvas Material Design */
.canvas-stage-item--text:not(.is-editing) .canvas-stage-item-text{
  pointer-events:auto!important;
  cursor:text!important;
  border-radius:14px;
  padding:8px 10px;
  transition:background .16s ease,box-shadow .16s ease;
}
.canvas-stage-item--text:not(.is-editing):hover .canvas-stage-item-text{
  background:rgba(25,118,210,.045);
  box-shadow:inset 0 0 0 1px rgba(25,118,210,.12);
}
.canvas-stage-item--text.is-editing{
  overflow:visible!important;
  background:#fff;
  border:2px solid #1976d2!important;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(17,56,107,.2),0 0 0 4px rgba(25,118,210,.12)!important;
  cursor:text;
}
.canvas-stage-item--text.is-editing .canvas-stage-item-label{display:none}
.canvas-stage-item-inline-editor{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  padding:20px 22px;
  border:0!important;
  outline:0!important;
  background:#fff;
  border-radius:16px;
  line-height:1.35;
  font-family:Roboto,Arial,sans-serif!important;
  box-sizing:border-box;
  overflow:auto;
  white-space:pre-wrap;
  word-break:break-word;
  caret-color:#1976d2;
  user-select:text;
}
.canvas-stage-item-inline-editor:empty:before{
  content:attr(data-placeholder);
  color:#8a98aa;
  font-weight:400;
  pointer-events:none;
}
.canvas-text-bubble-toolbar{
  position:absolute;
  left:0;
  bottom:calc(100% + 12px);
  z-index:50;
  display:flex;
  align-items:center;
  gap:6px;
  min-height:48px;
  padding:6px 8px;
  border:1px solid rgba(17,56,107,.12);
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 28px rgba(17,56,107,.18);
  white-space:nowrap;
  font-family:Roboto,Arial,sans-serif;
}
.canvas-text-size-control,.canvas-text-color-control{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:36px;
  padding:0 10px;
  border-radius:12px;
  color:#40556f;
  background:#f5f8fc;
}
.canvas-text-size-control select{
  height:32px;
  min-width:84px;
  padding:0 6px;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#173b68;
  font:700 .88rem/1 Roboto,Arial,sans-serif;
  appearance:auto;
}
.canvas-text-color-control input[type=color]{
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  overflow:hidden;
  cursor:pointer;
}
.canvas-text-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:2px}
.canvas-text-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}
.canvas-text-tool-button{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#51657c!important;
  display:grid!important;
  place-items:center;
  cursor:pointer;
  box-shadow:none!important;
  transition:background .15s ease,color .15s ease,transform .15s ease;
}
.canvas-text-tool-button:hover{background:#edf4fd!important;color:#125ea9!important}
.canvas-text-tool-button:active{transform:scale(.96)}
.canvas-text-tool-button.is-active{background:#e3f2fd!important;color:#0d6fca!important}
.canvas-text-toolbar-spacer{width:1px;height:26px;background:#dce5ef;margin:0 2px}
.canvas-text-done-button{
  height:36px!important;
  min-width:auto!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:10px!important;
  background:#1976d2!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  font-weight:800!important;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(25,118,210,.25)!important;
}
.canvas-text-done-button:hover{background:#1565c0!important}
@media(max-width:1100px){
  .canvas-text-bubble-toolbar{max-width:min(92vw,720px);overflow-x:auto}
  .canvas-text-size-control select{min-width:72px}
}

/* v1.46.85 — Editor slide: pannello proprietà Material Design 3 */
.canvas-slide-editor-sidebar--right{padding:0!important;overflow:hidden;background:#f8faff!important;border:1px solid #dce6f2!important;box-shadow:0 10px 30px rgba(29,63,104,.10)!important}
.canvas-properties-empty{height:100%;margin:0!important;padding:28px 20px!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center;background:linear-gradient(180deg,#fbfdff 0%,#f5f8fc 100%);color:#60758d!important}
.canvas-properties-empty-icon{width:64px!important;height:64px!important;border-radius:22px!important;background:#e8f1fd!important;color:#0b66d3!important;display:grid!important;place-items:center!important;font-size:1.35rem!important;box-shadow:inset 0 0 0 1px #d4e4f8}
.canvas-properties-empty strong{font:700 1.05rem/1.25 Roboto,Arial,sans-serif!important;color:#123b70!important}.canvas-properties-empty span{font:400 .9rem/1.5 Roboto,Arial,sans-serif!important;color:#657991!important}
.canvas-properties-panel{height:100%;min-height:0;padding:18px!important;display:flex!important;flex-direction:column!important;gap:14px!important;overflow:auto!important;background:#f8faff!important;font-family:Roboto,Arial,sans-serif!important}
.canvas-properties-panel.is-hidden{display:none!important}
.canvas-properties-header{display:flex!important;align-items:center!important;gap:12px!important;padding:0 0 14px!important;border-bottom:1px solid #dfe8f2!important}
.canvas-properties-header>div:last-child{display:flex!important;flex-direction:column!important;gap:2px!important}.canvas-properties-header span{font-size:.68rem!important;line-height:1!important;letter-spacing:.13em!important;font-weight:800!important;color:#0b66d3!important}.canvas-properties-header strong{font-size:1.12rem!important;line-height:1.25!important;color:#153f73!important}
.canvas-properties-type-icon{width:46px!important;height:46px!important;border-radius:16px!important;background:#e6f0fd!important;color:#0b66d3!important;display:grid!important;place-items:center!important;font-size:1.05rem!important;box-shadow:inset 0 0 0 1px #d3e3f7}
.canvas-properties-section{display:flex!important;flex-direction:column!important;gap:12px!important;padding:14px!important;border:1px solid #dfe8f2!important;border-radius:20px!important;background:#fff!important;box-shadow:0 3px 12px rgba(24,55,95,.05)!important}
.canvas-properties-section.is-hidden{display:none!important}.canvas-properties-section-title{display:flex!important;align-items:center!important;gap:9px!important;font-size:.9rem!important;font-weight:800!important;color:#173f71!important}.canvas-properties-section-title i{color:#0b66d3!important}
.canvas-material-field{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}.canvas-material-field label{font-size:.75rem!important;line-height:1.2!important;font-weight:700!important;color:#5a718a!important;margin:0!important}.canvas-material-field input,.canvas-material-field select{appearance:none!important;-webkit-appearance:none!important;width:100%!important;height:46px!important;min-height:46px!important;border:1px solid #bdcad9!important;border-radius:14px!important;background:#fff!important;padding:0 13px!important;color:#153f73!important;font:600 .92rem/1 Roboto,Arial,sans-serif!important;outline:none!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important}
.canvas-material-field select{background-image:linear-gradient(45deg,transparent 50%,#536a83 50%),linear-gradient(135deg,#536a83 50%,transparent 50%)!important;background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:34px!important}
.canvas-material-field input:hover,.canvas-material-field select:hover{border-color:#8ea5bf!important;background-color:#fbfdff!important}.canvas-material-field input:focus,.canvas-material-field select:focus{border-color:#0b66d3!important;box-shadow:0 0 0 3px rgba(11,102,211,.14)!important;background:#fff!important}
.canvas-material-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.canvas-material-field--full{width:100%!important}
.canvas-material-action{height:46px!important;border:1px solid #b8c9dc!important;border-radius:14px!important;background:#fff!important;color:#0b4f9f!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;padding:0 14px!important;font:700 .9rem/1 Roboto,Arial,sans-serif!important;cursor:pointer!important;transition:background .15s ease,border-color .15s ease,transform .15s ease!important}.canvas-material-action:hover{background:#edf5ff!important;border-color:#7aa6d8!important}.canvas-material-action:active{transform:scale(.985)!important}
.canvas-material-color-row label{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;font-size:.76rem!important;font-weight:700!important;color:#5a718a!important}.canvas-material-color-row input[type=color]{appearance:none!important;-webkit-appearance:none!important;width:56px!important;height:38px!important;padding:4px!important;border:1px solid #bdcad9!important;border-radius:12px!important;background:#fff!important;cursor:pointer!important}.canvas-material-color-row input[type=color]::-webkit-color-swatch-wrapper{padding:0!important}.canvas-material-color-row input[type=color]::-webkit-color-swatch{border:none!important;border-radius:8px!important}
.canvas-material-segmented{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:1fr!important;gap:0!important;border:1px solid #bdcad9!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}.canvas-material-segmented button{height:42px!important;border:0!important;border-right:1px solid #d8e2ed!important;border-radius:0!important;background:#fff!important;color:#345878!important;display:grid!important;place-items:center!important;cursor:pointer!important;font-size:.94rem!important}.canvas-material-segmented button:last-child{border-right:0!important}.canvas-material-segmented button:hover{background:#eef5fd!important}.canvas-material-segmented button.is-active,.canvas-material-segmented button[aria-pressed=true]{background:#dcecff!important;color:#075fc3!important;box-shadow:inset 0 -3px 0 #0b66d3!important}
.canvas-material-done{height:44px!important;border:0!important;border-radius:14px!important;background:#0b66d3!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font:800 .9rem/1 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:0 6px 15px rgba(11,102,211,.24)!important}.canvas-material-done:hover{background:#0759ba!important}.canvas-material-done.is-hidden{display:none!important}
.canvas-properties-quick-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:auto!important;padding-top:2px!important}.canvas-properties-quick-actions button{height:44px!important;border:1px solid #bdcad9!important;border-radius:14px!important;background:#fff!important;color:#234f7e!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;font:750 .88rem/1 Roboto,Arial,sans-serif!important;cursor:pointer!important}.canvas-properties-quick-actions button:hover{background:#eef5fd!important}.canvas-properties-quick-actions button.is-danger{color:#b3261e!important;border-color:#e8bab5!important}.canvas-properties-quick-actions button.is-danger:hover{background:#fff1f0!important}
.canvas-material-field input[type=range]{height:34px!important;padding:0!important;border:0!important;background:transparent!important;accent-color:#0b66d3!important}
.canvas-stage-item{pointer-events:auto!important}.canvas-stage-item img{pointer-events:auto!important;cursor:move!important}.canvas-stage-item-text{pointer-events:auto!important;cursor:text!important}.canvas-stage-item.is-selected{border-color:#0b66d3!important;box-shadow:0 0 0 4px rgba(11,102,211,.15)!important}.canvas-stage-item.is-selected .canvas-stage-item-label{background:#0b66d3!important}.canvas-stage-item:not(.is-selected):hover{outline:2px solid rgba(11,102,211,.32)!important;outline-offset:2px!important}
@media(max-width:1380px){.canvas-slide-editor-body{grid-template-columns:205px minmax(470px,1fr) 270px!important}.canvas-properties-panel{padding:14px!important}.canvas-properties-section{padding:12px!important}}

/* v1.46.88 — Material Design per allineamento e distribuzione canvas */
.canvas-properties-note{font:400 .82rem/1.5 Roboto,Arial,sans-serif!important;color:#5e7289!important;margin:0!important}.canvas-material-segmented--scope{grid-template-columns:1fr 1fr!important;grid-auto-flow:initial!important}.canvas-material-segmented--scope button{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 12px!important;font:800 .82rem/1 Roboto,Arial,sans-serif!important;white-space:nowrap!important}.canvas-align-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.canvas-align-grid--distribution{grid-template-columns:repeat(2,minmax(0,1fr))!important}.canvas-align-grid button{appearance:none!important;-webkit-appearance:none!important;min-height:64px!important;border:1px solid #c7d4e2!important;border-radius:16px!important;background:#fff!important;color:#214e7c!important;padding:9px 7px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;text-align:center!important;font:800 .76rem/1.2 Roboto,Arial,sans-serif!important;cursor:pointer!important;box-shadow:0 2px 8px rgba(17,56,107,.04)!important;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease!important}.canvas-align-grid button i{font-size:1.02rem!important;color:#0b66d3!important}.canvas-align-grid button span{display:block!important;font:800 .74rem/1.2 Roboto,Arial,sans-serif!important;color:inherit!important}.canvas-align-grid button:hover:not(:disabled){background:#eef5fd!important;border-color:#87acd5!important;box-shadow:0 5px 14px rgba(17,56,107,.09)!important}.canvas-align-grid button:active:not(:disabled){transform:scale(.98)!important}.canvas-align-grid button:disabled{opacity:.42!important;cursor:not-allowed!important;background:#f4f6f9!important;border-color:#dbe3ec!important;box-shadow:none!important}.canvas-align-grid button:disabled i{color:#98a9bc!important}.canvas-properties-panel button:disabled{opacity:.45!important;cursor:not-allowed!important}.canvas-properties-panel button:disabled:hover{background:inherit!important;box-shadow:none!important}.canvas-properties-quick-actions button:disabled{opacity:.45!important;cursor:not-allowed!important}.canvas-properties-quick-actions button:disabled:hover{background:#fff!important}.canvas-multi-selection-summary{display:grid!important;grid-template-columns:auto 1fr!important;column-gap:10px!important;row-gap:3px!important;padding:14px!important;border-radius:16px!important;background:#eef5fd!important;color:#173f71!important}.canvas-multi-selection-summary i{grid-row:1/3!important;font-size:1.1rem!important;color:#0b66d3!important;margin-top:2px!important}.canvas-multi-selection-summary strong{font:800 .92rem/1.3 Roboto,Arial,sans-serif!important}.canvas-multi-selection-summary span{font:400 .8rem/1.45 Roboto,Arial,sans-serif!important;color:#5e7289!important}.canvas-properties-section[data-canvas-align-section]{gap:12px!important}.canvas-properties-section[data-canvas-align-section] .canvas-properties-section-title{margin-bottom:0!important}@media(max-width:1380px){.canvas-align-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.canvas-align-grid--distribution{grid-template-columns:1fr!important}}

/* v1.48.90 - selezione indipendente watermark Corsi / Quiz */
.watermark-scope-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.watermark-scope-option{cursor:pointer}.watermark-scope-option input{position:absolute;opacity:0;pointer-events:none}.watermark-scope-option span{display:flex!important;align-items:center;justify-content:center;gap:8px;padding:9px 11px;border:1px solid #d6e2f0;border-radius:10px;background:#fff;color:#526780;font-weight:800;font-size:13px;margin:0!important}.watermark-scope-option input:checked+span{border-color:#0865d9;background:#eaf4ff;color:#0755b5;box-shadow:0 0 0 2px rgba(8,101,217,.07)}.watermark-scope-option input:focus-visible+span{outline:2px solid #0865d9;outline-offset:2px}@media(max-width:520px){.watermark-scope-options{grid-template-columns:1fr}}
.watermark-mode-selected{display:block}.watermark-mode-main{display:flex;gap:13px;align-items:flex-start;cursor:pointer}.watermark-mode-main>input{margin-top:4px}.watermark-mode-main>span:last-child{min-width:0}.watermark-mode-selected .watermark-scope-options{margin-left:51px}

/* v1.48.92 - formattazione documenti legali pubblicati */
.legal-public-content h2,.legal-document-body h2{margin:1.4em 0 .55em;color:#0b2d5d;font-size:1.28em;line-height:1.3}
.legal-public-content h3,.legal-document-body h3{margin:1.2em 0 .45em;color:#173f6f;font-size:1.10em;line-height:1.35}
.legal-public-content p,.legal-document-body p{margin:.55em 0}
.legal-public-content ul,.legal-public-content ol,.legal-document-body ul,.legal-document-body ol{margin:.6em 0 .8em;padding-left:1.6em}
.legal-public-content li,.legal-document-body li{margin:.25em 0}

/* v1.50.33 — libreria modelli Editor visuale diapositiva */
.canvas-template-modal{position:fixed;inset:0;z-index:2850}.canvas-template-backdrop{position:absolute;inset:0;background:rgba(8,24,48,.62);backdrop-filter:blur(5px)}.canvas-template-window{position:relative;z-index:1;width:min(1180px,calc(100vw - 40px));height:min(780px,calc(100vh - 40px));margin:20px auto;background:#f6f8fc;border-radius:28px;box-shadow:0 30px 90px rgba(8,24,48,.3);display:flex;flex-direction:column;overflow:hidden}.canvas-template-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;background:#fff;border-bottom:1px solid #dce5f0}.canvas-template-header h2{margin:2px 0 4px;color:#123b70;font-size:1.5rem}.canvas-template-header p{margin:0;max-width:760px;color:#607085;line-height:1.45;font-size:.9rem}.canvas-template-close{width:44px;height:44px;flex:0 0 44px;border:1px solid #d8e3ef;border-radius:50%;background:#fff;color:#173d6d;display:grid;place-items:center;cursor:pointer;font-size:1rem}.canvas-template-close:hover{background:#eef5ff}.canvas-template-content{flex:1;min-height:0;display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;padding:16px}.canvas-template-create,.canvas-template-library{background:#fff;border:1px solid #dfe7f1;border-radius:22px;min-height:0}.canvas-template-create{padding:16px;display:flex;flex-direction:column;gap:13px;overflow:auto}.canvas-template-create-head{display:flex;gap:11px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid #e5ebf3}.canvas-template-create-head>i{width:38px;height:38px;border-radius:12px;background:#e8f1fd;color:#1565c0;display:grid;place-items:center;flex:0 0 auto}.canvas-template-create-head strong,.canvas-template-create-head small{display:block}.canvas-template-create-head strong{color:#123b70}.canvas-template-create-head small{margin-top:3px;color:#687a91;line-height:1.35}.canvas-template-create label{display:grid;gap:6px;color:#445b75;font-size:.78rem;font-weight:800}.canvas-template-create label span{font-weight:600;color:#8492a6}.canvas-template-create input,.canvas-template-create textarea,.canvas-template-create select{width:100%;box-sizing:border-box;border:1px solid #ccd8e6;border-radius:12px;background:#fff;padding:10px 11px;color:#123b70;font:600 .88rem/1.25 Roboto,Arial,sans-serif;outline:none}.canvas-template-create select{height:42px}.canvas-template-create input:focus,.canvas-template-create textarea:focus,.canvas-template-create select:focus{border-color:#1976d2;box-shadow:0 0 0 3px rgba(25,118,210,.12)}.canvas-template-create .btn{justify-content:center}.canvas-template-form-status{min-height:18px;font-size:.78rem;line-height:1.35;color:#607085}.canvas-template-form-status[data-kind=error]{color:#b3261e}.canvas-template-form-status[data-kind=success]{color:#16845b}.canvas-template-form-status[data-kind=busy]{color:#0b66c3}.canvas-template-library{padding:14px;display:flex;flex-direction:column;overflow:hidden}.canvas-template-library-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:2px 2px 12px}.canvas-template-library-head strong,.canvas-template-library-head small{display:block}.canvas-template-library-head strong{color:#123b70}.canvas-template-library-head small{color:#7a899c;margin-top:2px;font-size:.78rem}.canvas-template-filter{height:40px;width:min(280px,45%);border:1px solid #d5e0ec;border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 11px;background:#fff;color:#71839a}.canvas-template-filter input{border:0;outline:0;width:100%;min-width:0;font:600 .84rem Roboto,Arial,sans-serif;color:#173d6d}.canvas-template-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;gap:12px;padding:2px}.canvas-template-grid[aria-busy=true]{opacity:.55;pointer-events:none}.canvas-template-card{min-width:0;border:1px solid #dce6f1;border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(17,56,107,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.canvas-template-card:hover{transform:translateY(-1px);border-color:#b9d2ef;box-shadow:0 8px 20px rgba(17,56,107,.09)}.canvas-template-preview{aspect-ratio:16/9;background:linear-gradient(135deg,#eef3f9,#f8fafc);border-bottom:1px solid #e3eaf2;display:grid;place-items:center;overflow:hidden;color:#8698ad;font-size:.78rem;gap:6px;text-align:center}.canvas-template-preview img{width:100%;height:100%;object-fit:cover;display:block}.canvas-template-preview>i{font-size:1.5rem}.canvas-template-card-body{padding:11px 12px 8px;display:flex;flex-direction:column;gap:5px;min-width:0}.canvas-template-card-body>strong{color:#123b70;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.canvas-template-card-body>small{color:#6e8095;font-size:.76rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.05em}.canvas-template-scope{align-self:flex-start;padding:3px 7px;border-radius:999px;background:#eef4fb;color:#496780;font-size:.64rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.canvas-template-scope--course{background:#e8f1ff;color:#075cb7}.canvas-template-scope--global{background:#e9f7ef;color:#16704a}.canvas-template-card-actions{display:flex;gap:7px;align-items:center;padding:0 10px 11px;margin-top:auto}.canvas-template-action{height:36px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;cursor:pointer}.canvas-template-action--primary{flex:1;background:#0b6ee8;color:#fff}.canvas-template-action--primary:hover{background:#075fc8}.canvas-template-action--icon,.canvas-template-action--icon-danger{width:36px;background:#f1f5fa;color:#44617e}.canvas-template-action--icon:hover{background:#e6eef8;color:#0b66c3}.canvas-template-action--icon-danger{color:#ad2f27}.canvas-template-action--icon-danger:hover{background:#fff0ef}.canvas-template-empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:#708197;padding:30px}.canvas-template-empty i{font-size:2rem;color:#91a6be}.canvas-template-empty strong{color:#173d6d}.canvas-template-open{overflow:hidden}.canvas-template-trigger{white-space:nowrap}@media(max-width:900px){.canvas-template-window{width:calc(100vw - 20px);height:calc(100vh - 20px);margin:10px}.canvas-template-content{grid-template-columns:1fr;overflow:auto}.canvas-template-create{overflow:visible}.canvas-template-library{min-height:420px}.canvas-template-grid{overflow:visible}.canvas-template-library-head{align-items:flex-start}.canvas-template-filter{width:46%}}@media(max-width:620px){.canvas-template-header p{display:none}.canvas-template-content{padding:10px;gap:10px}.canvas-template-library-head{flex-direction:column}.canvas-template-filter{width:100%}.canvas-template-grid{grid-template-columns:1fr 1fr}.canvas-template-card-body>small{display:none}.canvas-template-action--primary span{display:none}}

/* v1.50.47 - anteprima immediata del canvas e stato salvataggio */
.canvas-slide-inline-preview{margin-top:.85rem;border:1px solid rgba(25,118,210,.18);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(17,56,107,.07)}
.canvas-slide-inline-preview.is-hidden{display:none!important}
.canvas-slide-inline-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.62rem .8rem;background:#f5f9ff;color:#11386b;font-size:.84rem;font-weight:700}
.canvas-slide-inline-preview-head i{color:#1976d2;margin-right:.35rem}
.canvas-slide-inline-preview-state{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#fff0ee;color:#b42318;font-size:.72rem;font-weight:800}
.canvas-slide-inline-preview-frame{aspect-ratio:16/9;background:#e9eff6;display:grid;place-items:center;overflow:hidden}
.canvas-slide-inline-preview-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
/* v1.50.48 — video elements in visual slide editor */
.canvas-insert-video-button{position:relative;overflow:hidden}.canvas-stage-item--video video{width:100%;height:100%;display:block;object-fit:contain;border-radius:8px;background:#000;pointer-events:none}.canvas-stage-video-badge{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:rgba(8,47,99,.86);color:#fff;font-size:.72rem;font-weight:800;pointer-events:none;box-shadow:0 4px 14px rgba(8,47,99,.2)}.canvas-video-toggles{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem}.canvas-video-toggles label{display:flex!important;align-items:center;gap:.45rem;font-size:.82rem!important}.canvas-video-toggles input{width:auto!important}.student-canvas-composition,.teacher-canvas-composition{position:relative;width:100%;max-width:100%;overflow:hidden;background:#000}.student-canvas-composition>img,.teacher-canvas-composition>img{display:block;width:100%;height:auto}.student-canvas-video,.teacher-canvas-video{position:absolute;overflow:hidden}.student-canvas-video video,.teacher-canvas-video video{display:block;width:100%;height:100%;background:#000}


/* v1.50.50 — Material Design progress for chunked canvas-video import */
.canvas-video-upload-progress{position:fixed;inset:0;z-index:42000;display:grid;place-items:center;padding:24px}.canvas-video-upload-progress.is-hidden{display:none!important}.canvas-video-upload-backdrop{position:absolute;inset:0;background:rgba(9,27,55,.58);backdrop-filter:blur(5px)}.canvas-video-upload-card{position:relative;z-index:1;width:min(560px,calc(100vw - 30px));background:#fff;border:1px solid #d7e3f1;border-radius:28px;box-shadow:0 28px 90px rgba(4,24,56,.34);padding:28px;color:#0a2f63}.canvas-video-upload-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#e9f3ff;color:#0768dc;font-size:23px;margin-bottom:14px}.canvas-video-upload-progress.is-complete .canvas-video-upload-icon{background:#e5f7ed;color:#167648}.canvas-video-upload-progress.has-error .canvas-video-upload-icon{background:#fdecea;color:#b3261e}.canvas-video-upload-copy h2{margin:3px 0 6px;font-size:24px}.canvas-video-upload-copy p{margin:0;color:#58708e;overflow-wrap:anywhere}.canvas-video-upload-progress-track{height:12px;background:#e8eef6;border-radius:999px;overflow:hidden;margin:22px 0 10px}.canvas-video-upload-progress-track span{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#0969da,#22a7dd);transition:width .16s ease}.canvas-video-upload-progress-row{display:flex;justify-content:space-between;align-items:center;gap:16px;color:#58708e;font-size:13px}.canvas-video-upload-progress-row strong{font-size:18px;color:#0a2f63}.canvas-video-upload-stage{display:flex;align-items:center;gap:10px;margin-top:18px;padding:13px 15px;border-radius:14px;background:#f3f7fc;color:#294d77;font-weight:700}.canvas-video-upload-actions{display:flex;justify-content:flex-end;margin-top:18px}.canvas-video-upload-active{overflow:hidden}.canvas-video-upload-progress.has-error .canvas-video-upload-progress-track span{background:#b3261e}@media(max-width:640px){.canvas-video-upload-progress{padding:12px}.canvas-video-upload-card{padding:22px 18px;border-radius:22px}.canvas-video-upload-progress-row{align-items:flex-start;flex-direction:column;gap:2px}}


/* v1.50.53 — interactive video overlays in inline canvas preview */
.canvas-slide-inline-preview-frame{position:relative}
.canvas-slide-inline-preview-videos{position:absolute;inset:0;pointer-events:none;z-index:2}
.canvas-slide-inline-preview-video{position:absolute;overflow:hidden;background:#050b14;border-radius:4px;box-shadow:0 1px 4px rgba(6,28,56,.18);pointer-events:auto}
.canvas-slide-inline-preview-video video{display:block;width:100%;height:100%;background:#000}
.canvas-slide-inline-preview.has-video-preview .canvas-slide-inline-preview-head:after{content:'Video interattivo';margin-left:auto;margin-right:.35rem;padding:.18rem .48rem;border-radius:999px;background:#e8f3ff;color:#0865d9;font-size:.68rem;font-weight:800}

/* Ritorno al corso dall’editor: titolo completo e destinazione riconoscibile. */
.page-head .lesson-course-return{display:inline-flex;align-items:center;gap:12px;padding:12px 18px;margin-bottom:16px;max-width:100%;min-height:48px;text-align:left;text-decoration:none;white-space:normal;box-sizing:border-box;box-shadow:0 4px 12px rgba(8,101,217,.18)}
.lesson-course-return span{display:flex;flex-direction:column;gap:3px;min-width:0}
.lesson-course-return strong{font-size:16px;line-height:1.3}
.lesson-course-return small{font-size:13px;line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.lesson-course-return>i{flex-shrink:0}
.lesson-course-return:focus-visible{outline:3px solid #10284d;outline-offset:3px}
@media(max-width:640px){.page-head .lesson-course-return{width:100%}.lesson-course-return>i:last-child{margin-left:auto}}

/* Copertina personalizzata: conserva tutta l’immagine e le sue proporzioni. */
img.course-custom-cover{object-fit:contain!important;background:#f1f5f9}

/* Fullscreen shell: il solo player occupa l’intera superficie nativa. */
.svm-fullscreen-shell:fullscreen,.svm-fullscreen-shell:-webkit-full-screen{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#f3f7fc!important}
.svm-fullscreen-shell:fullscreen .svm-fullscreen-shell-frame,.svm-fullscreen-shell:-webkit-full-screen .svm-fullscreen-shell-frame{width:100%!important;height:100%!important}
