.imt-widget{--imt-blue:#173d5c;--imt-muted:#5e6e7c;font-family:inherit;background:#fff;border:1px solid #d9e3e8;border-radius:20px;overflow:hidden;box-shadow:0 12px 35px rgba(20,49,70,.08);margin:24px 0}
.imt-header{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:24px 28px;background:linear-gradient(135deg,#f8fbfc,#eef5f7)}
.imt-header h2{margin:2px 0 4px;color:var(--imt-blue);font-size:clamp(1.5rem,2.5vw,2.2rem)}.imt-header p{margin:0;color:var(--imt-muted)}
.imt-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#258582}
.imt-model-select{min-width:280px}.imt-model-select span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--imt-muted);margin-bottom:5px}
.imt-model-select select{width:100%;padding:10px 12px;border:1px solid #cbd8de;border-radius:10px;background:#fff}
.imt-map-shell{position:relative}.imt-map{width:100%;background:#edf2f4}.imt-panel{position:absolute;z-index:500;top:18px;right:18px;width:min(310px,calc(100% - 36px));max-height:calc(100% - 36px);overflow:auto;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid rgba(199,214,221,.9);border-radius:16px;padding:18px;box-shadow:0 12px 32px rgba(16,47,77,.18)}
.imt-panel-block{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #dce5e9;padding-bottom:12px}.imt-panel-block strong{font-size:1.05rem;color:var(--imt-blue)}.imt-panel-block span:last-child{font-size:.82rem;color:var(--imt-muted)}
.imt-label,.imt-source span{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#258582}
.imt-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.imt-panel-grid div{background:#f3f7f8;border-radius:10px;padding:9px}.imt-panel-grid span{display:block;font-size:.66rem;text-transform:uppercase;color:var(--imt-muted);font-weight:700}.imt-panel-grid strong{color:var(--imt-blue);font-size:.9rem}
.imt-legend{border-top:1px solid #dce5e9;padding-top:12px}.imt-legend h3{font-size:.88rem;margin:0 0 8px;color:var(--imt-blue)}.imt-legend div{display:flex;align-items:center;gap:9px;margin:5px 0;font-size:.8rem}.imt-legend i{width:26px;height:10px;border-radius:4px;display:block}.imt-c1{background:#6f2da8}.imt-c2{background:#2474cc}.imt-c3{background:#58b957}.imt-c4{background:#f7c948}.imt-c5{background:#ef5b24}
.imt-source{border-top:1px solid #dce5e9;margin-top:12px;padding-top:10px;display:flex;flex-direction:column}.imt-source strong{font-size:.8rem;color:var(--imt-blue)}
.imt-disclaimer{padding:14px 24px;background:#f2f5f6;color:#566875;font-size:.78rem;line-height:1.45;border-top:1px solid #d9e3e8}.imt-message{padding:18px;border:1px solid #d9e3e8;border-radius:12px;background:#f7fafb}
@media(max-width:760px){.imt-header{display:block}.imt-model-select{min-width:0;margin-top:16px}.imt-panel{position:relative;top:auto;right:auto;width:auto;max-height:none;margin:0;border-radius:0;border-width:1px 0 0}.imt-map{height:480px!important}}
/* Versione 1.1 - freccia, parametri avanzati e animazione scenario */
.imt-animation-controls{
  border-top:1px solid #dce5e9;
  margin-top:12px;
  padding-top:12px;
}
.imt-play,.imt-reset{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:8px 10px;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}
.imt-play{background:#173d5c;color:#fff}
.imt-reset{background:#e8eff2;color:#173d5c;margin-left:5px}
.imt-play:hover,.imt-reset:hover{filter:brightness(.96)}
.imt-progress{
  height:6px;
  background:#e5ecef;
  border-radius:999px;
  margin:10px 0 6px;
  overflow:hidden;
}
.imt-progress span{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#6f2da8,#2474cc,#58b957,#f7c948,#ef5b24);
}
.imt-animation-controls small{
  display:block;
  color:#657681;
  font-size:.68rem;
  line-height:1.35;
}

.imt-period-select{min-width:250px}
.imt-period-select span{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--imt-muted);margin-bottom:5px}
.imt-period-select select{width:100%;padding:10px 12px;border:1px solid #cbd8de;border-radius:10px;background:#fff}
@media(max-width:760px){.imt-period-select{min-width:0;margin-top:12px}}

/* Versione 1.4 - simulazione annuale */
.imt-annual-play{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:8px 10px;
  margin-top:7px;
  width:100%;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
  background:#258582;
  color:#fff;
}
.imt-annual-play:hover{filter:brightness(.96)}
.imt-annual-status{
  min-height:2.7em;
  margin-top:7px;
  color:#173d5c;
  font-size:.72rem;
  font-weight:700;
  line-height:1.35;
}

/* Versione 1.5 - qualità direzionale */
.imt-wind-stats{
  border-top:1px solid #dce5e9;
  margin-top:12px;
  padding-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.imt-wind-stats div{
  background:#f3f7f8;
  border-radius:9px;
  padding:8px;
}
.imt-wind-stats span{
  display:block;
  font-size:.64rem;
  text-transform:uppercase;
  color:#5e6e7c;
  font-weight:700;
}
.imt-wind-stats strong{
  color:#173d5c;
  font-size:.8rem;
}
.imt-wind-stats p{
  grid-column:1/-1;
  margin:0;
  padding:8px 10px;
  border-radius:8px;
  background:#fff3cd;
  color:#6a4d00;
  font-size:.7rem;
  line-height:1.35;
  font-weight:700;
}

/* Versione 1.6 - esportazione PDF */
.imt-pdf-download{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:8px 10px;
  margin-top:7px;
  width:100%;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
  background:#7a2f8f;
  color:#fff;
}
.imt-pdf-download:hover{filter:brightness(.96)}
.imt-pdf-download:disabled{opacity:.55;cursor:wait}
.imt-pdf-status{
  margin-top:6px;
  color:#173d5c;
  font-size:.68rem;
  line-height:1.35;
  font-weight:700;
}

/* Versione 1.7 - scenario manuale personalizzato */
.imt-manual-scenario{
  padding:18px 24px;
  border-top:1px solid #d9e3e8;
  border-bottom:1px solid #d9e3e8;
  background:#fbfcfd;
}
.imt-manual-heading{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin-bottom:14px;
}
.imt-manual-heading > div{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.imt-manual-heading strong{
  color:#173d5c;
  font-size:.92rem;
}
.imt-manual-badge{
  border-radius:999px;
  padding:6px 10px;
  background:#fff3cd;
  color:#6a4d00;
  font-size:.7rem;
  font-weight:800;
}
.imt-manual-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.imt-manual-grid label > span{
  display:block;
  margin-bottom:6px;
  font-size:.72rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#5e6e7c;
}
.imt-linked-control{
  display:grid;
  grid-template-columns:minmax(140px,1fr) 90px 72px;
  gap:9px;
  align-items:center;
}
.imt-linked-control input[type="range"]{
  width:100%;
}
.imt-linked-control input[type="number"]{
  width:100%;
  border:1px solid #cbd8de;
  border-radius:8px;
  padding:7px 8px;
}
.imt-linked-control strong{
  color:#173d5c;
  font-size:.8rem;
  text-align:right;
}
.imt-manual-summary{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
}
.imt-manual-summary div{
  min-width:160px;
  padding:9px 11px;
  border-radius:10px;
  background:#eef5f7;
}
.imt-manual-summary span{
  display:block;
  font-size:.65rem;
  text-transform:uppercase;
  color:#5e6e7c;
  font-weight:700;
}
.imt-manual-summary strong{
  color:#173d5c;
  font-size:.86rem;
}
.imt-manual-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.imt-manual-actions button{
  appearance:none;
  border:0;
  border-radius:9px;
  padding:9px 12px;
  font-size:.76rem;
  font-weight:800;
  cursor:pointer;
}
.imt-manual-actions button:first-child{
  background:#173d5c;
  color:#fff;
}
.imt-manual-actions button:last-child{
  background:#e8eff2;
  color:#173d5c;
}
.imt-manual-scenario > p{
  margin:10px 0 0;
  color:#657681;
  font-size:.72rem;
  line-height:1.4;
}
@media(max-width:760px){
  .imt-manual-heading{display:block}
  .imt-manual-badge{display:inline-block;margin-top:8px}
  .imt-manual-grid{grid-template-columns:1fr}
  .imt-linked-control{grid-template-columns:1fr 78px}
  .imt-linked-control strong{grid-column:1/-1;text-align:left}
}

/* Versione 1.9 - sorgente virtuale */
.imt-widget .leaflet-tooltip{
  font-size:.72rem;
  font-weight:700;
}

/* Versione 2.0 - metodo temporale */
.imt-method-cell{grid-column:1/-1}
.imt-method-cell strong{font-size:.72rem;line-height:1.3}

/* Versione 2.1 - contouring su griglia */
.imt-widget .leaflet-interactive {
  vector-effect: non-scaling-stroke;
}

/* Versione 2.3 - doppia esportazione PDF */
.imt-pdf-manual{
  background:#173d5c;
}
.imt-pdf-annual{
  background:#7a2f8f;
}
