.laserscan-page{
  --b:#123f7a;--b2:#071e3d;--b3:#0c3559;--r:#ef0000;--c:#18a8d8;
  --g:#1b9a59;--y:#f2bf2e;--i:#172338;--m:#64748b;--l:#dbe5ee;
  --s:#edf5fb;--w:#fff;--dark:#061525;--shadow:0 22px 55px rgba(10,40,80,.13)
}
@scope (.laserscan-page) {
.laserscan-page{
  --b:#123f7a;--b2:#071e3d;--b3:#0c3559;--r:#ef0000;--c:#18a8d8;
  --g:#1b9a59;--y:#f2bf2e;--i:#172338;--m:#64748b;--l:#dbe5ee;
  --s:#edf5fb;--w:#fff;--dark:#061525;--shadow:0 22px 55px rgba(10,40,80,.13)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--i);background:#f4f8fb}
button,input,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.page{max-width:1500px;margin:auto;background:#fff;box-shadow:0 0 65px rgba(10,40,80,.10)}
.top{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 38px;border-bottom:1px solid var(--l);background:#fff;position:sticky;top:0;z-index:50
}
.top img{width:170px;height:58px;object-fit:contain}
.back{text-decoration:none;color:var(--b);font-size:12px;font-weight:950}
.k{color:var(--r);font-size:11px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--l);
  border-radius:999px;padding:13px 18px;background:#fff;color:var(--b);font-weight:950;text-decoration:none
}
.btn.red{background:var(--r);border-color:var(--r);color:#fff;box-shadow:0 12px 27px rgba(239,0,0,.22)}
.btn.blue{background:var(--b);border-color:var(--b);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.sec{padding:66px 46px}
.sec.alt{background:#f7fafc}
.head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px}
.head h2{margin:7px 0 0;color:var(--b);font-size:43px;line-height:1.04;letter-spacing:-.035em}
.head p{margin:0;max-width:665px;color:var(--m);line-height:1.63}

/* HERO */
.hero{
  display:grid;grid-template-columns:1.02fr .98fr;min-height:690px;
  background:
    radial-gradient(circle at 15% 18%,rgba(24,168,216,.18),transparent 24%),
    linear-gradient(145deg,var(--b2),#0d3c65);color:#fff
}
.hero-copy{padding:65px 58px;display:flex;flex-direction:column;justify-content:center}
.hero-copy .k{color:#8adcf6}
.hero h1{margin:10px 0 16px;font-size:clamp(58px,7vw,92px);line-height:.9;letter-spacing:-.055em}
.hero h1 span{display:block;color:#7dd3fc;font-size:.34em;letter-spacing:.05em;margin-bottom:12px}
.hero p{margin:0;color:#c7d9e6;font-size:19px;line-height:1.65;max-width:690px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.chip{border:1px solid rgba(125,211,252,.22);border-radius:999px;padding:8px 10px;background:rgba(24,168,216,.08);color:#b2e1f1;font-size:10px;font-weight:900}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.hero-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#eef5fb,#fff)}
.hero-visual:before{
  content:"";position:absolute;inset:0;background-image:
    linear-gradient(rgba(18,63,122,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(18,63,122,.05) 1px,transparent 1px);
  background-size:34px 34px
}
.hero-device{position:relative;z-index:2;max-height:590px;max-width:75%;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(0,0,0,.22))}
.scan-ring{position:absolute;z-index:1;width:520px;height:520px;border-radius:50%;border:1px solid rgba(24,168,216,.35);animation:ring 3s infinite ease-out}
.scan-ring.r2{animation-delay:1s}.scan-ring.r3{animation-delay:2s}
@keyframes ring{0%{transform:scale(.45);opacity:.8}100%{transform:scale(1.2);opacity:0}}
.patent-seal{
  position:absolute;right:28px;top:27px;z-index:5;width:105px;height:105px;border-radius:50%;
  display:grid;place-items:center;text-align:center;background:var(--r);color:#fff;border:5px double #fff;
  font-size:12px;line-height:1.05;font-weight:950;letter-spacing:.06em;transform:rotate(8deg);
  box-shadow:0 15px 34px rgba(239,0,0,.32)
}
.hero-icons{position:absolute;z-index:4;left:24px;bottom:25px;display:grid;gap:9px}
.hero-icon{display:flex;align-items:center;gap:9px;border-radius:14px;background:rgba(7,30,61,.92);color:#fff;padding:10px 12px;box-shadow:0 10px 25px rgba(0,0,0,.17)}
.hero-icon i{width:29px;height:29px;border-radius:9px;background:rgba(24,168,216,.15);display:grid;place-items:center;color:#7dd3fc;font-style:normal;font-weight:950}
.hero-icon span{font-size:10px;font-weight:900}

/* SIMULATOR */
.sim-wrap{border:1px solid var(--l);border-radius:30px;background:#fff;overflow:hidden;box-shadow:var(--shadow)}
.sim-top{padding:23px 27px;border-bottom:1px solid var(--l);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fbfdff}
.sim-top h3{margin:0;color:var(--b);font-size:28px}
.sim-live{border-radius:999px;background:#edf3f7;color:#58758d;padding:8px 11px;font-size:10px;font-weight:950}
.sim-live.on{background:#eaf8ef;color:var(--g)}
.sim-live.alert{background:#fff0f0;color:#c51b28}
.sim-layout{display:grid;grid-template-columns:360px 1fr;min-height:820px}
.controls{padding:24px;border-right:1px solid var(--l);background:#fff}
.controls h4{margin:0 0 17px;color:var(--b);font-size:21px}
.control{margin-bottom:17px}
.control label{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--b);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.control label b{color:var(--r)}
.control input[type="range"]{width:100%;accent-color:var(--b)}
.control input[type="number"],.control select{width:100%;border:1px solid var(--l);border-radius:12px;padding:11px 12px;background:#fbfdff;color:var(--i)}
.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick-title{margin:23px 0 10px;color:var(--b);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.06em}
.events{display:grid;gap:8px}
.event-btn{border:1px solid var(--l);border-radius:13px;background:#fff;color:var(--b);padding:11px 12px;text-align:left;font-size:11px;font-weight:850}
.event-btn.on{background:#fff5d8;border-color:#e1b833;color:#7b5d00}
.event-btn.danger.on{background:#fff0f0;border-color:#ec7880;color:#b20f1c}
.scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.scan-actions .btn{padding:12px 10px;font-size:11px}
.progress-box{margin-top:16px;border-radius:15px;background:var(--s);padding:13px}
.progress-label{display:flex;justify-content:space-between;color:#526c83;font-size:10px;font-weight:900}
.progress{height:9px;border-radius:999px;background:#d9e4ec;overflow:hidden;margin-top:8px}
.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--c),var(--r));transition:.25s}
.disclaimer{margin-top:14px;color:#8194a5;font-size:9px;line-height:1.45}

.sim-work{padding:21px;background:linear-gradient(145deg,#061525,#0a2b49);color:#fff}
.work-grid{display:grid;grid-template-columns:minmax(520px,1.2fr) minmax(270px,.8fr);gap:14px}
.canvas-card{position:relative;border:1px solid rgba(255,255,255,.13);border-radius:21px;background:rgba(0,0,0,.18);overflow:hidden}
.canvas-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.10)}
.canvas-head strong{font-size:13px}.canvas-head span{font-size:9px;color:#8fb1ca;font-weight:900}
#siloCanvas{display:block;width:100%;height:510px}
.result-panel{border:1px solid rgba(255,255,255,.13);border-radius:21px;background:rgba(255,255,255,.045);padding:17px;display:flex;flex-direction:column}
.result-panel h4{margin:0;color:#fff;font-size:19px}
.result-panel>p{color:#9cb6ca;font-size:11px;line-height:1.5}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
.metric{border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);padding:12px}
.metric small{display:block;color:#7595ad;font-size:9px;font-weight:900;text-transform:uppercase}
.metric b{display:block;margin-top:5px;color:#fff;font-size:21px}
.metric b.cyan{color:#7dd3fc}.metric b.green{color:#87e4aa}
.sensor-box{margin-top:12px;border-top:1px solid rgba(255,255,255,.10);padding-top:13px}
.sensor-row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px;color:#9ab3c7;font-size:10px}
.sensor-row strong{color:#fff}
.safety-state{border-radius:12px;background:rgba(27,154,89,.12);color:#95e6b5;padding:10px 11px;font-size:10px;font-weight:900}
.safety-state.warn{background:rgba(242,191,46,.12);color:#f4d36e}
.safety-state.danger{background:rgba(239,0,0,.14);color:#ff9aa2}
.frontend-card{margin-top:14px;border:1px solid rgba(255,255,255,.13);border-radius:21px;background:rgba(0,0,0,.16);overflow:hidden}
.frontend-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:0}
#meshCanvas{display:block;width:100%;height:275px;background:radial-gradient(circle at 50% 35%,#123c61,#061525 72%)}
.frontend-side{padding:17px;border-left:1px solid rgba(255,255,255,.10)}
.frontend-side h4{margin:0 0 12px;font-size:17px}
.session-list{display:grid;gap:8px}
.session-row{border-radius:11px;background:rgba(255,255,255,.055);padding:10px}
.session-row small{display:block;color:#7898b1;font-size:8px;font-weight:900;text-transform:uppercase}
.session-row strong{display:block;color:#fff;font-size:11px;margin-top:4px}
.flow-status{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.flow-node{border:1px solid rgba(255,255,255,.11);border-radius:13px;padding:11px 8px;text-align:center;background:rgba(255,255,255,.035);color:#7897af;font-size:9px;font-weight:900}
.flow-node.on{color:#fff;border-color:#52c9ec;background:rgba(24,168,216,.13);box-shadow:0 0 20px rgba(24,168,216,.11)}
.flow-node.done{color:#a6ebc0;border-color:#4db979;background:rgba(27,154,89,.11)}

/* ARCHITECTURE */
.arch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.arch-card{border:1px solid var(--l);border-radius:21px;background:#fff;padding:20px;text-align:left;transition:.22s;position:relative}
.arch-card:hover,.arch-card.on{transform:translateY(-4px);box-shadow:0 15px 30px rgba(10,40,80,.10)}
.arch-card.on{border-color:#77cde9;outline:3px solid rgba(24,168,216,.08)}
.arch-card b{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--s);color:var(--b)}
.arch-card h3{margin:14px 0 7px;color:var(--b);font-size:18px}
.arch-card p{margin:0;color:var(--m);font-size:12px;line-height:1.5}
.arch-detail{margin-top:14px;border-radius:22px;background:linear-gradient(145deg,var(--b),var(--b2));color:#fff;padding:25px}
.arch-detail h3{margin:0 0 8px;font-size:25px}.arch-detail p{margin:0;color:#ccdde8;line-height:1.6}
.arch-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.arch-tags span{border:1px solid rgba(125,211,252,.18);border-radius:999px;background:rgba(24,168,216,.07);color:#a9ddf0;padding:7px 9px;font-size:9px;font-weight:900}

/* BENEFITS */
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.benefit{border:1px solid var(--l);border-radius:21px;background:#fff;padding:20px}
.benefit i{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--s);color:var(--b);font-style:normal;font-size:22px;font-weight:950}
.benefit h3{color:var(--b);font-size:18px;margin:14px 0 7px}.benefit p{margin:0;color:var(--m);font-size:12px;line-height:1.52}
.notice{margin-top:18px;border-radius:24px;background:linear-gradient(145deg,var(--b),var(--b2));color:#fff;padding:29px}
.notice h2{margin:0 0 8px}.notice p{margin:0;color:#ccdde8;line-height:1.6;max-width:850px}

@media(max-width:1160px){
  .sim-layout{grid-template-columns:320px 1fr}
  .work-grid{grid-template-columns:1fr}.result-panel{min-height:340px}
  .arch-grid,.benefits{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr}.hero-visual{min-height:550px}
  .sim-layout{grid-template-columns:1fr}.controls{border-right:0;border-bottom:1px solid var(--l)}
  .frontend-grid{grid-template-columns:1fr}.frontend-side{border-left:0;border-top:1px solid rgba(255,255,255,.1)}
}
@media(max-width:620px){
  .top{padding:12px 16px}.top img{width:135px}.sec{padding:47px 16px}
  .hero-copy{padding:48px 20px}.hero h1{font-size:58px}.head{display:block}
  .control-grid,.metrics,.arch-grid,.benefits{grid-template-columns:1fr}
  .scan-actions{grid-template-columns:1fr}.flow-status{grid-template-columns:1fr 1fr}
  #siloCanvas{height:430px}
}



/* ===== LASERSCAN DECISION ENGINE ===== */
.decision-section{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 8% 15%,rgba(24,168,216,.10),transparent 22%),
    radial-gradient(circle at 92% 88%,rgba(239,0,0,.07),transparent 24%),
    linear-gradient(180deg,#f8fbfd,#eef4f8)
}
.decision-shell{
  border:1px solid var(--l);border-radius:30px;background:#fff;
  overflow:hidden;box-shadow:var(--shadow)
}
.decision-nav{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--l);background:#fbfdff
}
.decision-role{
  border:0;border-right:1px solid var(--l);background:transparent;
  padding:17px 13px;color:#72879a;font-size:11px;font-weight:900;
  transition:.22s
}
.decision-role:last-child{border-right:0}
.decision-role:hover{background:#f1f6fa;color:var(--b)}
.decision-role.on{background:var(--b);color:#fff}
.decision-layout{
  display:grid;grid-template-columns:320px minmax(560px,1fr) 330px;
  min-height:690px
}

/* PARAMETRI */
.decision-controls{
  padding:25px 22px;background:#fff;border-right:1px solid var(--l)
}
.decision-controls h3{margin:0;color:var(--b);font-size:23px}
.decision-controls>p{color:var(--m);font-size:11px;line-height:1.5}
.decision-control{margin-top:18px}
.decision-control label{
  display:flex;justify-content:space-between;gap:12px;
  color:var(--b);font-size:10px;font-weight:950;
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px
}
.decision-control label b{color:var(--r)}
.decision-control input[type="range"]{width:100%;accent-color:var(--b)}
.decision-control select{
  width:100%;border:1px solid var(--l);border-radius:12px;
  background:#fbfdff;color:var(--i);padding:11px 12px
}
.decision-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.decision-preset{
  border:1px solid var(--l);border-radius:13px;background:#fff;
  color:var(--b);padding:10px;font-size:10px;font-weight:900
}
.decision-preset.on{background:var(--b);border-color:var(--b);color:#fff}
.decision-actions{display:grid;gap:8px;margin-top:20px}
.decision-actions .btn{width:100%;font-size:11px}
.decision-note{
  margin-top:13px;color:#8598a8;font-size:9px;line-height:1.45
}

/* CENTRO: PREVISIONE */
.decision-forecast{
  position:relative;padding:24px;
  background:
    radial-gradient(circle at 50% 12%,rgba(24,168,216,.17),transparent 30%),
    linear-gradient(145deg,#061525,#0a2d4c);
  color:#fff;overflow:hidden
}
.decision-forecast:before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:31px 31px;pointer-events:none
}
.decision-forecast>*{position:relative;z-index:2}
.decision-forecast-top{
  display:flex;justify-content:space-between;gap:18px;align-items:center
}
.decision-forecast-top h3{margin:0;color:#fff;font-size:24px}
.decision-status{
  border-radius:999px;padding:8px 11px;background:rgba(27,154,89,.14);
  color:#90e5b1;font-size:9px;font-weight:950
}
.decision-status.warn{background:rgba(242,191,46,.14);color:#f6d879}
.decision-status.alert{background:rgba(239,0,0,.16);color:#ff9aa3}
.decision-dataflow{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px
}
.decision-flow-node{
  position:relative;border:1px solid rgba(255,255,255,.10);
  border-radius:14px;background:rgba(255,255,255,.035);
  color:#64849d;min-height:66px;display:grid;place-items:center;
  text-align:center;padding:8px;font-size:9px;font-weight:950;
  transition:.22s
}
.decision-flow-node:after{
  content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);
  color:#456b86;font-size:16px
}
.decision-flow-node:last-child:after{display:none}
.decision-flow-node.on{
  color:#fff;border-color:#63ccea;background:rgba(24,168,216,.14);
  box-shadow:0 0 23px rgba(24,168,216,.12)
}
.decision-flow-node.done{
  color:#a3eabc;border-color:#4db87a;background:rgba(27,154,89,.11)
}
.decision-chart-card{
  margin-top:16px;border:1px solid rgba(255,255,255,.11);
  border-radius:21px;background:rgba(0,0,0,.17);overflow:hidden
}
.decision-chart-head{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  padding:13px 15px;border-bottom:1px solid rgba(255,255,255,.09)
}
.decision-chart-head strong{font-size:12px}
.decision-chart-head span{font-size:9px;color:#83a2ba;font-weight:900}
#decisionCanvas{display:block;width:100%;height:330px}
.decision-events{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px
}
.decision-event{
  border:1px solid rgba(255,255,255,.09);border-radius:13px;
  background:rgba(255,255,255,.035);padding:10px
}
.decision-event small{
  display:block;color:#7392aa;font-size:8px;font-weight:900;
  text-transform:uppercase
}
.decision-event strong{
  display:block;color:#fff;font-size:11px;line-height:1.35;margin-top:5px
}

/* RISULTATO */
.decision-result{
  padding:25px 22px;background:#fff;border-left:1px solid var(--l);
  display:flex;flex-direction:column
}
.decision-result .k{margin-bottom:8px}
.decision-result h3{margin:0;color:var(--b);font-size:29px;line-height:1.04}
.decision-result>p{color:var(--m);font-size:12px;line-height:1.55}
.decision-gauge{
  margin:14px auto 0;width:170px;height:170px;border-radius:50%;
  background:conic-gradient(var(--c) 0 75%,#e7eef3 75% 100%);
  display:grid;place-items:center;position:relative
}
.decision-gauge:after{
  content:"";position:absolute;inset:15px;border-radius:50%;background:#fff
}
.decision-gauge-inner{position:relative;z-index:2;text-align:center}
.decision-gauge-inner strong{
  display:block;color:var(--b);font-size:31px;line-height:1
}
.decision-gauge-inner span{
  display:block;color:var(--m);font-size:9px;font-weight:900;
  margin-top:5px;text-transform:uppercase
}
.decision-summary{display:grid;gap:8px;margin-top:16px}
.decision-summary-row{
  display:flex;justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--l);padding:10px 0
}
.decision-summary-row span{color:var(--m);font-size:10px}
.decision-summary-row strong{color:var(--b);font-size:11px;text-align:right}
.decision-recommendation{
  margin-top:14px;border-left:4px solid var(--c);
  border-radius:0 13px 13px 0;background:#eef7fb;
  padding:13px;color:#40576d;font-size:11px;line-height:1.5
}
.decision-recommendation.warn{border-left-color:var(--y);background:#fff8df}
.decision-recommendation.alert{border-left-color:var(--r);background:#fff0f0}
.decision-result .btn{margin-top:auto;width:100%;font-size:11px}
.decision-message{
  display:none;margin-top:10px;border-radius:13px;background:#071e3d;
  color:#bcd0df;padding:12px;font-size:10px;line-height:1.5
}
.decision-message.on{display:block}
.decision-footer{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--l);background:#fbfdff
}
.decision-footer div{
  text-align:center;padding:13px 8px;border-right:1px solid var(--l);
  color:#7a8fa2;font-size:9px;font-weight:900;text-transform:uppercase
}
.decision-footer div:last-child{border-right:0}
.decision-footer b{display:block;color:var(--b);font-size:12px;margin-bottom:4px}

@media(max-width:1180px){
  .decision-layout{grid-template-columns:290px 1fr}
  .decision-result{grid-column:1/-1;min-height:530px}
}
@media(max-width:850px){
  .decision-layout{display:block}
  .decision-controls,.decision-result{border:0;border-bottom:1px solid var(--l)}
}
@media(max-width:650px){
  .decision-nav{grid-template-columns:1fr 1fr}
  .decision-role:nth-child(2){border-right:0}
  .decision-role:nth-child(-n+2){border-bottom:1px solid var(--l)}
  .decision-dataflow{grid-template-columns:1fr 1fr}
  .decision-flow-node:nth-child(2):after{display:none}
  .decision-events{grid-template-columns:1fr}
  .decision-footer{grid-template-columns:1fr 1fr}
}

/* ===== REFERENZA INDUSTRIALE CASILLO ===== */
.casillo-reference{
  position:relative;overflow:hidden;padding:0;
  background:linear-gradient(145deg,#ffffff,#f4f8fb)
}
.casillo-reference-card{
  display:grid;grid-template-columns:210px 1fr auto;align-items:center;gap:26px;
  margin:0 46px 44px;border:1px solid var(--l);border-radius:25px;
  background:#fff;box-shadow:0 15px 36px rgba(10,40,80,.09);overflow:hidden
}
.casillo-reference-mark{
  min-height:180px;display:grid;place-items:center;text-align:center;
  background:linear-gradient(145deg,#071e3d,#123f7a);color:#fff;
  padding:25px
}
.casillo-reference-mark span{
  display:block;color:#7dd3fc;font-size:9px;font-weight:950;
  letter-spacing:.14em;text-transform:uppercase
}
.casillo-reference-mark strong{
  display:block;margin-top:9px;font-size:29px;letter-spacing:.02em
}
.casillo-reference-copy{padding:24px 0}
.casillo-reference-copy .k{margin-bottom:7px}
.casillo-reference-copy h3{
  margin:0;color:var(--b);font-size:28px;line-height:1.06
}
.casillo-reference-copy p{
  margin:10px 0 0;color:var(--m);font-size:13px;line-height:1.6;
  max-width:760px
}
.casillo-reference-points{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:14px
}
.casillo-reference-points span{
  border-radius:999px;background:var(--s);color:var(--b);
  padding:7px 9px;font-size:9px;font-weight:900
}
.casillo-reference-status{
  padding:24px 28px;border-left:1px solid var(--l);text-align:center;
  min-width:210px
}
.casillo-reference-status i{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  margin:0 auto;background:#e7f7ed;color:var(--g);font-style:normal;
  font-size:24px;font-weight:950
}
.casillo-reference-status strong{
  display:block;margin-top:10px;color:var(--b);font-size:12px
}
.casillo-reference-status small{
  display:block;margin-top:5px;color:var(--m);font-size:9px;line-height:1.4
}
.hero-reference{
  display:inline-flex;align-items:center;gap:9px;width:max-content;
  margin-top:18px;border-radius:14px;padding:10px 13px;
  background:rgba(255,255,255,.08);border:1px solid rgba(125,211,252,.22);
  color:#fff;font-size:11px;font-weight:900
}
.hero-reference:before{
  content:"✓";width:24px;height:24px;border-radius:50%;display:grid;
  place-items:center;background:#1b9a59;color:#fff;font-weight:950
}
@media(max-width:930px){
  .casillo-reference-card{grid-template-columns:1fr;margin-left:20px;margin-right:20px}
  .casillo-reference-mark{min-height:140px}
  .casillo-reference-copy{padding:5px 24px 0}
  .casillo-reference-status{border-left:0;border-top:1px solid var(--l)}
}


/* ===== WORKSPACE PER REPARTO ===== */
.decision-role{
  position:relative;display:flex;align-items:center;justify-content:center;gap:8px
}
.decision-role i{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  background:#edf5fb;color:#123f7a;font-style:normal;font-size:12px
}
.decision-role.on i{background:rgba(255,255,255,.16);color:#fff}
.role-workspace{
  display:grid;grid-template-columns:250px 1fr 1fr 1fr;
  gap:10px;padding:14px;background:#eef4f8;border-bottom:1px solid var(--l);
  transition:.25s
}
.role-workspace-head{
  border-radius:16px;background:linear-gradient(145deg,#071e3d,#123f7a);
  color:#fff;padding:15px
}
.role-workspace-head small{
  display:block;color:#7dd3fc;font-size:8px;font-weight:950;
  letter-spacing:.12em;text-transform:uppercase
}
.role-workspace-head strong{
  display:block;margin-top:7px;font-size:16px;line-height:1.15
}
.role-workspace-head p{
  margin:7px 0 0;color:#b8cddd;font-size:9px;line-height:1.4
}
.role-focus{
  border:1px solid var(--l);border-radius:16px;background:#fff;padding:14px;
  position:relative;overflow:hidden
}
.role-focus:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#18a8d8
}
.role-focus small{
  display:block;color:#71869a;font-size:8px;font-weight:950;
  text-transform:uppercase;letter-spacing:.06em
}
.role-focus strong{
  display:block;color:#123f7a;font-size:16px;line-height:1.16;margin-top:7px
}
.role-focus span{
  display:block;color:#64748b;font-size:9px;line-height:1.4;margin-top:5px
}
.role-workspace.pulse .role-focus{
  animation:roleReveal .36s ease both
}
.role-workspace.pulse .role-focus:nth-child(3){animation-delay:.06s}
.role-workspace.pulse .role-focus:nth-child(4){animation-delay:.12s}
@keyframes roleReveal{
  from{opacity:.25;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.decision-info-link{
  display:inline-flex;margin-top:9px;border-radius:999px;border:1px solid var(--l);
  padding:11px 14px;text-decoration:none;color:#123f7a;font-size:10px;
  font-weight:950;justify-content:center
}

/* ===== RICHIEDI INFORMAZIONI VET ===== */
.info-section{
  position:relative;overflow:hidden;
  background:#f4f8fb;color:#fff
}
.info-section .head h2{color:#fff}
.info-section .head p{color:#bfd1df}
.info-shell{
  display:grid;grid-template-columns:.82fr 1.18fr;border-radius:29px;
  overflow:hidden;border:1px solid #dbe5ee;
  background:#fff;box-shadow:0 24px 58px rgba(10,40,80,.14)
}
.info-intro{
  padding:34px;background:#123f7a
}
.info-intro .k{color:#7dd3fc}
.info-intro h3{margin:9px 0 11px;font-size:31px;color:#fff;line-height:1.04}
.info-intro>p{color:#b8cddd;line-height:1.6;font-size:13px}
.info-steps{display:grid;gap:10px;margin-top:22px}
.info-step{
  display:grid;grid-template-columns:37px 1fr;gap:11px;align-items:start;
  border:1px solid rgba(255,255,255,.10);border-radius:15px;
  background:rgba(255,255,255,.045);padding:12px
}
.info-step i{
  width:37px;height:37px;border-radius:11px;display:grid;place-items:center;
  background:rgba(24,168,216,.15);color:#7dd3fc;font-style:normal;font-weight:950
}
.info-step strong{display:block;font-size:11px}
.info-step span{display:block;color:#91adc1;font-size:9px;line-height:1.4;margin-top:4px}
.info-reference{
  margin-top:20px;border-left:4px solid #ef0000;border-radius:0 13px 13px 0;
  background:rgba(255,255,255,.055);padding:13px;color:#cddde8;
  font-size:10px;line-height:1.5
}
.info-form-wrap{padding:31px;background:#fff;color:#172338}
.info-form-top{
  display:flex;align-items:start;justify-content:space-between;gap:15px;
  margin-bottom:18px
}
.info-form-top h3{margin:0;color:#123f7a;font-size:26px}
.info-import{
  border:1px solid #dbe5ee;border-radius:999px;background:#f6f9fb;
  color:#123f7a;padding:10px 12px;font-size:9px;font-weight:950
}
.info-import.done{background:#e8f7ee;border-color:#bce4ca;color:#1b7f4c}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.info-field{display:grid;gap:6px}
.info-field.full{grid-column:1/-1}
.info-field label{
  color:#123f7a;font-size:9px;font-weight:950;text-transform:uppercase;
  letter-spacing:.05em
}
.info-field input,.info-field select,.info-field textarea{
  width:100%;border:1px solid #dbe5ee;border-radius:13px;
  background:#fbfdff;color:#172338;padding:12px 13px;outline:none
}
.info-field textarea{min-height:135px;resize:vertical}
.info-field input:focus,.info-field select:focus,.info-field textarea:focus{
  border-color:#18a8d8;box-shadow:0 0 0 3px rgba(24,168,216,.10)
}
.info-options{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:12px
}
.info-option{
  border:1px solid #dbe5ee;border-radius:999px;background:#fff;color:#123f7a;
  padding:8px 10px;font-size:9px;font-weight:900
}
.info-option.on{background:#123f7a;border-color:#123f7a;color:#fff}
.info-submit-row{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px
}
.info-privacy{max-width:470px;color:#7d91a2;font-size:8px;line-height:1.4}
.info-success{
  display:none;margin-top:14px;border-radius:14px;background:#e9f8ef;
  border:1px solid #b9e2c7;color:#176f43;padding:13px;font-size:11px;
  font-weight:900
}
.info-success.on{display:block}
@media(max-width:1080px){
  .role-workspace{grid-template-columns:1fr 1fr}
  .role-workspace-head{grid-column:1/-1}
  .info-shell{grid-template-columns:1fr}
}
@media(max-width:680px){
  .role-workspace{grid-template-columns:1fr}
  .role-workspace-head{grid-column:auto}
  .info-grid{grid-template-columns:1fr}
  .info-field.full{grid-column:auto}
  .info-submit-row{display:block}
  .info-submit-row .btn{width:100%;margin-top:12px}
  .info-form-top{display:block}
  .info-import{margin-top:12px}
}

.laserscan-page{background:#f4f8fb;color:var(--i);font-family:Inter,Segoe UI,Arial,sans-serif}
.laserscan-page .page{max-width:1500px;margin:auto;background:#fff;box-shadow:0 0 65px rgba(10,40,80,.10)}
.site-header{position:relative;z-index:100}
.laserscan-feedback{padding:14px 24px;text-align:center;font-weight:800}
.laserscan-feedback--success{background:#e9f8ef;color:#176f43}
.laserscan-feedback--error{background:#fff0f0;color:#b20f1c}
@media(max-width:620px){.laserscan-page .page{box-shadow:none}}
}
