/* BASURATTI Machine sender — unified product finish for desktop and mobile. */
:root{--sender-ease:cubic-bezier(.22,.82,.24,1)}
body{
  background:
    radial-gradient(1000px 560px at 76% -180px,rgba(211,167,82,.105),transparent 66%),
    radial-gradient(700px 460px at 8% 105%,rgba(82,65,34,.045),transparent 70%),#090a0d;
}
body::before{
  content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 74%);
}
.topbar{min-height:68px;padding:12px clamp(16px,3vw,34px);border-bottom-color:rgba(255,255,255,.07);background:rgba(10,11,14,.74);-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2)}
.brand{font-size:17px;letter-spacing:-.02em}.brand-logo{width:40px;height:40px;border-radius:12px;box-shadow:0 11px 30px -19px rgba(211,167,82,.9)}
.ghost-btn,.conn-pill{min-height:36px;border-color:rgba(255,255,255,.085);background:rgba(255,255,255,.028)}
.ghost-btn{transition:transform .2s var(--sender-ease),color .2s ease,border-color .2s ease,background .2s ease}.ghost-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.045)}

.wizard-shell{max-width:1180px;padding:25px clamp(16px,3vw,32px) 48px;gap:18px}
.stepper{
  position:relative;padding:7px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(16,17,21,.64);
  box-shadow:0 20px 56px -44px #000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
.step-dot{min-height:58px;justify-content:center;flex-direction:row;gap:9px;padding:7px 9px;border-radius:12px;transition:color .2s ease,background .2s ease}
.step-dot::after{top:50%;left:calc(50% + 38px);right:calc(-50% + 38px);height:1px}
.step-dot .num{width:31px;height:31px;flex:none;border-width:1px;border-radius:10px;font-size:12px}
.step-dot .lbl{font-size:9.5px;text-align:left}
.step-dot.active{background:linear-gradient(135deg,rgba(211,167,82,.13),rgba(211,167,82,.035))}
.step-dot.active .num{transform:none;box-shadow:0 0 0 4px rgba(211,167,82,.06);animation:none}

.step-card{
  grid-template-columns:minmax(320px,.88fr) minmax(380px,1.12fr);border-color:rgba(255,255,255,.085);border-radius:25px;
  background:linear-gradient(150deg,rgba(19,20,24,.98),rgba(13,14,17,.98));box-shadow:0 34px 90px -55px #000,inset 0 1px 0 rgba(255,255,255,.025);
}
.stage{min-height:390px;border-right-color:rgba(255,255,255,.065);background:radial-gradient(430px 330px at 50% 38%,rgba(211,167,82,.12),transparent 72%),linear-gradient(160deg,#17191e,#0e0f12)}
.stage::before{opacity:.65;mask-image:radial-gradient(circle at center,black,transparent 78%)}
.stage svg{width:min(250px,78%);height:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.16))}
.panel{padding:clamp(28px,4vw,46px)}
.eyebrow{margin-bottom:10px;color:#cba761;font-size:9px}.panel h2{font-size:clamp(27px,3.2vw,38px);font-weight:700;letter-spacing:-.045em}.panel .lead{color:#92969f;line-height:1.62}
.controls{padding-top:28px}.btn{position:relative;overflow:hidden;min-height:54px;border-radius:14px;transition:transform .22s var(--sender-ease),border-color .2s ease,background .2s ease,filter .2s ease,box-shadow .2s ease}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 22%,rgba(255,255,255,.2) 48%,transparent 72%);transform:translateX(-120%);transition:transform .55s var(--sender-ease);pointer-events:none}.btn:hover:not(:disabled)::after{transform:translateX(120%)}
.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:scale(.988)}
.btn.gold{box-shadow:0 18px 38px -23px rgba(211,167,82,.9),inset 0 1px 0 rgba(255,255,255,.25)}
.nav-btn{min-height:42px;border-radius:11px;transition:transform .2s var(--sender-ease),color .2s ease,border-color .2s ease,background .2s ease}.nav-btn:hover{transform:translateY(-1px)}
.hint{color:#80848c}.manual-corner,.usb-help{border-radius:15px;background:rgba(255,255,255,.02)}

.run-card{
  padding:22px;border:1px solid rgba(255,255,255,.085);border-radius:25px;
  background:linear-gradient(145deg,rgba(19,20,24,.98),rgba(13,14,17,.98));box-shadow:0 34px 90px -55px #000,inset 0 1px 0 rgba(255,255,255,.025);
}
.run-ico{border-radius:13px}.viz{border-color:rgba(255,255,255,.12);box-shadow:0 24px 52px -34px rgba(0,0,0,.88)}
.viz-tools button{border-radius:11px;background:rgba(13,14,18,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s var(--sender-ease),border-color .2s ease,color .2s ease}.viz-tools button:hover{transform:translateY(-2px)}
.hud{background:rgba(13,14,18,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.track{height:10px;border-color:rgba(255,255,255,.07)}
#expertPanel{max-width:1180px}.ex-card{border-color:rgba(255,255,255,.085);border-radius:18px;background:linear-gradient(145deg,#131419,#0f1013)}
.work-picker,.machine-access-dialog,.ns-card{border-color:rgba(211,167,82,.24);box-shadow:0 34px 100px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.035)}

@media(max-width:800px){
  body::before{background-size:32px 32px}
  .topbar{min-height:60px;padding:9px 12px}.brand-logo{width:35px;height:35px;border-radius:10px}
  .wizard-shell{padding:12px 10px calc(30px + env(safe-area-inset-bottom));gap:12px}
  .stepper{position:sticky;z-index:38;top:64px;margin:0 -1px;padding:5px;border-radius:15px;background:rgba(14,15,18,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
  .step-dot{min-height:48px;padding:5px}.step-dot::after{left:calc(50% + 20px);right:calc(-50% + 20px)}.step-dot .num{width:29px;height:29px}.step-dot .lbl{display:none}
  .step-card{border-radius:20px}.stage{min-height:190px;padding:16px;border-bottom-color:rgba(255,255,255,.065)}.stage svg{width:148px;height:148px}
  .panel{padding:22px 17px 18px}.panel h2{font-size:28px}.panel .lead{font-size:14px}.controls{padding-top:21px}
  .btn{min-height:52px;padding:14px 15px;font-size:14px}.btn.big{padding:16px;font-size:15px}.navrow{gap:7px}.nav-btn{flex:1;justify-content:center;padding:10px 12px;font-size:10.5px}
  .run-card{padding:15px;border-radius:20px}.run-head{align-items:flex-start}.run-head>.nav-btn{flex:0 0 auto}.viz{min-height:240px;border-radius:16px;aspect-ratio:4/3}.hud{left:8px;right:8px;bottom:8px;justify-content:space-around;gap:8px;padding:10px}.hud .k{font-size:7px}.hud .v{font-size:12px}
  #expertPanel{padding:0 10px}.ex-card{border-radius:16px}
}

@media(max-width:480px){
  .brand{font-size:14px}.topbar-right{gap:6px}.conn-pill{min-height:34px;padding:6px 9px}.ghost-btn{min-height:34px}
  .access-mode-banner{width:calc(100% - 20px);margin-top:10px;font-size:12px}
  .stepper{top:59px}.stage{min-height:168px}.stage svg{width:132px;height:132px}.panel h2{font-size:26px}.panel{padding-top:19px}
  .btn-row{display:grid;grid-template-columns:1fr}.btn{width:100%;min-width:0}.mini-list li{font-size:13.5px}
  .run-title{gap:10px;min-width:0}.run-ico{width:40px;height:40px}.filebox{min-width:0}.filebox h3{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.run-head>.nav-btn{width:100%}
  .viz{min-height:220px}.viz-tools{top:8px;right:8px}.viz-tools button{width:34px;height:34px}.viz-tools button.wide{display:none}
}

@media(prefers-reduced-motion:reduce){.btn::after{display:none}.step-card.active .panel>*,.run-card.active>*,.step-card.active .stage svg{animation:none!important}}
