/* Smart Nutrition V21 — Report e visite paziente */
.sn21-report-shell{max-width:1180px;margin:0 auto;padding-bottom:38px;color:#10233f}
.sn21-report-hero{position:relative;overflow:hidden;padding:28px;border:1px solid #cfe0f3;border-radius:28px;background:radial-gradient(circle at 88% 10%,rgba(38,211,222,.18),transparent 34%),linear-gradient(135deg,#fff 0%,#f4f8ff 62%,#eefcff 100%);box-shadow:0 22px 58px rgba(25,58,105,.09)}
.sn21-report-hero:after{content:"";position:absolute;right:-70px;bottom:-110px;width:260px;height:260px;border:28px solid rgba(37,99,235,.06);border-radius:50%}
.sn21-report-kicker{display:block;color:#2563eb;font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.sn21-report-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:24px;align-items:center;position:relative;z-index:1}
.sn21-report-hero h2{margin:8px 0 9px;font-size:35px;line-height:1.06;letter-spacing:-.045em;color:#0b1b36!important}.sn21-report-hero p{margin:0;max-width:720px;color:#60748e!important;font-size:14px;line-height:1.6!important}
.sn21-latest-box{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:17px;border:1px solid #d9e6f5;border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 10px 28px rgba(31,72,126,.07)}
.sn21-latest-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:linear-gradient(135deg,#2563eb,#12b8cf);color:#fff;font-size:21px;font-weight:900}.sn21-latest-box span,.sn21-latest-box strong,.sn21-latest-box small{display:block}.sn21-latest-box span{font-size:9px;color:#72859b;text-transform:uppercase;font-weight:900}.sn21-latest-box strong{margin:3px 0;font-size:18px;color:#10233f}.sn21-latest-box small{font-size:11px;color:#6c7f96}
.sn21-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0;padding:7px;border:1px solid #d8e4f2;border-radius:18px;background:#eaf1fa}.sn21-tabs button{border:0;border-radius:13px;padding:12px 10px;background:transparent;color:#526b88;font-weight:900}.sn21-tabs button.active{background:#fff;color:#0f2b52;box-shadow:0 5px 16px rgba(36,71,115,.09)}
.sn21-panel{display:none}.sn21-panel.active{display:block}
.sn21-section-card{padding:23px;border:1px solid #d8e5f3;border-radius:24px;background:#fff;box-shadow:0 16px 42px rgba(34,68,111,.065);margin-bottom:14px}.sn21-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.sn21-section-head h3{margin:3px 0 0;font-size:23px;color:#10233f!important}.sn21-section-head p{margin:5px 0 0;color:#6a7f98!important;font-size:12px}.sn21-status-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid #bfe9df;border-radius:999px;background:#ebfbf7;color:#087c69;font-size:10px;font-weight:900;white-space:nowrap}
.sn21-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.sn21-metric{min-height:105px;padding:15px;border:1px solid #dce7f3;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff)}.sn21-metric span{display:block;color:#74869a;font-size:9px;text-transform:uppercase;font-weight:900}.sn21-metric strong{display:block;margin-top:6px;font-size:23px;color:#10233f}.sn21-metric small{display:block;margin-top:6px;color:#72849a;font-size:10px}.sn21-delta{font-weight:900!important}.sn21-delta.good{color:#0b8c73!important}.sn21-delta.warn{color:#c47700!important}.sn21-delta.neutral{color:#70839b!important}
.sn21-comparison{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.sn21-comparison article{padding:17px;border:1px solid #dce7f3;border-radius:18px;background:#f8fbff}.sn21-comparison h4{margin:0 0 10px;font-size:14px}.sn21-compare-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #e4ecf5;font-size:11px}.sn21-compare-row:last-child{border:0}.sn21-compare-row span{color:#71849a}.sn21-compare-row strong{color:#173555}
.sn21-note{margin-top:13px;padding:14px 16px;border:1px solid #d8e7f8;border-radius:16px;background:#f6faff}.sn21-note strong{display:block;margin-bottom:5px;font-size:11px;color:#173c69}.sn21-note p{margin:0!important;color:#657a94!important;font-size:11px!important}
.sn21-visits-list{display:grid;gap:10px}.sn21-visit{border:1px solid #d8e5f3;border-radius:19px;background:#fff;overflow:hidden}.sn21-visit-toggle{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:0;background:#fff;text-align:left}.sn21-visit-toggle:hover{background:#f8fbff}.sn21-visit-number{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eaf2ff;color:#2563eb;font-weight:950}.sn21-visit-copy strong,.sn21-visit-copy small{display:block}.sn21-visit-copy strong{font-size:14px;color:#10233f}.sn21-visit-copy small{margin-top:3px;color:#71849a;font-size:10px}.sn21-chevron{color:#71849a;font-size:18px;transition:.2s}.sn21-visit.open .sn21-chevron{transform:rotate(180deg)}.sn21-visit-body{display:none;padding:0 15px 16px}.sn21-visit.open .sn21-visit-body{display:block}.sn21-visit-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sn21-detail{padding:11px;border:1px solid #e0e9f3;border-radius:13px;background:#f9fbfe}.sn21-detail span,.sn21-detail strong{display:block}.sn21-detail span{font-size:8px;color:#7b8da1;text-transform:uppercase;font-weight:900}.sn21-detail strong{margin-top:4px;font-size:13px;color:#173555}.sn21-doc-link{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,#2563eb,#0bb6cc);color:#fff!important;text-decoration:none;font-size:11px;font-weight:900}
.sn21-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sn21-charts .chart-card{margin:0!important;border:1px solid #dce7f3!important;box-shadow:none!important}
.sn21-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sn21-doc{display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid #dce7f3;border-radius:18px;background:#fff}.sn21-doc-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:#eef4ff;color:#2563eb;font-weight:900}.sn21-doc strong,.sn21-doc small{display:block}.sn21-doc strong{font-size:13px;color:#10233f}.sn21-doc small{margin-top:3px;color:#72849a;font-size:10px}.sn21-doc a{padding:9px 11px;border-radius:11px;background:#eef4ff;color:#2563eb!important;font-size:10px;font-weight:900;text-decoration:none}.sn21-empty{padding:26px;border:1px dashed #cddced;border-radius:19px;background:#f9fbfe;text-align:center;color:#6f8299}.sn21-empty strong{display:block;margin-bottom:6px;color:#173555}
@media(max-width:900px){.sn21-report-hero-grid{grid-template-columns:1fr}.sn21-metrics,.sn21-visit-detail-grid{grid-template-columns:1fr 1fr}.sn21-charts,.sn21-docs{grid-template-columns:1fr}}
@media(max-width:620px){.sn21-report-hero{padding:19px}.sn21-report-hero h2{font-size:27px}.sn21-tabs{grid-template-columns:1fr 1fr}.sn21-metrics,.sn21-visit-detail-grid,.sn21-comparison{grid-template-columns:1fr}.sn21-section-card{padding:16px}.sn21-section-head{flex-direction:column}.sn21-doc{grid-template-columns:42px minmax(0,1fr)}.sn21-doc a{grid-column:1/-1}}
