.smi-iscr{--blue:#304090;--navy:#17224f;--ink:#141a33;--muted:#5d6475;--line:#d9dde8;--soft:#eef0f8;--paper:#fbfbfd;--card:#fff;--err:#b42318;--ok:#1a7f4b;
box-sizing:border-box}
.smi-iscr *{box-sizing:border-box}
.smi-iscr [hidden]{display:none!important}
.smi-iscr{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Archivo,"Helvetica Neue",Arial,sans-serif}
.smi-iscr .proto-x{background:#17224f;color:#dfe5ff;font-size:13.5px;text-align:center;padding:8px 14px}
.smi-iscr .w{max-width:860px;margin:0 auto;padding:8px 0 40px}
.smi-iscr h1{font-size:clamp(28px,4.4vw,40px);font-style:italic;font-weight:900;margin:0;text-align:center}
.smi-iscr .intro{color:var(--muted);text-align:center;margin:6px 0 26px}
.smi-iscr /* stepper */
.steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 22px;counter-reset:s}
.smi-iscr .steps li{flex:1;counter-increment:s;font-size:12.5px;font-weight:600;color:var(--muted);text-align:center}
.smi-iscr .steps li::before{content:counter(s);display:grid;place-items:center;width:30px;height:30px;margin:0 auto 6px;border-radius:50%;border:2px solid var(--line);background:var(--card);font-weight:800;color:var(--muted)}
.smi-iscr .steps li.now{color:var(--ink)}
.smi-iscr .steps li.now::before{border-color:var(--blue);color:var(--blue)}
.smi-iscr .steps li.done::before{content:"✓";background:var(--blue);border-color:var(--blue);color:#fff}
@media(max-width:620px){.smi-iscr .steps li span{display:none}}
.smi-iscr .card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px}
@media(max-width:560px){.smi-iscr .card{padding:18px}}
.smi-iscr .card h2{margin:0 0 4px;font-size:22px}
.smi-iscr .card .hint{margin:0 0 18px;color:var(--muted);font-size:15px}
.smi-iscr fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.smi-iscr legend{font-weight:700;margin-bottom:8px;padding:0}
.smi-iscr .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.smi-iscr .grid .full{grid-column:1/-1}
@media(max-width:560px){.smi-iscr .grid{grid-template-columns:1fr}}
.smi-iscr label.f{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14.5px}
.smi-iscr .req::after{content:" *";color:var(--err)}
.smi-iscr input[type=text],.smi-iscr input[type=email],.smi-iscr input[type=tel],.smi-iscr input[type=date],.smi-iscr select{font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);width:100%}
.smi-iscr input:focus,.smi-iscr select:focus{outline:3px solid color-mix(in srgb,var(--blue) 35%,transparent);border-color:var(--blue)}
.smi-iscr .err-msg{color:var(--err);font-size:13px;font-weight:600;min-height:0}
.smi-iscr .invalid input,.smi-iscr .invalid select{border-color:var(--err)}
.smi-iscr .sub{font-weight:400;color:var(--muted);font-size:13px}
.smi-iscr /* scelta stato: schede */
.choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.smi-iscr .choice{position:relative}
.smi-iscr .choice input{position:absolute;opacity:0}
.smi-iscr .choice span{display:block;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font-weight:700;cursor:pointer;background:var(--paper)}
.smi-iscr .choice span small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.smi-iscr .choice input:checked+span{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--card));box-shadow:inset 0 0 0 1px var(--blue)}
.smi-iscr .choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--blue) 40%,transparent)}
.smi-iscr .seg{display:flex;flex-wrap:wrap;gap:8px}
.smi-iscr .seg label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;font-weight:600;background:var(--paper)}
.smi-iscr .seg input{accent-color:var(--blue)}
.smi-iscr .seg label:has(input:checked){border-color:var(--blue)}
.smi-iscr .check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:10px;cursor:pointer}
.smi-iscr .check input{margin-top:4px;width:18px;height:18px;accent-color:var(--blue);flex:none}
.smi-iscr .check b{display:block}
.smi-iscr .panel{display:none}
.smi-iscr .panel.on{display:block}
.smi-iscr .box{padding:16px 18px;border-radius:12px;background:var(--soft);margin:4px 0 16px}
.smi-iscr .box .amount{font-size:26px;font-weight:800;color:var(--blue)}
.smi-iscr .iban{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;letter-spacing:.03em;word-break:break-all}
.smi-iscr .drop{border:2px dashed var(--line);border-radius:12px;padding:22px;text-align:center;color:var(--muted)}
.smi-iscr .drop input{margin-top:10px}
.smi-iscr .files{list-style:none;padding:0;margin:10px 0 0;font-size:14px}
.smi-iscr .sig-wrap{border:1.5px solid var(--line);border-radius:12px;background:#fff;position:relative;touch-action:none}
.smi-iscr canvas{display:block;width:100%;height:170px;border-radius:12px;cursor:crosshair}
.smi-iscr .sig-line{position:absolute;left:18px;right:18px;bottom:38px;border-bottom:1px dashed #b8bfd3;pointer-events:none}
.smi-iscr .sig-ph{position:absolute;left:18px;bottom:12px;font-size:12.5px;color:#8a92a8;pointer-events:none}
.smi-iscr .link{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
.smi-iscr .nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.smi-iscr .btn{font:inherit;font-weight:700;font-size:16px;padding:13px 24px;border-radius:999px;border:1.5px solid var(--blue);cursor:pointer}
.smi-iscr .btn.pri{background:var(--blue);color:#fff}
.smi-iscr .btn.sec{background:transparent;color:var(--blue)}
.smi-iscr .btn:disabled{opacity:.4;cursor:default}
.smi-iscr .sum{width:100%;border-collapse:collapse;font-size:14.5px}
.smi-iscr .sum th{text-align:left;color:var(--muted);font-weight:600;width:42%;padding:7px 10px 7px 0;vertical-align:top}
.smi-iscr .sum td{padding:7px 0;font-weight:600}
.smi-iscr .sum tr+tr{border-top:1px solid var(--line)}
.smi-iscr .sum-h{margin:20px 0 6px;font-size:15px;color:var(--blue);text-transform:uppercase;letter-spacing:.04em}
.smi-iscr .done{text-align:center}
.smi-iscr .done .ok{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;display:grid;place-items:center;font-size:34px;margin:0 auto 12px}
.smi-iscr dialog{max-width:680px;width:calc(100% - 32px);border:0;border-radius:16px;padding:0;background:var(--card);color:var(--ink)}
.smi-iscr dialog::backdrop{background:rgba(10,14,35,.55)}
.smi-iscr dialog .in{padding:24px;max-height:70vh;overflow:auto}
.smi-iscr dialog h3{margin-top:0}
.smi-iscr dialog footer{padding:14px 24px;border-top:1px solid var(--line);text-align:right}
.smi-iscr .note{font-size:13px;color:var(--muted)}


.smi-iscr .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.smi-iscr .server-err{display:none;margin-top:14px;padding:12px 16px;border-radius:10px;background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err);font-weight:600}
.smi-iscr .server-err.on{display:block}
.smi-iscr .btn.loading{opacity:.6;pointer-events:none}
.smi-iscr dialog .in h1,.smi-iscr dialog .in h2{font-size:20px;font-style:normal}
.smi-iscr label,.smi-iscr legend,.smi-iscr h2,.smi-iscr h3,.smi-iscr p,.smi-iscr td,.smi-iscr th,.smi-iscr li{color:inherit}
.smi-iscr input[type=checkbox],.smi-iscr input[type=radio]{width:auto}
