body{font-family:Arial,sans-serif;margin:0;background:#f4f6f8;color:#17202a}.wrap{max-width:1040px;margin:auto;padding:18px}.card{background:white;border-radius:16px;padding:18px;margin:14px 0;box-shadow:0 2px 12px #0001}button{border:0;border-radius:12px;padding:12px 16px;background:#1f6feb;color:white;font-weight:700;margin:5px;cursor:pointer}.secondary{background:#6b7280}.danger{background:#b91c1c}input,select,textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:10px;margin:6px 0 12px;box-sizing:border-box}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.sig{border:1px solid #bbb;border-radius:10px;background:white;touch-action:none;width:100%;height:150px}.listitem{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #eee;padding:12px 0}.actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.small{font-size:13px;color:#667085}.carSvgWrap{max-width:900px;margin:10px auto 20px;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px}.carSvg{width:100%;height:auto;display:block}.map-bg{fill:#ffffff;stroke:#d7e7f8;stroke-width:2}.tech-outline{fill:#fff;stroke:#94a3b8;stroke-width:2}.glass{fill:#f8fafc;stroke:#cbd5e1;stroke-width:2}.tech-line{stroke:#cbd5e1;stroke-width:2}.car-panel{cursor:pointer}.car-panel rect{stroke:#475569;stroke-width:2;transition:.15s}.car-panel:hover rect{stroke-width:4;filter:brightness(.98)}.car-panel text{font-size:12px;font-weight:800;fill:#111827;pointer-events:none}.car-panel .panel-state{font-size:13px;font-weight:800;fill:#111827}.panel-empty rect{fill:#e5e7eb}.panel-ok rect,.ok{fill:#dcfce7!important;background:#dcfce7!important;color:#111}.panel-bad rect,.bad{fill:#fecaca!important;background:#fecaca!important;color:#111}.mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.mini-zone{background:#e5e7eb;color:#111;padding:11px;border-radius:12px;text-align:center;font-weight:bold}.mini-zone span{font-size:11px;color:#475569;font-weight:600}@media(max-width:600px){.listitem{display:block}.actions{justify-content:flex-start}.car-panel text{font-size:11px}.car-panel .panel-state{font-size:11px}}

/* v1.0 sagoma reale */
.carSvg.sagoma{background:#fff;border-radius:14px}
.invisible-bg{fill:transparent!important;stroke:#d7e7f8;stroke-width:2;pointer-events:none}
.carSvg.sagoma .car-panel rect{opacity:.62;stroke:#111827;stroke-width:1.8}
.carSvg.sagoma .panel-empty rect{fill:#e5e7eb}
.carSvg.sagoma .panel-ok rect{fill:#dcfce7}
.carSvg.sagoma .panel-bad rect{fill:#fecaca}
.carSvg.sagoma .car-panel:hover rect{opacity:.82;stroke-width:4}
.carSvg.sagoma .car-panel text{font-size:15px;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.carSvg.sagoma .car-panel .panel-state{font-size:18px}

/* v1.7 - mappa cliccabile allineata alla sagoma del PDF */
.carSvg.real-map{background:#fff;border-radius:14px;max-height:680px}
.car-hotspot{cursor:pointer}
.car-hotspot rect,.car-hotspot polygon{stroke:#1f2937;stroke-width:1.8;vector-effect:non-scaling-stroke;transition:.15s;opacity:.02;fill:transparent}
.car-hotspot.panel-ok rect,.car-hotspot.panel-ok polygon{fill:rgba(34,197,94,.28);stroke:#15803d;opacity:.92}
.car-hotspot.panel-bad rect,.car-hotspot.panel-bad polygon{fill:rgba(239,68,68,.30);stroke:#dc2626;opacity:.95}
.car-hotspot.panel-empty:hover rect,.car-hotspot.panel-empty:hover polygon{fill:rgba(37,99,235,.14);stroke:#1d4ed8;opacity:.9;stroke-width:3}
.car-hotspot.panel-ok:hover rect,.car-hotspot.panel-ok:hover polygon,.car-hotspot.panel-bad:hover rect,.car-hotspot.panel-bad:hover polygon{stroke:#1d4ed8;stroke-width:3;filter:brightness(.98)}
.car-hotspot .panel-state{font-size:28px;font-weight:800;fill:#111;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;pointer-events:none}

/* v2.4 dashboard branding */
.app-header{display:flex;justify-content:space-between;align-items:center;gap:16px;background:white;border-radius:18px;padding:14px 18px;margin:10px 0 18px;box-shadow:0 2px 12px #0001;border:1px solid #e5edf8}
.brand{display:flex;align-items:center;gap:14px}.brand img{width:72px;height:72px;object-fit:contain}.brand h1{margin:0;color:#003d8f;font-size:25px;line-height:1.05;letter-spacing:.3px}.brand p{margin:4px 0 0;color:#667085;font-size:13px}.language{min-width:170px}.lang-label{display:block;font-size:12px;font-weight:700;color:#003d8f;margin-bottom:4px}.lang-select{margin:0;padding:10px;border-color:#9bc2e6;background:#f8fbff;font-weight:700;color:#003d8f}.actions button{padding:10px 12px}.actions button:first-child{background:#0f766e}
@media(max-width:700px){.app-header{display:block}.brand img{width:58px;height:58px}.brand h1{font-size:19px}.language{margin-top:12px;min-width:0}.actions button{width:auto}}
