.ioa-app{
  --ioa-fg:var(--wp--preset--color--contrast,currentColor);
  --ioa-bg:var(--wp--preset--color--base,#fff);
  --ioa-accent:var(--wp--preset--color--primary,currentColor);
  --ioa-soft:var(--wp--preset--color--tertiary,color-mix(in srgb,currentColor 5%,transparent));
  --ioa-line:color-mix(in srgb,currentColor 18%,transparent);
  --ioa-muted:color-mix(in srgb,currentColor 62%,transparent);
  --ioa-danger:var(--wp--preset--color--vivid-red,currentColor);
  --ioa-success:var(--wp--preset--color--vivid-green-cyan,currentColor);
  max-width:min(100%,var(--wp--style--global--wide-size,1180px));
  margin:clamp(1.25rem,3vw,2.5rem) auto clamp(2.5rem,5vw,4.5rem);
  padding:0 clamp(.75rem,2vw,1.4rem);
  color:inherit;
  font-family:inherit;
  font-size:inherit;
  line-height:inherit;
  box-sizing:border-box
}
.ioa-app *{box-sizing:border-box}
.ioa-app h1,.ioa-app h2,.ioa-app h3,.ioa-app p,.ioa-app label,.ioa-app input,.ioa-app select,.ioa-app textarea,.ioa-app button{font-family:inherit}
.ioa-app h1,.ioa-app h2,.ioa-app h3{color:inherit;line-height:1.12}
.ioa-logo{width:min(240px,70%);height:auto;display:block}
.ioa-kicker{font-size:.78em;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ioa-accent);margin-bottom:.65em}
.ioa-hero{padding:clamp(2rem,6vw,4.5rem) 0 clamp(2rem,5vw,3.75rem);border-bottom:1px solid var(--ioa-line)}
.ioa-hero .ioa-logo{margin-bottom:clamp(1.75rem,4vw,3rem)}
.ioa-hero h1,.ioa-results-hero h1,.ioa-card h1,.ioa-dashboard-head h1{font-size:var(--wp--preset--font-size--xx-large,clamp(2.1rem,5vw,4.2rem));font-weight:inherit;letter-spacing:inherit;margin:0 0 .45em}
.ioa-lead{max-width:48rem;font-size:var(--wp--preset--font-size--large,1.2em);line-height:1.6;color:inherit;margin:0 0 1.5em}
.ioa-invite-hint{max-width:48rem;margin:1.5em 0 0;padding:1em 1.15em;border-left:.22em solid var(--ioa-accent);background:var(--ioa-soft)}
.ioa-actions{display:flex;gap:.75em;align-items:center;flex-wrap:wrap}
.ioa-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.8em;padding:.7em 1.2em;border:1px solid currentColor;background:transparent;color:inherit!important;text-decoration:none!important;border-radius:.35em;font:inherit;font-weight:600;line-height:1.2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
.ioa-button:hover{transform:translateY(-1px);box-shadow:0 .35em 1em color-mix(in srgb,currentColor 10%,transparent)}
.ioa-button.primary{background:var(--ioa-accent);border-color:var(--ioa-accent);color:var(--wp--preset--color--base,#fff)!important}
.ioa-button.ghost{border-color:var(--ioa-line)}
.ioa-button.danger{border-color:var(--ioa-danger);background:var(--ioa-danger);color:var(--wp--preset--color--base,#fff)!important}
.ioa-button.gold{background:var(--ioa-accent);border-color:var(--ioa-accent);color:var(--wp--preset--color--base,#fff)!important}
.ioa-button.small{min-height:2.3em;padding:.5em .8em}
.ioa-button.large{min-height:3.1em;padding:.85em 1.35em;font-size:1.04em}
.ioa-text-link{color:inherit!important;text-decoration:underline!important;text-underline-offset:.18em}
.ioa-grid-three,.ioa-grid-two{display:grid;gap:1.1em;margin-top:1.4em}
.ioa-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.ioa-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ioa-feature,.ioa-card,.ioa-survey-card{background:var(--ioa-bg);color:inherit;border:1px solid var(--ioa-line);border-radius:.5em;padding:clamp(1.15rem,2.8vw,1.8rem)}
.ioa-feature span{display:block;color:var(--ioa-accent);font-size:.8em;font-weight:700;letter-spacing:.12em}
.ioa-feature h2,.ioa-card h2,.ioa-survey-card h2{font-size:var(--wp--preset--font-size--large,1.55em);font-weight:inherit;margin:.35em 0 .55em}
.ioa-feature p,.ioa-card p,.ioa-survey-card p{color:inherit;line-height:1.6}
.ioa-card{margin:1.35em 0}.ioa-card.ioa-narrow{max-width:40rem;margin:2.5rem auto}.ioa-card.ioa-wide{max-width:64rem;margin:2.5rem auto}.ioa-card .ioa-logo{margin-bottom:1.6em}
.ioa-intro{margin-top:1.7em}.ioa-process{margin-top:1.2em}
.ioa-steps{display:grid;gap:.7em;margin-top:1.1em}.ioa-steps>div{display:grid;grid-template-columns:2.25em 1fr;gap:.75em;align-items:start;padding:.8em 0;border-bottom:1px solid var(--ioa-line)}.ioa-steps>div:last-child{border-bottom:0}.ioa-steps strong{display:flex;align-items:center;justify-content:center;width:2.1em;height:2.1em;border:1px solid var(--ioa-line);border-radius:50%;font-size:.85em}.ioa-steps span{padding-top:.25em}
.ioa-form{display:grid;gap:1.05em;margin-top:1.4em}.ioa-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25em}.ioa-form label{display:grid;gap:.45em;font-size:.92em;font-weight:600;color:inherit}
.ioa-form input,.ioa-form select,.ioa-form textarea,.ioa-share-box input{width:100%;border:1px solid var(--ioa-line);border-radius:.3em;background:var(--ioa-bg);padding:.72em .8em;font:inherit;color:inherit;min-height:2.8em}
.ioa-form input:focus,.ioa-form select:focus,.ioa-form textarea:focus,.ioa-share-box input:focus{outline:2px solid color-mix(in srgb,var(--ioa-accent) 32%,transparent);outline-offset:1px;border-color:var(--ioa-accent)}
.ioa-form-section{grid-column:1/-1;border-bottom:1px solid var(--ioa-line);padding:1.15em 0 .55em;margin:.5em 0 0!important}.ioa-span-2{grid-column:1/-1}.ioa-section-help{margin:-.4em 0 .25em!important;color:var(--ioa-muted)!important}
.ioa-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.65em!important;background:var(--ioa-soft);padding:.9em;border:1px solid var(--ioa-line);border-radius:.35em;font-weight:400!important;line-height:1.5}.ioa-check input{width:1.1em!important;height:1.1em!important;min-height:0!important;margin-top:.18em}.ioa-muted,.ioa-small{color:var(--ioa-muted)!important}.ioa-small{font-size:.88em}
.ioa-assessor-fields[hidden]{display:none!important}.ioa-assessor-fields{padding:.2em 0 .7em}
.ioa-notice{max-width:64rem;margin:1.1em auto;padding:.9em 1em;border-radius:.3em;border:1px solid var(--ioa-line);border-left:.3em solid var(--ioa-accent);background:var(--ioa-soft);color:inherit}.ioa-notice.error{border-left-color:var(--ioa-danger)}.ioa-notice.success{border-left-color:var(--ioa-success)}
.ioa-anon-box{display:grid;grid-template-columns:3.3em 1fr;gap:1.1em;background:color-mix(in srgb,var(--ioa-accent) 7%,var(--ioa-bg));color:inherit;border:1px solid var(--ioa-line);border-left:.3em solid var(--ioa-accent);border-radius:.55em;padding:clamp(1.25rem,3vw,2rem);margin:2em 0}
.ioa-anon-icon{width:3em;height:3em;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ioa-soft);font-size:1.2em}.ioa-anon-box h2{font-size:var(--wp--preset--font-size--large,1.65em);font-weight:inherit;margin:0 0 .4em}.ioa-anon-lead{font-size:1.05em;line-height:1.55;margin:0 0 .8em}.ioa-anon-box ul{margin:0;padding-left:1.2em;line-height:1.55}.ioa-anon-box li{margin:.38em 0}.ioa-anon-foot{margin:1em 0 0;padding-top:.8em;border-top:1px solid var(--ioa-line)}
.ioa-account-bar{display:flex;justify-content:space-between;gap:1.2em;align-items:center;padding:.8em 0 1.4em;border-bottom:1px solid var(--ioa-line);margin-bottom:1.8em}.ioa-account-bar>div{display:flex;gap:.85em;align-items:center}.ioa-account-bar .ioa-logo{width:min(160px,35vw)}.ioa-account-bar strong,.ioa-account-bar span{display:block}.ioa-account-bar span{font-size:.82em;color:var(--ioa-muted)}
.ioa-account-nav{display:flex;gap:.3em;align-items:center;flex-wrap:wrap}.ioa-account-nav a,.ioa-account-bar a{color:inherit;text-decoration:none;padding:.45em .65em;border-radius:.3em}.ioa-account-nav a:hover,.ioa-account-nav .ioa-nav-current{background:var(--ioa-soft)}
.ioa-dashboard-head{display:flex;justify-content:space-between;gap:1.2em;margin:1.7em 0}.ioa-dashboard-head h1{font-size:var(--wp--preset--font-size--xx-large,2.5em)}.ioa-dashboard-head p{font-size:1.03em;max-width:48rem;line-height:1.6;color:inherit}
.ioa-role-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1em;margin:1em 0 1.7em}.ioa-role-summary>div{border:1px solid var(--ioa-line);border-radius:.45em;padding:1em;background:var(--ioa-soft)}.ioa-role-summary span,.ioa-role-summary small,.ioa-role-summary strong{display:block}.ioa-role-summary span{font-size:.78em;text-transform:uppercase;letter-spacing:.08em;color:var(--ioa-muted)}.ioa-role-summary strong{margin:.35em 0}.ioa-role-summary small{color:var(--ioa-muted)}
.ioa-survey-card{margin:1.1em 0;padding:clamp(1.15rem,2.7vw,1.8rem)}.ioa-survey-top{display:flex;justify-content:space-between;gap:1em;align-items:flex-start;border-bottom:1px solid var(--ioa-line);padding-bottom:1em}.ioa-survey-top h2{margin:0 0 .3em}.ioa-survey-top p{margin:0;font-size:.88em}.ioa-status-pill{display:inline-flex;padding:.45em .7em;border-radius:999px;font-size:.74em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid var(--ioa-line);background:var(--ioa-soft);color:inherit}.ioa-status-pill.open{border-color:color-mix(in srgb,var(--ioa-success) 55%,transparent)}.ioa-status-pill.pending{border-color:var(--ioa-accent)}
.ioa-flow-strip{display:flex;gap:.35em;flex-wrap:wrap;margin:1em 0}.ioa-flow-strip span{padding:.35em .55em;border:1px solid var(--ioa-line);border-radius:999px;font-size:.76em;color:var(--ioa-muted)}.ioa-flow-strip span.current{background:var(--ioa-accent);border-color:var(--ioa-accent);color:var(--wp--preset--color--base,#fff)}
.ioa-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;background:var(--ioa-line);border:1px solid var(--ioa-line);margin:1.2em 0}.ioa-metrics>div{background:var(--ioa-bg);padding:1em}.ioa-metrics strong{display:block;font-size:var(--wp--preset--font-size--large,1.5em);font-weight:inherit}.ioa-metrics span{display:block;font-size:.8em;color:var(--ioa-muted);margin-top:.28em}
.ioa-info-line{margin:1em 0;padding:.85em 1em;background:var(--ioa-soft);border-left:.22em solid var(--ioa-accent)}.ioa-complete-note{font-size:.9em;color:var(--ioa-success);font-weight:600}
.ioa-share-box{display:grid;grid-template-columns:14rem 1fr;gap:1em;background:var(--ioa-soft);border:1px solid var(--ioa-line);padding:1em;border-radius:.35em;margin:1em 0}.ioa-share-box>div:first-child span,.ioa-share-box label{display:block;font-size:.8em;font-weight:600;color:var(--ioa-muted)}.ioa-share-box>div:first-child strong{display:block;font-size:1.35em;margin-top:.2em}.ioa-share-box>div:last-child{display:grid;grid-template-columns:1fr auto;gap:.6em;align-items:end}
.ioa-warning,.ioa-email-policy{margin:1.1em 0;border-left:.22em solid var(--ioa-accent);padding:.8em 1em;background:var(--ioa-soft);font-size:.9em;color:inherit}.ioa-email-policy{border:1px solid var(--ioa-line);border-left:.3em solid var(--ioa-accent);border-radius:.35em}.ioa-email-policy>strong{font-size:1.02em}.ioa-email-policy p{margin:.35em 0 0!important}.ioa-roster-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1em}.ioa-field-help{display:block;font-size:.82em;line-height:1.45;font-weight:400;color:var(--ioa-muted);min-height:2.8em}.ioa-roster-form textarea{min-height:15rem}
.ioa-questionnaire{margin-top:1.5em}.ioa-progress-wrap{position:sticky;top:.7em;z-index:20;background:color-mix(in srgb,var(--ioa-bg) 94%,transparent);backdrop-filter:blur(8px);padding:.75em .9em;border:1px solid var(--ioa-line);border-radius:.35em;margin:0 0 1em}.ioa-progress-label{display:flex;justify-content:space-between;font-size:.82em;margin-bottom:.45em}.ioa-progress{height:.38em;background:var(--ioa-soft);border-radius:999px;overflow:hidden}.ioa-progress span{display:block;width:0;height:100%;background:var(--ioa-accent);transition:width .2s ease}
.ioa-question-area{border:1px solid var(--ioa-line);border-radius:.45em;padding:0;margin:0 0 1.25em;background:var(--ioa-bg);overflow:hidden}.ioa-question-area legend{width:100%;float:left;background:var(--ioa-soft);padding:1em 1.2em;font-size:var(--wp--preset--font-size--large,1.35em);border-bottom:1px solid var(--ioa-line)}.ioa-question-area legend span{font-size:.55em;letter-spacing:.12em;color:var(--ioa-accent);margin-right:.7em;font-weight:700}.ioa-question{clear:both;padding:1.2em;border-bottom:1px solid var(--ioa-line)}.ioa-question:last-child{border-bottom:0}.ioa-question-text{display:flex;gap:.7em;align-items:flex-start}.ioa-qnum{display:inline-flex;align-items:center;justify-content:center;width:2em;height:2em;border-radius:50%;background:var(--ioa-soft);font-size:.75em;font-weight:700;flex:0 0 auto}.ioa-question-text p{margin:.15em 0 1em;font-size:1em;line-height:1.5}.ioa-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:.45em;margin-left:2.7em}.ioa-scale label{cursor:pointer}.ioa-scale input{position:absolute;opacity:0;pointer-events:none}.ioa-scale span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.7em;border:1px solid var(--ioa-line);border-radius:.3em;background:var(--ioa-bg);transition:.15s ease}.ioa-scale strong{font-size:1em}.ioa-scale small{font-size:.72em;color:var(--ioa-muted);margin-top:.15em}.ioa-scale input:checked+span{background:var(--ioa-accent);border-color:var(--ioa-accent);color:var(--wp--preset--color--base,#fff);transform:translateY(-1px)}.ioa-scale input:checked+span small{color:inherit;opacity:.82}.ioa-scale input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--ioa-accent) 35%,transparent)}
.ioa-submit-box{background:var(--ioa-soft);color:inherit;padding:1.5em;border:1px solid var(--ioa-line);border-left:.3em solid var(--ioa-accent);border-radius:.45em;margin:1.5em 0}.ioa-submit-box h2{font-size:var(--wp--preset--font-size--large,1.5em);font-weight:inherit;margin:0 0 .45em}.ioa-submit-box p{max-width:48rem;line-height:1.55}
.ioa-results-hero{text-align:center;padding:clamp(1.8rem,5vw,3rem) 1.2rem;border:1px solid var(--ioa-line);background:var(--ioa-bg);border-radius:.55em}.ioa-results-hero h1{font-size:var(--wp--preset--font-size--xx-large,2.6em);margin-bottom:.3em}.ioa-results-hero h2{font-size:var(--wp--preset--font-size--large,1.55em);font-weight:inherit;color:var(--ioa-accent);margin:.35em 0}.ioa-score-big{display:flex;justify-content:center;align-items:flex-end;line-height:1}.ioa-score-big strong{font-size:clamp(3.4rem,8vw,5.6rem);font-weight:inherit}.ioa-score-big span{font-size:1em;margin-bottom:.7em;color:var(--ioa-muted)}.ioa-results-hero p{color:var(--ioa-muted)}
.ioa-result-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.9em;margin:1.1em 0}.ioa-result-cards>div{background:var(--ioa-soft);color:inherit;padding:1.3em;border:1px solid var(--ioa-line);border-radius:.4em}.ioa-result-cards span,.ioa-result-cards small{display:block}.ioa-result-cards span{font-size:.8em;color:var(--ioa-muted)}.ioa-result-cards strong{display:block;font-size:2.2em;font-weight:inherit;margin:.2em 0}.ioa-result-cards small{color:var(--ioa-muted)}
.ioa-area-table{display:grid}.ioa-area-head,.ioa-area-row{display:grid;grid-template-columns:2.2fr repeat(3,1fr);gap:.6em;align-items:center;padding:.8em .6em}.ioa-area-head{font-size:.75em;text-transform:uppercase;letter-spacing:.06em;color:var(--ioa-muted);border-bottom:1px solid var(--ioa-line)}.ioa-area-row{border-bottom:1px solid var(--ioa-line)}.ioa-area-row span{text-align:center}.ioa-gap-alert{color:var(--ioa-danger);font-weight:700}.ioa-ranked{padding:0;margin:.7em 0 0;list-style:none}.ioa-ranked li{display:flex;justify-content:space-between;gap:.7em;border-bottom:1px solid var(--ioa-line);padding:.7em 0}.ioa-certificate-cta{display:flex;justify-content:space-between;gap:1.8em;align-items:center}.ioa-certificate-cta>div:first-child{max-width:45rem}.ioa-donation{display:flex;justify-content:space-between;gap:1.5em;align-items:center;background:var(--ioa-soft);border:1px solid var(--ioa-line);padding:1.4em;border-radius:.45em;margin:1.2em 0}.ioa-donation h2{font-size:var(--wp--preset--font-size--large,1.5em);font-weight:inherit;margin:0 0 .3em}.ioa-donation p{margin:0}.ioa-anon-confirm{display:flex;gap:.45em;flex-direction:column;background:var(--ioa-soft);border-left:.25em solid var(--ioa-success);padding:.9em;color:inherit}.ioa-inline-form{display:inline-flex;margin:0}

/* v1.6 — leggibilità, contrasto e layout full-width */
.ioa-app{
  --ioa-fg:var(--wp--preset--color--contrast,#171717);
  --ioa-bg:var(--wp--preset--color--base,#fff);
  --ioa-accent:var(--wp--preset--color--accent-1,var(--wp--preset--color--primary,var(--ioa-fg)));
  --ioa-button-bg:var(--wp--preset--color--contrast,#171717);
  --ioa-button-text:var(--wp--preset--color--base,#fff);
  --ioa-soft:color-mix(in srgb,var(--ioa-fg) 3%,var(--ioa-bg));
  --ioa-line:color-mix(in srgb,var(--ioa-fg) 18%,var(--ioa-bg));
  --ioa-muted:color-mix(in srgb,var(--ioa-fg) 76%,var(--ioa-bg));
  color:var(--ioa-fg);
  font-size:max(16px,1em);
  line-height:1.6;
  width:auto;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:max(clamp(1rem,4vw,4rem),env(safe-area-inset-left));
  padding-right:max(clamp(1rem,4vw,4rem),env(safe-area-inset-right));
}
.ioa-app h1,.ioa-app h2,.ioa-app h3,.ioa-app p,.ioa-app li,.ioa-app label,.ioa-app span,.ioa-app strong{color:inherit}
.ioa-app .ioa-hero,.ioa-app .ioa-intro,.ioa-app .ioa-feature,.ioa-app .ioa-process{color:var(--ioa-fg)}
.ioa-app .ioa-hero p,.ioa-app .ioa-intro p,.ioa-app .ioa-feature p,.ioa-app .ioa-process span{color:var(--ioa-fg)!important}
.ioa-app .ioa-muted,.ioa-app .ioa-small,.ioa-app .ioa-field-help,.ioa-app .ioa-section-help{color:var(--ioa-muted)!important}
.ioa-app .ioa-kicker{font-size:max(14px,.85em);color:var(--ioa-accent)}
.ioa-app .ioa-hero h1{font-size:clamp(2.25rem,4.5vw,4rem);line-height:1.06}
.ioa-app .ioa-card h1,.ioa-app .ioa-dashboard-head h1,.ioa-app .ioa-results-hero h1{font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.12}
.ioa-app .ioa-feature h2,.ioa-app .ioa-card h2,.ioa-app .ioa-survey-card h2{font-size:clamp(1.25rem,1.8vw,1.6rem)}
.ioa-app .ioa-lead{max-width:66rem;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.65;color:var(--ioa-fg)}
.ioa-app .ioa-card.ioa-wide{max-width:none}
.ioa-app .ioa-feature,.ioa-app .ioa-card,.ioa-app .ioa-survey-card{background:var(--ioa-bg);color:var(--ioa-fg)}
.ioa-app .ioa-invite-hint,.ioa-app .ioa-info-line,.ioa-app .ioa-warning,.ioa-app .ioa-email-policy{color:var(--ioa-fg);background:color-mix(in srgb,var(--ioa-accent) 5%,var(--ioa-bg))}
.ioa-app .ioa-button{
  min-height:3rem;
  padding:.72rem 1.2rem;
  border:2px solid var(--ioa-fg);
  background:transparent;
  color:var(--ioa-fg)!important;
  font-size:max(16px,.96em);
  font-weight:700;
  line-height:1.2;
  text-shadow:none;
  box-shadow:none;
}
.ioa-app .ioa-button:hover,.ioa-app .ioa-button:focus-visible{background:var(--ioa-soft);color:var(--ioa-fg)!important;opacity:1}
.ioa-app .ioa-button:focus-visible{outline:3px solid color-mix(in srgb,var(--ioa-accent) 45%,transparent);outline-offset:3px}
.ioa-app .ioa-button.primary,.ioa-app .ioa-button.gold{
  background:var(--ioa-button-bg);
  border-color:var(--ioa-button-bg);
  color:var(--ioa-button-text)!important;
}
.ioa-app .ioa-button.primary:hover,.ioa-app .ioa-button.primary:focus-visible,.ioa-app .ioa-button.gold:hover,.ioa-app .ioa-button.gold:focus-visible{
  background:color-mix(in srgb,var(--ioa-button-bg) 88%,var(--ioa-bg));
  border-color:var(--ioa-button-bg);
  color:var(--ioa-button-text)!important;
}
.ioa-app .ioa-button.danger{color:#fff!important;border-color:var(--ioa-danger);background:var(--ioa-danger)}
.ioa-app .ioa-button.small{font-size:max(14px,.9em);min-height:2.65rem}
.ioa-app .ioa-button.large{font-size:max(17px,1.02em);min-height:3.25rem}
.ioa-app .ioa-form label{font-size:max(16px,.96em)}
.ioa-app .ioa-form input,.ioa-app .ioa-form select,.ioa-app .ioa-form textarea,.ioa-app .ioa-share-box input{font-size:max(16px,1em);color:var(--ioa-fg);background:var(--ioa-bg)}
.ioa-app .ioa-small{font-size:max(14px,.88em)}
.ioa-app .ioa-field-help{font-size:max(14px,.86em)}
.ioa-app .ioa-flow-strip span{font-size:max(14px,.86em);color:var(--ioa-muted)}
.ioa-app .ioa-status-pill{font-size:max(13px,.8em)}
.ioa-app .ioa-metrics span{font-size:max(14px,.88em);color:var(--ioa-muted)}
.ioa-app .ioa-account-bar span{font-size:max(14px,.86em)}
.ioa-app .ioa-question-text p{font-size:max(16px,1em)}
.ioa-app .ioa-scale strong{font-size:max(15px,.96em)}
.ioa-app .ioa-scale small{font-size:max(12px,.76em)}
.ioa-login-help{margin:.9rem 0 0}
.ioa-login-help .ioa-text-link{font-weight:650}
@supports not (color:color-mix(in srgb,#000 50%,#fff)){
  .ioa-app{--ioa-soft:#f7f7f7;--ioa-line:#d6d6d6;--ioa-muted:#555;--ioa-accent:#171717;--ioa-button-bg:#171717;--ioa-button-text:#fff}
}

/* L'attestato conserva intenzionalmente l'identità grafica ufficiale Albergare, indipendente dal tema del sito. */
.ioa-certificate-page{max-width:1100px;margin:40px auto}.ioa-certificate{aspect-ratio:1.414/1;background:#fff;color:#171717;border:2px solid #b99b54;outline:1px solid #d9c898;outline-offset:-12px;padding:52px 66px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 18px 45px rgba(0,0,0,.12);font-family:Arial,sans-serif}.ioa-cert-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9c898;padding-bottom:20px}.ioa-cert-top img{width:245px;max-height:75px;object-fit:contain;object-position:left center}.ioa-cert-top span{font-size:11px;letter-spacing:.19em;font-weight:800;color:#806b37}.ioa-cert-body{text-align:center}.ioa-cert-body>p{font-size:20px;color:#69635a;margin:10px 0}.ioa-cert-body h1{font-size:48px;font-weight:400;margin:10px 0}.ioa-cert-body h2{font-size:34px;color:#a0823d;font-weight:400;margin:8px 0}.ioa-cert-score{font-size:60px;margin:10px 0}.ioa-cert-score span{font-size:18px;color:#6d685f}.ioa-cert-meta{font-size:12px!important;line-height:1.6}.ioa-cert-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #d9c898;padding-top:18px;font-size:12px}.ioa-cert-bottom span,.ioa-cert-bottom strong{display:block}.ioa-cert-bottom strong{letter-spacing:.12em;margin-top:4px}.ioa-certificate-actions{display:flex;justify-content:center;gap:12px;margin:18px 0}
@media(max-width:800px){.ioa-grid-three,.ioa-grid-two,.ioa-result-cards,.ioa-role-summary{grid-template-columns:1fr}.ioa-form-grid{grid-template-columns:1fr}.ioa-span-2,.ioa-form-section{grid-column:auto}.ioa-anon-box{grid-template-columns:1fr}.ioa-anon-icon{display:none}.ioa-account-bar{align-items:flex-start;flex-direction:column}.ioa-account-nav{width:100%}.ioa-survey-top,.ioa-certificate-cta,.ioa-donation{flex-direction:column}.ioa-metrics{grid-template-columns:1fr}.ioa-share-box{grid-template-columns:1fr}.ioa-share-box>div:last-child{grid-template-columns:1fr}.ioa-scale{margin-left:0;grid-template-columns:repeat(5,1fr)}.ioa-scale small{display:none}.ioa-area-head,.ioa-area-row{grid-template-columns:1.6fr repeat(3,.7fr);font-size:.82em}.ioa-roster-columns{grid-template-columns:1fr}.ioa-field-help{min-height:0}.ioa-certificate{aspect-ratio:auto;padding:38px 28px}.ioa-cert-top,.ioa-cert-bottom{gap:14px;align-items:flex-start;flex-direction:column}.ioa-cert-body h1{font-size:37px}.ioa-hero{padding-top:1.5rem}.ioa-hero .ioa-logo{margin-bottom:1.7rem}}
@media print{body *{visibility:hidden!important}.ioa-certificate-page,.ioa-certificate-page *{visibility:visible!important}.ioa-certificate-page{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0!important}.ioa-certificate{width:100%;min-height:190mm;box-shadow:none;border:2px solid #9b803c;outline:1px solid #c8b77e;page-break-inside:avoid}.ioa-certificate-actions,.ioa-donation{display:none!important}@page{size:A4 landscape;margin:8mm}}


/* v1.7 — elenco nominativo e importazione Excel */
.ioa-import-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:1.4rem;align-items:start;margin:1.25rem 0 1.5rem;padding:1.25rem;border:1px solid var(--ioa-line);border-radius:.7rem;background:var(--ioa-soft)}
.ioa-import-panel h2{margin-top:0}.ioa-import-panel p:last-child{margin-bottom:0}
.ioa-roster-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--ioa-line);border-radius:.55rem;background:var(--ioa-bg)}
.ioa-roster-entry-table{width:100%;min-width:1080px;border-collapse:collapse}.ioa-roster-entry-table th{padding:.72rem .55rem;text-align:left;background:var(--ioa-soft);border-bottom:1px solid var(--ioa-line);font-size:.86em}.ioa-roster-entry-table td{padding:.45rem;border-bottom:1px solid var(--ioa-line);vertical-align:middle}.ioa-roster-entry-table tr:last-child td{border-bottom:0}.ioa-roster-entry-table input,.ioa-roster-entry-table select{width:100%;min-width:8.5rem;margin:0}.ioa-row-remove{border:0;background:transparent;color:inherit;font-size:1.45rem;line-height:1;cursor:pointer;padding:.35rem .5rem}.ioa-row-remove:hover{opacity:.65}
@media(max-width:800px){.ioa-import-panel{grid-template-columns:1fr}.ioa-roster-entry-table{min-width:960px}}
