/* Diario PRO – grafici di lettura e microaccademia. */
.sleep-app .dp-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.sleep-app .dp-chart-card{padding:20px;border-radius:13px;background:#f4f7f2;border:1px solid #d0ded7;min-width:0;overflow:hidden}
.sleep-app .dp-chart-card h3{font-size:clamp(21px,2.4vw,29px);margin:0 0 10px}
.sleep-app .dp-scatter{width:100%;min-height:185px;margin:16px 0}
.sleep-app .dp-scatter svg{display:block;width:100%;height:auto;max-width:100%;overflow:visible}
.sleep-app .dp-svg-grid{stroke:#d4e0d7;stroke-width:1}
.sleep-app .dp-svg-text{font:12px Arial,sans-serif;fill:#506b74}
.sleep-app .dp-svg-axis{font-weight:700;fill:#32545d}
.sleep-app .dp-svg-dot{fill:#2c837b;stroke:#f8faf6;stroke-width:1.8;opacity:.86}
.sleep-app .dp-svg-dot:focus{outline:none;stroke:#ad7438;stroke-width:4}
.sleep-app .dp-factor-chart{margin-top:22px;min-height:135px}
.sleep-app .dp-factor-group{margin:0 0 20px;min-width:0}
.sleep-app .dp-factor-row-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#2c4a52;line-height:1.4}
.sleep-app .dp-factor-row-head strong{white-space:nowrap;font-size:16px;color:#285d5a}
.sleep-app .dp-factor-track{height:17px;margin:8px 0;border-radius:20px;background:#dde8e0;overflow:hidden}
.sleep-app .dp-factor-fill{height:100%;background:linear-gradient(90deg,#337b74,#72aea2);border-radius:20px}
.sleep-app .dp-factor-fill.is-alt{background:linear-gradient(90deg,#bf9b65,#e0c69a)}
.sleep-app .dp-factor-group p{font-size:12px;margin:4px 0}
.sleep-app .dp-chart-empty{padding:20px;border-radius:9px;background:#e6efe7;color:#385b5e;font-size:14px;line-height:1.6}
.sleep-app .dp-chart-count{font-size:12px;color:#546d71}
.sleep-app .dp-learning-summary{border-radius:12px;background:#183b46;color:#fff;padding:17px 20px;margin:19px 0}
.sleep-app .dp-learning-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;align-items:center}
.sleep-app .dp-learning-progress strong{color:#f1dfbe;font-size:16px}
.sleep-app .dp-learning-progress span{color:#c9dad8}
.sleep-app .dp-learning-bar{height:9px;margin-top:14px;background:#40646b;border-radius:10px;overflow:hidden}
.sleep-app .dp-learning-bar span{display:block;height:100%;background:#d8b780;border-radius:10px;transition:width .16s}
.sleep-app .dp-learning-controls{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:end;gap:20px;margin:20px 0 22px}
.sleep-app .dp-learning-controls p{margin:0 0 8px}
.sleep-app .dp-lessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.sleep-app .dp-lesson{border:1px solid #c9d8d1;border-radius:13px;background:#fff;overflow:hidden;min-width:0}
.sleep-app .dp-lesson[open]{border-color:#78a9a0;box-shadow:0 10px 28px #204b4520}
.sleep-app .dp-lesson summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:11px;padding:18px 18px 19px;list-style:none;min-width:0}
.sleep-app .dp-lesson summary::-webkit-details-marker{display:none}
.sleep-app .dp-lesson summary::after{content:"+";font:28px/1 Arial,sans-serif;color:#587b79;flex:none}
.sleep-app .dp-lesson[open] summary::after{content:"–"}
.sleep-app .dp-lesson-heading{display:grid;gap:6px;min-width:0;flex:1}
.sleep-app .dp-lesson-heading strong{color:#1b414b;font:500 clamp(20px,2vw,26px)/1.2 Georgia,serif;overflow-wrap:break-word}
.sleep-app .dp-lesson-label{font:700 10px/1.4 Arial,sans-serif;color:#7b6341;letter-spacing:.09em}
.sleep-app .dp-lesson-time{font:700 11px/1.5 Arial,sans-serif;color:#4d7e76;white-space:nowrap}
.sleep-app .dp-lesson-content{border-top:1px solid #e2e9e2;padding:17px 19px 22px;color:#2c4b53}
.sleep-app .dp-lesson-content p{font-size:14px;line-height:1.75;margin:0 0 13px}
.sleep-app .dp-context{margin:18px 0;background:#eaf3eb;border-left:4px solid #5b9b8f;padding:13px 16px;border-radius:5px}
.sleep-app .dp-context strong{color:#1d6259;font-size:13px}
.sleep-app .dp-context p{margin:5px 0 0;font-size:13px}
.sleep-app .dp-lesson-content .dp-source{font-size:12px;color:#5d7379}
.sleep-app .dp-lesson-content .dp-source a{color:#1f6b63;text-underline-offset:3px}
.sleep-app .dp-quiz{padding:15px;margin:15px 0;background:#f5f5ef;border:1px solid #e0e6d9;border-radius:9px}
.sleep-app .dp-quiz strong{font-size:13px;color:#224b50}
.sleep-app .dp-quiz p{font-size:13px;margin:7px 0}
.sleep-app .dp-quiz-answers{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.sleep-app .dp-quiz-option{padding:9px 11px;border:1px solid #bbcfc8;border-radius:7px;background:#fff;color:#254b50;cursor:pointer;min-height:42px;font-size:12px;line-height:1.45}
.sleep-app .dp-quiz-option[aria-pressed="true"]{background:#27645f;color:#fff;border-color:#27645f}
.sleep-app .dp-quiz-option:focus-visible,.sleep-app .dp-lesson-done:focus-visible,.sleep-app .dp-lesson summary:focus-visible{outline:3px solid #be8a46;outline-offset:3px}
.sleep-app .dp-quiz-feedback{color:#8b5e2c;font-weight:700;min-height:18px}
.sleep-app .dp-quiz-feedback.is-correct{color:#216d5b}
.sleep-app .dp-lesson-done{background:#183f48;color:#fff;border:0;border-radius:8px;padding:12px 15px;cursor:pointer;font-weight:700;min-height:44px}
.sleep-app .dp-report-education{border-top:1px solid #54747b;padding-top:20px;margin-top:24px;color:#d0e0d9}
.sleep-app .dp-report-education h3{font-size:24px}
.sleep-app .dp-report-education p{font-size:14px;line-height:1.7}
.sleep-app .dp-report-education a{color:#efcf9c}
@media(max-width:900px){
 .sleep-app .dp-comparison-grid{grid-template-columns:minmax(0,1fr)}
 .sleep-app .dp-lessons{grid-template-columns:minmax(0,1fr)}
 .sleep-app .dp-learning-controls{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:520px){
 .sleep-app .dp-chart-card{padding:13px}
 .sleep-app .dp-scatter{min-height:155px}
 .sleep-app .dp-lesson summary{padding:14px 12px}
 .sleep-app .dp-lesson-content{padding:14px}
 .sleep-app .dp-lesson-time{display:none}
 .sleep-app .dp-quiz-option{width:100%}
}
@media print{
 .sleep-app #dp-compare,.sleep-app #dp-learn{display:none!important}
 .sleep-app #pro-report .dp-report-education{color:#111!important;border-color:#999}
 .sleep-app #pro-report .dp-report-education a,.sleep-app #pro-report .dp-report-education p{color:#111!important}
 .sleep-app #pro-report .dp-report-education a:after{content:" (" attr(href) ")";font-size:9px;overflow-wrap:anywhere}
}