
:root{--ink:#152033;--muted:#667085;--brand:#174f43;--accent:#e9f4f0;--bg:#f5f7f8;--card:#fff;--line:#dfe6e8;--good:#147a46;--shadow:0 14px 35px rgba(21,32,51,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{color:var(--brand)}button,input,select{font:inherit}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{max-width:1120px;margin:auto;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:900;font-size:1.15rem}.brand strong{font-size:1.05rem}.main-nav{display:flex;gap:16px;align-items:center}.main-nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:.92rem}.main-nav a:hover{color:var(--brand)}.menu-btn{display:none;border:0;background:var(--accent);color:var(--brand);padding:9px 11px;border-radius:10px;font-weight:800}
.container{max-width:1120px;margin:auto;padding:0 18px}.hero{padding:68px 0 42px;display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center}.kicker{display:inline-flex;background:var(--accent);color:var(--brand);padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.hero h1{font-size:clamp(2.1rem,5vw,4.1rem);line-height:1.03;margin:17px 0}.hero p{font-size:1.08rem;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:0;border-radius:13px;padding:13px 17px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--brand);color:white;box-shadow:0 10px 22px rgba(23,79,67,.22)}.btn-secondary{background:white;color:var(--brand);border:1px solid var(--line)}
.hero-panel,.tool-card,.content-card,.calculator,.result-card,.article{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.hero-panel{padding:24px}.hero-panel h2{margin-top:0}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.check-list li{display:flex;gap:10px;color:var(--muted)}.check-list li::before{content:"✓";color:var(--good);font-weight:900}
.section{padding:34px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:1.8rem}.section-head p{margin:0;color:var(--muted)}.tools-grid,.content-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool-card{padding:22px;text-decoration:none;color:inherit;transition:.18s transform,.18s box-shadow}.tool-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(21,32,51,.12)}.tool-icon{width:46px;height:46px;border-radius:14px;background:var(--accent);display:grid;place-items:center;font-size:1.35rem}.tool-card h3{margin:15px 0 7px}.tool-card p,.content-card p{margin:0;color:var(--muted)}.tool-link{display:inline-block;margin-top:16px;color:var(--brand);font-weight:850}.content-card{padding:21px}.content-card h3{margin-top:0}
.ad-slot{min-height:96px;border:1px dashed #b9c5c8;border-radius:16px;display:grid;place-items:center;color:#8a969a;background:#fafcfc;font-size:.82rem;margin:22px 0}.page-hero{padding:46px 0 20px}.page-hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:12px 0}.page-hero p{color:var(--muted);max-width:760px}.calculator{padding:22px;margin:18px 0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:grid;gap:7px}.field label{font-weight:800;font-size:.92rem}.field small{color:var(--muted)}.field input,.field select{width:100%;border:1px solid #cfd9dc;border-radius:12px;padding:12px 13px;background:white;color:var(--ink)}.field input:focus,.field select:focus{outline:3px solid rgba(23,79,67,.13);border-color:var(--brand)}.full-span{grid-column:1/-1}.people-list{display:grid;gap:10px;margin:16px 0}.person-row{display:grid;grid-template-columns:1.2fr 1fr auto;gap:9px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fbfcfc}.person-row.four{grid-template-columns:1.1fr 1fr 1fr auto}.remove-btn{border:0;background:#fff0f0;color:#a02b2b;border-radius:10px;padding:11px 12px;font-weight:900;cursor:pointer}.inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.result-card{padding:20px;margin-top:18px}.result-card h2{margin-top:0}.result-table{width:100%;border-collapse:collapse;margin-top:12px}.result-table th,.result-table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.result-table th{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.result-table td:last-child,.result-table th:last-child{text-align:right}.notice{padding:14px 16px;border-left:4px solid var(--brand);background:var(--accent);border-radius:10px;color:#29453f}.article{padding:28px}.article p,.article li{color:#3e4a5a}.site-footer{margin-top:48px;background:#102a25;color:#dbe7e3}.footer-grid{max-width:1120px;margin:auto;padding:34px 18px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.footer-grid a{color:#dbe7e3;text-decoration:none;display:block;margin:7px 0}.footer-note{border-top:1px solid rgba(255,255,255,.14);padding:15px 18px;text-align:center;color:#afc3bd;font-size:.86rem}.cookie-note{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.18);padding:16px;display:flex;gap:14px;align-items:center}.cookie-note p{margin:0;color:var(--muted);font-size:.9rem;flex:1}.hidden{display:none!important}.status-message{margin-top:12px;color:var(--good);font-weight:800}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:42px}.tools-grid,.content-grid{grid-template-columns:1fr}.main-nav{display:none;position:absolute;top:66px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-btn{display:block}.footer-grid{grid-template-columns:1fr}}@media(max-width:620px){.form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}.person-row,.person-row.four{grid-template-columns:1fr 1fr}.person-row .remove-btn{grid-column:1/-1}.cookie-note{flex-direction:column;align-items:stretch}}

/* v2: leggibilità guide e modulo contatti */
.readable-article{font-size:1.03rem}
.readable-article h2{font-size:1.45rem;margin-top:2rem;margin-bottom:.65rem}
.readable-article p{margin:.55rem 0 1rem}
.readable-article ul{padding-left:1.25rem}
.example-box{margin:1rem 0 1.4rem;padding:16px 18px;border:1px solid #cfe2dc;border-radius:14px;background:#f2f8f6}
.example-box strong{color:var(--brand)}
.example-box p:last-child,.example-box ul:last-child{margin-bottom:0}
.contact-card{max-width:900px;margin-left:auto;margin-right:auto}
.field textarea{width:100%;border:1px solid #cfd9dc;border-radius:12px;padding:12px 13px;background:white;color:var(--ink);resize:vertical;min-height:150px}
.field textarea:focus{outline:3px solid rgba(23,79,67,.13);border-color:var(--brand)}
.consent-field label{font-weight:500;display:flex;gap:9px;align-items:flex-start}
.consent-field input{width:auto;margin-top:5px}
.honeypot{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;height:1px!important;width:1px!important;margin:-1px!important;padding:0!important;border:0!important}
.form-status{margin:14px 0 0;font-weight:750;color:var(--muted)}
.form-status.error{color:#a02b2b}
.success-panel{text-align:center;padding:28px 12px}
.success-panel:focus{outline:none}
.success-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--good);font-size:1.8rem;font-weight:900}
.success-panel h2{margin:.3rem 0}


/* v3: calendario per i periodi di presenza */
.billing-period{
  margin:22px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#f8fbfa;
}
.billing-period-head,
.people-section-head,
.person-calendar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.billing-period-head{margin-bottom:14px}
.billing-period-head h2,
.people-section-head h2{margin:0}
.billing-period-head p,
.people-section-head p{margin:3px 0 0;color:var(--muted)}
.people-section-head{margin-top:24px}
.days-badge,
.person-days-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:7px 10px;
  border-radius:999px;
  background:var(--accent);
  color:var(--brand);
  font-size:.82rem;
  font-weight:850;
}
.days-badge.invalid,
.person-days-badge.invalid{
  background:#fff0f0;
  color:#a02b2b;
}
.calendar-people-list{gap:13px}
.person-calendar-row{
  padding:15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fbfcfc;
}
.person-name-field{flex:1}
.person-date-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:12px;
}
.person-row-actions{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:11px;
}
.full-period-btn{
  border:1px solid #bfd3cd;
  background:#f1f8f5;
  color:var(--brand);
  border-radius:10px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
}
.field input[type="date"]{
  min-height:48px;
  cursor:pointer;
}
.responsive-table-wrap{overflow-x:auto}
.result-table th:nth-child(2),
.result-table td:nth-child(2){white-space:nowrap}

@media(max-width:620px){
  .billing-period-head,
  .people-section-head{align-items:flex-start}
  .person-date-grid{grid-template-columns:1fr}
  .person-calendar-top{align-items:flex-end}
  .person-row-actions{justify-content:stretch}
  .person-row-actions button{flex:1}
}


/* v4: più periodi di presenza per ogni persona */
.multi-period-people-list{gap:16px}
.multi-period-person-card{
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fbfcfc;
}
.intervals-container{
  display:grid;
  gap:10px;
  margin-top:13px;
}
.presence-interval{
  padding:13px;
  border:1px solid #d6e2df;
  border-radius:14px;
  background:#fff;
}
.interval-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:3px;
}
.period-number{color:var(--brand);font-size:.9rem}
.remove-period-btn{
  border:0;
  background:transparent;
  color:#a02b2b;
  padding:5px 0;
  font-weight:800;
  cursor:pointer;
}
.person-card-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-top:13px;
}
.add-period-btn{
  border:1px solid #b7d2cb;
  background:var(--brand);
  color:#fff;
  border-radius:10px;
  padding:10px 12px;
  font-weight:850;
  cursor:pointer;
}
.overlap-note{
  margin:8px 0 0;
  padding:8px 10px;
  border-radius:10px;
  background:#fff7e8;
  color:#8b5700;
  font-size:.84rem;
  font-weight:700;
}
.result-period{
  display:block;
  white-space:nowrap;
  margin:2px 0;
}
.multi-period-result-table td:nth-child(2){min-width:210px}

@media(max-width:620px){
  .person-card-actions{justify-content:stretch}
  .person-card-actions button{flex:1 1 100%}
  .interval-heading{align-items:flex-start}
}


/* v5: analisi locale delle bollette PDF */
.pdf-analyzer-card{
  margin:18px 0 26px;
  padding:22px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow);
}
.privacy-promise{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px;
  padding:17px;
  border:1px solid #b9d7cf;
  border-radius:17px;
  background:#f1f8f5;
}
.privacy-symbol{
  width:42px;
  height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--brand);
  color:#fff;
  font-size:1.25rem;
  font-weight:900;
}
.privacy-promise h2{margin:0 0 5px;font-size:1.22rem}
.privacy-promise p{margin:0 0 8px;color:#36554e}
.privacy-promise ul{margin:8px 0;padding-left:1.2rem;color:#36554e}
.pdf-drop-zone{
  margin-top:18px;
  padding:22px;
  display:flex;
  align-items:center;
  gap:15px;
  border:2px dashed #b7c8c4;
  border-radius:18px;
  background:#fbfdfc;
  cursor:pointer;
  transition:.18s border-color,.18s background;
}
.pdf-drop-zone:hover,.pdf-drop-zone:focus,.pdf-drop-zone.dragging{
  outline:none;
  border-color:var(--brand);
  background:#f1f8f5;
}
.pdf-drop-zone p{margin:3px 0 0;color:var(--muted)}
.pdf-drop-icon{
  flex:0 0 auto;
  width:54px;
  height:54px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#fff0f0;
  color:#aa2c2c;
  font-weight:900;
}
.pdf-file-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:13px;
}
#pdfFileName{color:var(--muted);overflow-wrap:anywhere}
.pdf-progress{margin-top:16px}
.pdf-progress-track{
  height:9px;
  overflow:hidden;
  background:#dfe8e5;
  border-radius:999px;
}
.pdf-progress-bar{
  width:0;
  height:100%;
  background:var(--brand);
  transition:width .2s ease;
}
.pdf-progress span{display:block;margin-top:7px;color:var(--muted);font-size:.88rem}
.pdf-analysis-result{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid var(--line);
}
.analysis-result-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:17px;
}
.analysis-result-head h2{margin:7px 0 3px}
.analysis-result-head p{margin:0;color:var(--muted)}
.precision-badge{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  background:var(--accent);
  color:var(--brand);
  font-size:.8rem;
  font-weight:850;
  white-space:nowrap;
}
.detected-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}
.input-with-unit{
  position:relative;
}
.input-with-unit input{padding-right:52px}
.input-with-unit span{
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-weight:800;
}
.analysis-note{
  margin:16px 0;
  padding:13px 15px;
  border-radius:13px;
  background:#f8fafb;
  border-left:4px solid var(--brand);
}
.analysis-note p{margin:4px 0 0;color:var(--muted)}
.charts-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.mini-chart-card{
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfcfc;
}
.mini-chart-card h3{margin:0 0 14px;font-size:1rem}
.bars-chart{display:grid;gap:12px}
.empty-chart{color:var(--muted);font-size:.9rem}
.bar-label{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-bottom:5px;
  font-size:.83rem;
}
.bar-label span{color:var(--muted)}
.bar-track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e3ebe8;
}
.bar-fill{
  height:100%;
  border-radius:999px;
  background:var(--brand);
}
.temporary-file-status{
  margin:12px 0 0;
  color:var(--good);
  font-size:.87rem;
  font-weight:750;
}
.pdf-applied-banner{
  margin-bottom:19px;
  padding:15px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid #b9d7cf;
  border-radius:15px;
  background:#f1f8f5;
}
.pdf-applied-banner p{margin:3px 0 0;color:#36554e}
.result-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:15px 0;
}
.result-summary-grid>div{
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfcfc;
}
.result-summary-grid span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  margin-bottom:4px;
}
.result-summary-grid strong{font-size:1.05rem}
.calculation-warning{
  padding:12px 14px;
  border-radius:12px;
  background:#fff7e8;
  color:#865600;
  font-weight:700;
}

@media(max-width:900px){
  .detected-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .charts-grid{grid-template-columns:1fr}
  .result-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .pdf-analyzer-card{padding:16px}
  .privacy-promise{grid-template-columns:1fr}
  .pdf-drop-zone{align-items:flex-start}
  .pdf-file-row,.analysis-result-head,.pdf-applied-banner{align-items:stretch;flex-direction:column}
  .detected-grid{grid-template-columns:1fr}
  .result-summary-grid{grid-template-columns:1fr 1fr}
  .pdf-file-row .btn,.pdf-applied-banner .btn{width:100%}
}

.hero-small-note{margin-top:14px!important;font-size:.9rem!important;color:var(--muted)}
.faq-list{display:grid;gap:12px;margin:12px 0 36px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 20px rgba(21,32,51,.05);overflow:hidden}
.faq-item summary{padding:17px 19px;font-weight:850;cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--brand);font-size:1.25rem}
.faq-item[open] summary::after{content:"–"}
.faq-item p{margin:0;padding:0 19px 18px;color:var(--muted)}
.center-cta{text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;margin-bottom:32px}
.center-cta h2{margin-top:0}

/* v7: contenuti autorevoli, diagnostica e prestazioni mobile */
button,.btn,.tool-card,.faq-item summary{touch-action:manipulation}
.breadcrumbs{max-width:1120px;margin:18px auto 0;font-size:.86rem;color:var(--muted)}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0}
.breadcrumbs li+li::before{content:'›';margin-right:7px;color:#96a1a8}.breadcrumbs a{text-decoration:none;font-weight:700}
.hero-inline-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.hero-inline-links a{font-weight:800;font-size:.88rem;background:var(--accent);padding:7px 10px;border-radius:999px;text-decoration:none}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.step-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.step-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:white;font-weight:900}.step-card h3{margin:13px 0 6px}.step-card p{margin:0;color:var(--muted)}
.featured-tool{border-color:#9dc5ba;background:linear-gradient(180deg,#fff,#f6fbf9)}
.rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}.rule-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fbfcfc}.rule-card h3{margin:0 0 5px}.rule-card p{margin:0;color:var(--muted)}
.formula-box{display:flex;justify-content:space-between;gap:18px;padding:15px 17px;border-radius:14px;background:#f1f8f5;border:1px solid #bdd7d0;margin:16px 0}.formula-box span{color:#36554e}
.precision-levels,.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.precision-levels>div,.comparison-grid>div{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fbfcfc}.precision-levels p,.comparison-grid p{margin:5px 0 0;color:var(--muted)}
.related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.example-table td,.example-table th{white-space:normal}.support-table{width:100%;border-collapse:collapse}.support-table th,.support-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.support-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:.78rem;font-weight:900;white-space:nowrap}.support-status.verified{background:#e5f5ec;color:#08733d}.support-status.experimental{background:#fff4df;color:#8d5800}.support-status.manual{background:#edf1f5;color:#455467}.support-status.unsupported{background:#fff0f0;color:#a42b2b}
.diagnostics-card{margin:17px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fbfcfc}.diagnostics-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.diagnostics-head h3{margin:0}.diagnostics-head p{margin:3px 0 0;color:var(--muted)}.diagnostics-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.diagnostics-list>div{padding:11px;border-radius:11px;background:white;border:1px solid var(--line)}.diagnostics-list span{display:block;color:var(--muted);font-size:.76rem}.diagnostics-list strong{display:block;margin-top:3px;font-size:.9rem;overflow-wrap:anywhere}.diagnostics-note{margin:11px 0 0;color:var(--muted);font-size:.84rem}
.guide-cards .content-card h2{font-size:1.15rem;margin-top:0}.calculator-explanation{content-visibility:auto;contain-intrinsic-size:700px}.method-article{content-visibility:auto;contain-intrinsic-size:1800px}.evidence-section,.steps-section{content-visibility:auto;contain-intrinsic-size:500px}
.result-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.field select{width:100%;border:1px solid #cfd9dc;border-radius:12px;padding:12px 13px;background:white;color:var(--ink);min-height:48px}
@media(max-width:950px){.main-nav{gap:10px}.main-nav a{font-size:.84rem}.rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-list{grid-template-columns:repeat(2,minmax(0,1fr))}.result-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.steps-grid,.precision-levels,.comparison-grid{grid-template-columns:1fr}.main-nav.open{max-height:70vh;overflow:auto}}
@media(max-width:620px){.formula-box,.diagnostics-head{flex-direction:column}.rule-grid,.diagnostics-list{grid-template-columns:1fr}.result-summary-grid{grid-template-columns:1fr 1fr}.support-table{min-width:720px}.breadcrumbs{margin-top:12px}.page-hero{padding-top:28px}}

.tool-related-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 15px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}
.tool-related-links strong{color:var(--ink)}
.tool-related-links a{font-weight:750}


/* v7.3: autorevolezza, accessibilità e uso mobile */
html{scroll-padding-top:88px}
body{overflow-x:hidden}
button,.btn,input,select,summary{touch-action:manipulation}
.btn,.menu-btn,.remove-btn,.add-period-btn,.full-period-btn,.remove-period-btn{
  min-height:44px;
}
input,select,textarea{font-size:16px}
.authority-section{margin-top:26px}
.method-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin:20px 0;
}
.method-summary-grid article{
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fbfcfc;
}
.method-summary-grid h3{margin:10px 0 6px;font-size:1rem}
.method-summary-grid p{margin:0;color:var(--muted)}
.method-number{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--accent);
  color:var(--brand);
  font-weight:900;
}
.worked-example{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:20px;
  align-items:center;
  margin:22px 0;
  padding:20px;
  border:1px solid #bfd3cd;
  border-radius:18px;
  background:#f5faf8;
}
.worked-example h3{margin:9px 0}
.example-result-table{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:white;
}
.example-result-table>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
}
.example-result-table>div:last-child{border-bottom:0}
.example-result-head{
  background:#f2f6f5;
  color:var(--muted);
  font-size:.8rem;
  font-weight:850;
  text-transform:uppercase;
}
.example-result-total{background:var(--accent)}
.method-limits{
  margin:18px 0;
  padding:16px;
  border-left:4px solid var(--brand);
  border-radius:10px;
  background:#f8fafb;
}
.method-limits h3{margin:0 0 6px}
.method-limits p{margin:0;color:var(--muted)}
.support-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.support-summary>div{
  padding:11px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fbfcfc;
}
.support-summary strong,.support-summary span{display:block}
.support-summary span{margin-top:3px;color:var(--muted);font-size:.82rem}
.support-summary>a{
  grid-column:1/-1;
  font-weight:800;
  font-size:.88rem;
}
.diagnostic-privacy-note{
  margin:8px 0 0;
  color:var(--muted);
  font-size:.84rem;
}
.compatibility-testing{
  max-width:1084px;
  margin:34px auto 0;
}
.compatibility-testing li{margin:7px 0}
.content-card a,.faq-item a{font-weight:800}

@media(max-width:900px){
  .method-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .worked-example{grid-template-columns:1fr}
}
@media(max-width:620px){
  .method-summary-grid,.support-summary{grid-template-columns:1fr}
  .support-summary>a{grid-column:auto}
  .worked-example{padding:16px}
  .authority-section .inline-actions{display:grid}
  .authority-section .inline-actions .btn{width:100%}
  .pdf-drop-zone{min-height:128px}
  .result-table th,.result-table td{padding:10px 7px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}

.support-status.official-guide{
  background:#e9efff;
  color:#284e9a;
}


/* v8: fondazione della piattaforma */
.footer-grid{grid-template-columns:1.35fr repeat(3,1fr)}
.hero-small-note{font-size:.9rem!important;margin-top:13px!important}
.section-link{font-weight:850;text-decoration:none;white-space:nowrap}
.platform-panel{background:linear-gradient(145deg,#fff,#eef7f4)}
.vision-flow{display:grid;gap:10px;margin-top:15px}
.vision-flow>div{display:grid;gap:2px;padding:11px 13px;border:1px solid #cfe0db;border-radius:13px;background:rgba(255,255,255,.75)}
.vision-flow strong{color:var(--brand)}
.vision-flow span{color:var(--muted);font-size:.88rem}
.platform-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.platform-tools-grid .featured-tool{grid-column:span 1}
.tool-card{position:relative}
.tool-badge{position:absolute;top:18px;right:18px;padding:5px 8px;border-radius:999px;background:#edf3ff;color:#315da8;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.new-tool{border-color:#b9d7cf}
.new-tool .tool-icon{background:#e8f7f1}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.category-card{padding:21px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.category-card h3{margin:12px 0 6px}
.category-card p{margin:0 0 13px;color:var(--muted)}
.category-card strong{font-size:.83rem;color:var(--brand)}
.category-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent);font-size:1.2rem}
.stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stage-card{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}
.stage-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf1f5;color:#5a6675;font-weight:900}
.stage-card h3{margin:12px 0 6px}
.stage-card p{margin:0;color:var(--muted)}
.stage-card.active-stage{border-color:#a8cec4;background:#f3faf7}
.stage-card.active-stage>span{background:var(--brand);color:#fff}
.roadmap-section{padding-bottom:58px}
.tool-category-section{padding:12px 0 32px}
.category-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.category-heading>span{padding:6px 9px;border-radius:999px;background:var(--accent);color:var(--brand);font-weight:900;font-size:.76rem;text-transform:uppercase}
.category-heading h2{margin:0}
.future-tools{margin-top:15px}
.future-chip-grid{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.future-chip-grid span{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fafcfc;font-weight:750;color:#4a5868}
.vision-statement{margin:16px 0 20px;padding:20px;border-radius:18px;background:var(--brand);color:#fff;font-size:clamp(1.4rem,3vw,2.2rem);font-weight:900;line-height:1.15}
.project-stage-grid{margin:18px 0 26px}
.income-result-table th,.income-result-table td{white-space:nowrap}
.expense-section-head{margin-top:32px}
.expense-list{display:grid;gap:14px;margin:15px 0}
.expense-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:#fbfcfc}
.expense-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.expense-main-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:11px}
.beneficiary-fieldset{margin:14px 0 0;padding:13px;border:1px solid #d5e1de;border-radius:14px;background:#fff}
.beneficiary-fieldset legend{padding:0 7px;font-weight:850}
.beneficiary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.beneficiary-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.beneficiary-grid input{width:18px;height:18px}
.beneficiary-actions{display:flex;gap:14px;margin-top:11px}
.text-button{padding:0;border:0;background:transparent;color:var(--brand);font-weight:850;cursor:pointer}
.transfer-summary{margin-top:18px;padding:16px;border:1px solid #cfe0db;border-radius:15px;background:#f4faf8}
.transfer-summary h3{margin:0 0 8px}
.transfer-summary ol{margin:0;padding-left:1.25rem}
.transfer-summary li{margin:7px 0}
.balance-positive{color:#08733d}
.balance-negative{color:#a02b2b}
.trip-participant-row{grid-template-columns:1fr auto}

@media(max-width:950px){
  .category-grid,.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .expense-main-grid{grid-template-columns:1fr 1fr}
  .expense-main-grid .field:first-child{grid-column:1/-1}
}
@media(max-width:850px){
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .platform-tools-grid,.category-grid,.stage-grid{grid-template-columns:1fr}
  .section-head{align-items:flex-start;flex-direction:column}
  .expense-main-grid{grid-template-columns:1fr}
  .expense-main-grid .field:first-child{grid-column:auto}
  .beneficiary-grid{grid-template-columns:1fr}
  .trip-participant-row,.income-person-row{grid-template-columns:1fr}
  .trip-participant-row .remove-btn,.income-person-row .remove-btn{grid-column:auto}
  .income-result-table{font-size:.87rem}
}


/* v8.1: storico locale e importazione Splitwise */
.migration-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:22px;align-items:start;margin-bottom:34px}
.import-help{position:sticky;top:92px}
.csv-drop-zone{display:grid;place-items:center;text-align:center;gap:7px;min-height:180px;padding:24px;border:2px dashed #a9c8c0;border-radius:18px;background:#f7fbfa;cursor:pointer;transition:.18s ease}
.csv-drop-zone:hover,.csv-drop-zone.dragging{border-color:var(--brand);background:#edf8f4;transform:translateY(-1px)}
.csv-drop-zone input,.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.csv-drop-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--brand);color:#fff;font-weight:900;letter-spacing:.04em}
.csv-drop-zone strong{font-size:1.05rem}.csv-drop-zone span:last-of-type{color:var(--muted);font-size:.88rem}
.import-preview{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.import-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.import-kpis>div{padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff}
.import-kpis strong,.import-kpis span{display:block}.import-kpis strong{font-size:1.1rem;color:var(--brand)}.import-kpis span{margin-top:3px;color:var(--muted);font-size:.78rem}
.success-notice{border-color:#acd5c4;background:#f1faf6}.warning-notice{border-color:#e7c888;background:#fff9ec}
.balance-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.currency-balance-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}
.currency-balance-head{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;background:#f1f6f5}.currency-balance-head span{color:var(--muted);font-size:.82rem}
.participant-balance-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 14px;border-top:1px solid var(--line)}
.participant-balance-list strong{text-align:right;font-size:.88rem}.import-target-grid{margin-top:16px}
.third-party-note,.local-storage-explainer{color:var(--muted);font-size:.86rem}
.local-history-section{padding-top:18px}.compact-actions{gap:8px}.compact-actions .btn{padding:10px 13px;font-size:.87rem}
.btn-danger{background:#fff4f4;color:#9b2727;border:1px solid #e5bcbc}.btn-danger:hover{background:#ffeaea}
.file-button{position:relative;cursor:pointer}.groups-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.group-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.group-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.group-card-head h3{margin:7px 0 0}.group-card-head>span{color:var(--muted);font-size:.82rem;white-space:nowrap}
.group-card p{color:var(--muted);margin:10px 0}.group-balance-line{display:block;min-height:42px;font-size:.86rem;color:var(--brand)}
.source-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#edf3ff;color:#315da8;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}.source-pill.native-source{background:#eaf7f2;color:#17614f}
.empty-state{padding:35px;text-align:center;border:1px dashed var(--line);border-radius:18px;background:#fafcfc}.empty-state h3{margin-top:0}
.group-ledger{padding-top:30px}.group-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.group-detail-head h2{margin:5px 0}.group-detail-head p{color:var(--muted);margin:0}
.native-entry-card{margin-top:20px}.native-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.native-description-field{grid-column:span 2}
.history-controls{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:24px 0 12px}.impact-cell{min-width:260px;font-size:.83rem}.history-table td{vertical-align:top}
.table-delete-button{border:0;background:transparent;color:#9b2727;font-weight:800;cursor:pointer;padding:4px}.table-count{color:var(--muted);font-size:.84rem}
@media(max-width:1000px){.migration-grid{grid-template-columns:1fr}.import-help{position:static}.groups-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.native-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.import-kpis,.balance-preview,.groups-grid,.native-entry-grid,.history-controls{grid-template-columns:1fr}.native-description-field{grid-column:auto}.group-detail-head{flex-direction:column}.participant-balance-list>div{align-items:flex-start;flex-direction:column;gap:3px}.participant-balance-list strong{text-align:left}.compact-actions{display:grid;width:100%}.compact-actions .btn{width:100%}.csv-drop-zone{min-height:155px}.history-table{font-size:.84rem}}
