:root{
  --petrolio:#1F4E5F; --petrolio-d:#163a47; --rosso:#C0392B;
  --bg:#eef2f4; --card:#ffffff; --bordo:#d8e0e4; --testo:#243137; --muted:#6b7a82;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--testo);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45}
.topbar{background:var(--petrolio);color:#fff;padding:28px 20px;display:flex;align-items:center;gap:14px}
.topbar .logo{height:84px;max-width:100%}
.wrap{max-width:720px;margin:0 auto;padding:18px 14px 60px}
h1{color:var(--petrolio);font-size:22px;margin:8px 0 4px}
.intro{color:var(--muted);font-size:14px;margin:0 0 18px}
.card{background:var(--card);border:1px solid var(--bordo);border-radius:12px;padding:16px;margin-bottom:14px}
.card h2{color:var(--petrolio);font-size:16px;margin:0 0 12px;border-bottom:1px solid var(--bordo);padding-bottom:8px}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}
label input,label select{display:block;width:100%;margin-top:4px;padding:11px 10px;border:1px solid var(--bordo);border-radius:9px;font-size:16px;color:var(--testo);background:#fff}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row label{flex:1;min-width:120px}
.row label.small{flex:0 0 90px;min-width:80px}
.check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--testo)}
.check input{width:20px;height:20px;margin-top:2px}
.consenso{font-size:14px}
.consenso a{color:var(--rosso)}
.sub{font-size:13px;color:var(--muted);margin:6px 0}
.slot{border:1px dashed var(--bordo);border-radius:10px;padding:12px;margin:12px 0;background:#fafcfd}
.slot-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:14px}
.slot-head .esempio{height:64px;width:auto;border-radius:6px;border:1px solid var(--bordo);filter:grayscale(.25);opacity:.9}
.slot input[type=file]{width:100%;font-size:14px}
.hint{font-size:12px;color:var(--muted);margin-top:6px}
.hidden{display:none!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.submit{width:100%;background:var(--rosso);color:#fff;border:0;border-radius:10px;padding:16px;font-size:17px;font-weight:600;cursor:pointer}
.submit:disabled{opacity:.6;cursor:wait}
.nb{font-size:12px;color:var(--muted);margin-top:14px;text-align:center}
.errbox{background:#fde8e6;border:1px solid var(--rosso);color:#922;border-radius:9px;padding:12px;margin-bottom:12px;font-size:14px}
.success{background:#fff;border:1px solid var(--bordo);border-radius:12px;padding:28px 20px;text-align:center}
.success h2{color:var(--petrolio)}
.footer-cs{color:var(--muted);font-size:13px;margin-top:16px}
