/* ===== HUB (scoped) ===== */
:root{
    --bg:var(--lbg);--panel:var(--lpanel);--grid:var(--lline-soft);--line:var(--lline);--line2:var(--lline2);
    --white:var(--link);--soft:var(--lsoft);--dim:var(--ldim);--faint:var(--lfaint);
    --blue:var(--lblue);--blue-dim:var(--lblue-soft);--green:var(--lgreen);--amber:var(--lacc2);
    --mono:var(--lmono);
  }
*{margin:0;padding:0;box-sizing:border-box}
/* Base dell'hub: stesso carattere e stessa crenatura della landing. Il
   monospace resta solo nelle micro-etichette (winbar, prompt, chip). */
#stageHub{height:100%;overflow:hidden;background:var(--lbg);color:var(--lsoft);
    font-family:var(--lsans);font-size:13px;-webkit-font-smoothing:antialiased;letter-spacing:-.018em}
#stageHub #hubGlobe{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1;
    background:radial-gradient(circle at 50% 46%,var(--lbg2) 0%,var(--lbg) 72%)}
#stageHub.no-globe #hubGlobe{display:none}
#stageHub #hubBrandTL{position:fixed;left:22px;top:18px;z-index:40;
    background:var(--lpanel);border:1px solid var(--lline2);
    padding:9px 16px 9px 12px;border-radius:var(--lr-pill);box-shadow:var(--lsh-sm)}
#stageHub:not(.desk-ready) #hubBrandTL,
#stageHub:not(.desk-ready) #status,
#stageHub:not(.desk-ready) #svcTab,
#stageHub:not(.desk-ready) #statsTab{opacity:0;pointer-events:none}
#stageHub.desk-ready #hubBrandTL,
#stageHub.desk-ready #status,
#stageHub.desk-ready #svcTab,
#stageHub.desk-ready #statsTab{opacity:1;transition:opacity .35s ease}
#stageHub #status{position:fixed;right:22px;top:24px;z-index:40;font-size:11px;color:var(--dim);letter-spacing:.1em;display:flex;align-items:center;gap:8px}
#stageHub #status .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2s infinite}

  @keyframes pulse{50%{opacity:.4}}
#stageHub .hub{position:fixed;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:90px 24px 60px;opacity:0;pointer-events:none;overflow:auto}
#stageHub .hub.show{pointer-events:auto;animation:rise .9s ease forwards}

  @keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#stageHub .hub .prompt{font-size:12px;color:var(--blue);letter-spacing:.14em;margin-bottom:6px}
#stageHub .hub .prompt::before{content:'$ '}
#stageHub .hub h1{font-size:clamp(24px,3.4vw,38px);color:var(--white);font-weight:600;letter-spacing:.05em;text-align:center;
    text-shadow:0 0 26px rgba(142,156,255,.25);line-height:1.1;min-height:1.2em}
#stageHub .hub h1 .nm{color:var(--blue)}
#stageHub .hub h1 .tw-cur{color:var(--blue);font-weight:400;margin-left:1px}
#stageHub .hub h1 .tw-cur.blink{animation:bk 1.05s steps(1) infinite}
#stageHub .hub .sub{font-size:12px;color:var(--dim);letter-spacing:.16em;text-transform:uppercase;margin-top:10px;text-align:center}
#stageHub .modules{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;width:100%;max-width:780px}
#stageHub .mod{position:relative;border:1px solid var(--line2);background:linear-gradient(165deg,rgba(34,39,45,.92),rgba(11,17,24,.86));
    backdrop-filter:blur(6px);cursor:pointer;transition:all .2s;overflow:hidden;text-align:left}
#stageHub .mod:hover{border-color:var(--blue);transform:translateY(-3px)}
#stageHub .mod:hover .go{color:var(--blue)}
#stageHub .mod .winbar{display:flex;align-items:center;gap:8px;padding:8px 13px;border-bottom:1px solid var(--line);background:rgba(8,11,17,.7)}
#stageHub .mod .winbar .dots{display:flex;gap:5px}
#stageHub .mod .winbar .dots i{width:8px;height:8px;border-radius:50%;background:var(--line2);display:block}
#stageHub .mod .winbar .dots i.g{background:var(--lacc)}
#stageHub .mod .winbar .dots i.y{background:var(--lacc2)}
#stageHub .mod .winbar .dots i.r{background:#5a3a3a}
#stageHub .mod .winbar .path{font-size:10.5px;color:var(--dim)}
#stageHub .mod .winbar .path b{color:var(--soft)}
#stageHub .mod .pad{padding:22px 24px 24px}
#stageHub .mod .key{position:absolute;top:56px;right:22px;font-size:11px;color:var(--faint);border:1px solid var(--line2);padding:2px 8px}
#stageHub .mod .idx{font-size:11px;color:var(--blue);letter-spacing:.18em}
#stageHub .mod h2{font-size:20px;color:var(--white);font-weight:600;margin:11px 0 8px;letter-spacing:.01em}
#stageHub .mod p{font-size:12px;color:var(--soft);line-height:1.6;min-height:54px}
#stageHub .mod .feat{list-style:none;margin:14px 0 18px}
#stageHub .mod .feat li{font-size:11px;color:var(--dim);padding:4px 0;display:flex;gap:8px}
#stageHub .mod .feat li::before{content:'\2192';color:var(--blue-dim)}
#stageHub .mod .go{font-size:12px;color:var(--soft);display:flex;align-items:center;gap:8px;transition:color .2s}
#stageHub .mod .go .arr{transition:transform .2s}
#stageHub .mod:hover .go .arr{transform:translateX(4px)}
#stageHub .mod .tag{position:absolute;top:0;right:0;font-size:9px;letter-spacing:.16em;color:var(--link);background:var(--blue);padding:3px 9px}
#stageHub .hint{margin-top:30px;font-size:11px;color:var(--faint);letter-spacing:.08em;text-align:center}
#stageHub .hint b{color:var(--dim)}
#stageHub .cursor{animation:bk 1.1s steps(1) infinite}
@keyframes bk{50%{opacity:0}}

#stageHub .addon{border:1px solid var(--line);background:color-mix(in srgb,var(--lbg) 60%,transparent);padding:13px 14px;cursor:pointer;transition:all .16s;display:flex;flex-direction:column;gap:5px}
#stageHub .addon:hover{border-color:var(--blue-dim);background:rgba(34,39,45,.85)}
#stageHub .addon .top{display:flex;align-items:center;justify-content:space-between}
#stageHub .addon .nm{font-size:13px;color:var(--white);font-weight:600}
#stageHub .addon .go{font-size:11px;color:var(--soft);margin-top:3px}
#stageHub .addon:hover .go{color:var(--blue)}
#stageHub #svcTab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:44;cursor:pointer;
    background:var(--lbg);border:1px solid var(--line2);border-left:none;color:var(--soft);
    padding:14px 9px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.18em;transition:all .16s;backdrop-filter:blur(6px)}
#stageHub #svcTab:hover{color:var(--blue);border-color:var(--blue-dim)}
#stageHub #svcTab.coming-soon{cursor:default;color:var(--muted);border-color:var(--line)}
#stageHub #svcTab.coming-soon:hover{color:var(--muted);border-color:var(--line)}
#stageHub #svcTab.hide{opacity:0;pointer-events:none}
#stageHub #statsPanel{position:fixed;top:0;right:0;bottom:0;z-index:46;width:278px;background:rgba(8,11,17,.94);
    backdrop-filter:blur(10px);border-left:1px solid var(--line2);display:flex;flex-direction:column;
    overflow:auto;transform:translateX(278px);transition:transform .3s cubic-bezier(.4,0,.2,1)}
#stageHub #statsPanel.open{transform:translateX(0)}
#stageHub #statsPanel .ph{padding:13px 16px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.18em;
    text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between;align-items:center}
#stageHub #statsPanel .ph .x{cursor:pointer;color:var(--dim);font-size:14px;line-height:1}
#stageHub #statsPanel .ph .x:hover{color:var(--white)}
#stageHub #statsTab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:44;cursor:pointer;
    background:var(--lbg);border:1px solid var(--line2);border-right:none;color:var(--soft);
    padding:14px 9px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.18em;transition:all .16s;backdrop-filter:blur(6px)}
#stageHub #statsTab:hover{color:var(--blue);border-color:var(--blue-dim)}
#stageHub #statsTab.hide{opacity:0;pointer-events:none}
#stageHub #statsTab .badge{display:inline-block;margin-top:8px;color:var(--amber)}
#stageHub .acct{padding:16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
#stageHub .acct .ava{width:38px;height:38px;border:1px solid var(--blue-dim);background:rgba(142,156,255,.1);
    display:flex;align-items:center;justify-content:center;color:var(--blue);font-weight:600;font-size:15px}
#stageHub .acct .ai .nm{font-size:13px;color:var(--white);font-weight:600}
#stageHub .acct .ai .pl{font-size:10.5px;color:var(--dim);margin-top:2px}
#stageHub .acct .ai .pl b{color:var(--amber)}
#stageHub .statgrid{padding:8px 0}
#stageHub .stat{padding:12px 16px;border-bottom:1px solid var(--grid);display:flex;align-items:center;justify-content:space-between}
#stageHub .stat .sl{font-size:11.5px;color:var(--soft)}
#stageHub .stat .sl .sx{font-size:10px;color:var(--dim);display:block;margin-top:2px}
#stageHub .stat .sv{font-size:22px;color:var(--white);font-weight:600}
#stageHub .stat.alert .sv{color:var(--amber)}
#stageHub .stat.alert .sl{color:var(--amber)}
#stageHub .statfoot{padding:14px 16px;margin-top:auto}
#stageHub .statfoot .up{display:block;text-align:center;font-size:11px;letter-spacing:.06em;padding:10px;
    background:var(--blue);color:var(--link);font-weight:600;cursor:pointer;transition:background .16s}
#stageHub .statfoot .up:hover{background:var(--lacc2)}
#stageHub .statfoot .mng{display:block;text-align:center;font-size:10.5px;color:var(--dim);margin-top:10px;cursor:pointer}
#stageHub .statfoot .mng:hover{color:var(--soft)}

  @media(max-width:680px){#stageHub .modules{grid-template-columns:1fr}
#stageHub .mod p{min-height:0}}
#stageHub #wipe{position:fixed;inset:0;z-index:300;background:var(--bg);transform:translateX(-100%);pointer-events:none}
#stageHub #wipe.in{animation:wipeIn .5s cubic-bezier(.7,0,.3,1) forwards}
#stageHub #wipe.out{animation:wipeOut .5s cubic-bezier(.7,0,.3,1) forwards}

  @keyframes wipeIn{from{transform:translateX(-100%)}to{transform:translateX(0)}}

  @keyframes wipeOut{from{transform:translateX(0)}to{transform:translateX(100%)}}
#stageHub #wipe .wt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--lsans);
    width:min(420px,86vw);opacity:0}
#stageHub #wipe.hold .wt{opacity:1;transition:opacity .2s}
#stageHub #wipe .wt .cmd{font-size:13px;color:var(--blue);letter-spacing:.1em;margin-bottom:16px}
#stageHub #wipe .wt .cmd::before{content:'$ '}
#stageHub #wipe .wt .ln{font-size:12px;color:var(--dim);padding:5px 0;opacity:0;display:flex;align-items:center;gap:10px;transform:translateX(-6px)}
#stageHub #wipe .wt .ln.show{opacity:1;transform:none;transition:all .25s}
#stageHub #wipe .wt .ln .st{color:var(--green);width:14px}
#stageHub #wipe .wt .ln .nm{color:var(--soft)}
#stageHub #wipe .wt .ln .dots{flex:1;border-bottom:1px dotted var(--line2);margin:0 4px;height:8px}
#stageHub #wipe .wt .ln .ok{color:var(--green);font-size:10px;letter-spacing:.1em}
#stageHub #wipe .wt .bar{height:2px;background:var(--grid);margin-top:18px;overflow:hidden}
#stageHub #wipe .wt .bar i{display:block;height:100%;width:0;background:var(--blue);box-shadow:0 0 8px var(--blue)}
#stageHub #wipe.hold .wt .bar i{animation:loadbar 1.7s linear forwards}

  @keyframes loadbar{to{width:100%}}
#stageHub #servicesView{position:fixed;inset:0;z-index:120;overflow:hidden;display:none;background:var(--bg)}
#stageHub #servicesView.on{display:block;animation:fade .5s ease}

  @keyframes fade{from{opacity:0}to{opacity:1}}
#stageHub .sv-wrap{position:relative;z-index:2;width:min(100%,1360px);height:100svh;margin:0 auto;padding:72px clamp(22px,4vw,46px) 22px;display:flex;flex-direction:column;overflow:hidden;background:transparent;border:0;box-shadow:none}
#stageHub .sv-top{position:absolute;top:18px;left:clamp(22px,4vw,46px);display:flex;align-items:center;justify-content:flex-start;margin:0;z-index:3}
#stageHub .sv-back{font-family:var(--lsans);font-size:12px;color:var(--soft);cursor:pointer;border:1px solid var(--line2);
    padding:8px 15px;transition:all .15s;background:color-mix(in srgb,var(--lbg) 72%,transparent);border-radius:999px;backdrop-filter:blur(8px)}
#stageHub .sv-back:hover{border-color:var(--blue-dim);color:var(--white)}
#stageHub .sv-head{margin:0;flex:0 0 auto}
#stageHub .sv-head .eyebrow{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue)}
#stageHub .sv-head .eyebrow::before{content:'~/ '}
#stageHub .sv-head h1{font-family:var(--lsans);font-size:clamp(28px,3.2vw,40px);color:var(--white);font-weight:600;margin-top:7px;letter-spacing:-.015em}
#stageHub .sv-head p{color:var(--soft);max-width:62ch;margin-top:7px;font-size:13px;line-height:1.4}
#stageHub .sv-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;flex:1;min-height:0}
#stageHub .svc-big{position:relative;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;
    transition:all .2s;overflow:hidden;min-height:0}
#stageHub .svc-big::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--line2);transition:background .2s}
#stageHub .svc-big:hover{border-color:var(--line2);background:var(--panel2)}
#stageHub .svc-big:hover::before{background:var(--blue)}
#stageHub .svc-big .lh{display:flex;align-items:center;gap:10px;padding:14px 18px 0;flex:0 0 auto}
#stageHub .svc-big .lh .ix{font-family:var(--mono);font-size:10.5px;color:var(--blue-dim);border:1px solid var(--line2);padding:3px 8px;letter-spacing:.1em}
#stageHub .svc-big .lh .fn{font-family:var(--lsans);font-size:11.5px;color:var(--dim)}
#stageHub .svc-big .lh .fn b{color:var(--soft)}
#stageHub .svc-big .bpad{padding:11px 18px 16px;display:flex;flex-direction:column;flex:1;min-height:0}
#stageHub .svc-big .row1{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
#stageHub .svc-big h3{font-family:var(--lsans);font-size:20px;color:var(--white);font-weight:600}
#stageHub .svc-big .price{font-family:var(--lsans);font-size:12.5px;color:var(--amber);white-space:nowrap}
#stageHub .svc-big .desc{font-size:12.5px;color:var(--soft);line-height:1.42;margin:8px 0 9px;max-width:62ch}
#stageHub .svc-big ul{list-style:none;margin-bottom:9px}
#stageHub .svc-big li{font-family:var(--lsans);font-size:11.5px;color:var(--soft);padding:4px 0;border-bottom:1px solid var(--grid);display:flex;gap:8px;line-height:1.28}
#stageHub .svc-big li::before{content:'\2713';color:var(--green);font-size:11px}
#stageHub .svc-big .turn{font-family:var(--lsans);font-size:10.5px;color:var(--dim);margin-bottom:9px;display:flex;align-items:center;gap:7px}
#stageHub .svc-big .cta{margin-top:auto;font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;padding:10px;cursor:pointer;
    background:var(--blue);color:var(--link);border:1px solid var(--blue);font-weight:600;text-align:center;transition:background .16s}
#stageHub .svc-big .cta:hover{background:var(--lacc2)}
#stageHub .svc-big .cta.ghost{background:transparent;color:var(--soft);border-color:var(--line2)}
#stageHub .svc-big .cta.ghost:hover{background:var(--panel2);color:var(--white);border-color:var(--blue-dim)}
#stageHub .sv-note{display:none}

  @media(max-width:760px){#stageHub .sv-cards{grid-template-columns:1fr}}
  @media(max-height:760px){
    #stageHub .sv-wrap{padding-top:58px;padding-bottom:12px}
    #stageHub .sv-top{top:12px}
    #stageHub .sv-head p{display:none}
    #stageHub .sv-cards{margin-top:12px;gap:10px}
    #stageHub .svc-big .lh{padding-top:8px}
    #stageHub .svc-big .bpad{padding-top:6px;padding-bottom:10px}
    #stageHub .svc-big .desc{display:none}
    #stageHub .svc-big li{padding:2.5px 0}
    #stageHub .svc-big .turn{display:none}
    #stageHub .svc-big .cta{padding:7px}
  }
#stageHub .svc-page{display:none}
#stageHub .svc-page.on{display:block;position:fixed;inset:0;z-index:9000;overflow-y:auto;background:var(--bg,var(--lbg))}
#stageHub .svc-pwrap{max-width:820px;margin:0 auto;padding:30px 28px 60px}
#stageHub .svc-back{font-family:var(--mono,monospace);font-size:12.5px;color:var(--soft,var(--ldim));background:transparent;border:none;cursor:pointer;padding:0;margin-bottom:22px;transition:color .14s}
#stageHub .svc-back:hover{color:var(--lacc)}
#stageHub .svc-mh{display:flex;align-items:center;padding:0 0 14px;border-bottom:1px solid var(--line,#1e2733);margin-bottom:20px}
#stageHub .svc-mt{font-family:var(--mono,monospace);font-size:12px;color:var(--soft,var(--ldim))}
#stageHub .svc-mt b{color:var(--lon-acc)}
#stageHub .svc-mb{padding:0}
#stageHub .svc-mtitle{font-family:var(--mono,monospace);font-size:20px;color:var(--lon-acc);font-weight:600;margin:0 0 6px;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
#stageHub .svc-mprice{font-size:12px;color:#e7b765;font-weight:400}
#stageHub .svc-msub{font-family:var(--mono,monospace);font-size:12px;color:var(--soft,var(--ldim));line-height:1.6;margin:0 0 20px}
#stageHub .svc-step{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.06em;color:var(--lacc);margin:18px 0 10px;text-transform:uppercase}
#stageHub .svc-step .svc-opt{color:var(--faint,#54616f);text-transform:none;letter-spacing:0;margin-left:6px}
#stageHub .cv-drop{display:block;border:1px dashed var(--line2,#2a3543);background:var(--linvert);padding:24px;text-align:center;cursor:pointer;transition:all .15s}
#stageHub .cv-drop:hover{border-color:var(--lacc)}
#stageHub .cv-drop.has{border-style:solid;border-color:rgba(111,207,159,.4);background:rgba(111,207,159,.04)}
#stageHub .cv-ic{font-size:24px;color:var(--dim,var(--lsoft));margin-bottom:8px}
#stageHub .cv-ic.ok{color:var(--lgreen)}
#stageHub .cv-dt{font-family:var(--mono,monospace);font-size:13px;color:var(--lon-acc);margin-bottom:4px}
#stageHub .cv-dh{font-family:var(--mono,monospace);font-size:10.5px;color:var(--dim,var(--lsoft))}
#stageHub .u{color:var(--lacc);text-decoration:underline;cursor:pointer}
#stageHub .cv-tiers{display:flex;flex-direction:column;gap:8px}
#stageHub .cv-tier{position:relative;border:1px solid var(--line2,#2a3543);background:var(--linvert);padding:12px 14px;cursor:pointer;transition:all .14s}
#stageHub .cv-tier:hover{border-color:#3a5780}
#stageHub .cv-tier.on{border-color:var(--lacc);background:rgba(142,156,255,.07)}
#stageHub .cv-tier.rec{border-color:rgba(142,156,255,.4)}
#stageHub .cv-rec{position:absolute;top:-9px;right:12px;font-family:var(--mono,monospace);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--link);background:var(--lacc);padding:2px 8px}
#stageHub .cv-tier-top{display:flex;align-items:center;justify-content:space-between}
#stageHub .cv-tn{font-family:var(--mono,monospace);font-size:13px;color:var(--lon-acc);font-weight:600}
#stageHub .cv-tp{font-family:var(--mono,monospace);font-size:14px;color:var(--lon-acc);font-weight:600}
#stageHub .cv-td{font-family:var(--mono,monospace);font-size:10.5px;color:var(--soft,var(--ldim));margin-top:4px}
#stageHub .ip-cal{border:1px solid var(--line2,#2a3543);background:var(--linvert);padding:14px}
#stageHub .ip-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:var(--mono,monospace);font-size:13px;color:var(--lon-acc)}
#stageHub .ip-nav{background:transparent;border:1px solid var(--line2,#2a3543);color:var(--soft,var(--ldim));width:26px;height:26px;cursor:pointer;font-size:13px}
#stageHub .ip-nav:hover{border-color:var(--lacc);color:var(--lon-acc)}
#stageHub .ip-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}
#stageHub .ip-dow span{font-family:var(--mono,monospace);font-size:9.5px;color:var(--dim,var(--lsoft));text-align:center}
#stageHub .ip-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
#stageHub .ipd{font-family:var(--mono,monospace);font-size:12px;color:var(--soft,var(--ldim));text-align:center;padding:8px 0;cursor:pointer;border:1px solid transparent;transition:all .12s}
#stageHub .ipd:hover:not(.dis):not(.empty){border-color:var(--lacc);color:var(--lon-acc)}
#stageHub .ipd.on{background:var(--lacc);color:var(--link);font-weight:600}
#stageHub .ipd.dis{color:#33404e;cursor:default}
#stageHub .ipd.empty{cursor:default}
#stageHub .ip-slots{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#stageHub .ip-slot-hint{font-family:var(--mono,monospace);font-size:11px;color:var(--dim,var(--lsoft))}
#stageHub .ip-slot-lbl{width:100%;font-family:var(--mono,monospace);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim,var(--lsoft));margin-bottom:2px}
#stageHub .ip-slot{font-family:var(--mono,monospace);font-size:12px;color:var(--soft,var(--ldim));background:var(--linvert);border:1px solid var(--line2,#2a3543);padding:8px 14px;cursor:pointer;transition:all .14s}
#stageHub .ip-slot:hover{border-color:var(--lacc);color:var(--lon-acc)}
#stageHub .ip-slot.on{border-color:var(--lacc);background:rgba(142,156,255,.1);color:var(--lon-acc)}
#stageHub .svc-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line,#1e2733);flex-wrap:wrap}
#stageHub .svc-total{font-family:var(--mono,monospace);color:var(--dim,var(--lsoft));font-size:11px;display:flex;flex-direction:column;gap:2px}
#stageHub .svc-total b{color:var(--lon-acc);font-size:22px;font-weight:600}
#stageHub .svc-go{font-family:var(--mono,monospace);font-size:13px;font-weight:600;background:var(--lacc);color:var(--link);border:1px solid var(--lacc);padding:13px 22px;cursor:pointer;transition:background .15s;flex:1;min-width:200px}
#stageHub .svc-go:hover{background:var(--lacc2)}
#stageHub .svc-note2{font-family:var(--mono,monospace);font-size:10px;color:var(--faint,#54616f);line-height:1.5;margin-top:12px}
#stageHub #auth{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;
    background:radial-gradient(ellipse at center,color-mix(in srgb,var(--lbg) 55%,transparent) 0%,color-mix(in srgb,var(--lbg) 82%,transparent) 72%);transition:opacity .5s ease}
#stageHub #auth.gone{opacity:0;pointer-events:none}
#stageHub .auth-skyline{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;isolation:isolate;
    background:radial-gradient(ellipse at 50% 38%,#0b151f 0%,var(--lbg) 62%,var(--lbg) 100%)}
#stageHub .auth-skyline .au{position:absolute;border-radius:50%;filter:blur(92px);will-change:transform;mix-blend-mode:screen}
#stageHub .auth-skyline .au1{width:52vw;height:52vw;left:-6vw;top:-14vw;opacity:.34;
    background:radial-gradient(circle,var(--blue,var(--lacc)) 0%,transparent 68%);animation:auD1 26s ease-in-out infinite alternate}
#stageHub .auth-skyline .au2{width:58vw;height:58vw;right:-12vw;bottom:-18vw;opacity:.28;
    background:radial-gradient(circle,var(--blue-dim,#5a67a8) 0%,transparent 70%);animation:auD2 32s ease-in-out infinite alternate}
#stageHub .auth-skyline .au3{width:46vw;height:46vw;left:24vw;bottom:-12vw;opacity:.22;
    background:radial-gradient(circle,var(--amber,var(--lacc2)) 0%,transparent 70%);animation:auD3 30s ease-in-out infinite alternate}
#stageHub .auth-skyline .au4{width:42vw;height:42vw;right:3vw;top:-12vw;opacity:.26;
    background:radial-gradient(circle,var(--amber,var(--lacc2)) 0%,transparent 72%);animation:auD4 24s ease-in-out infinite alternate}
#stageHub .auth-skyline .au5{width:36vw;height:36vw;left:33vw;top:6vh;opacity:.14;
    background:radial-gradient(circle,var(--white,var(--lpanel)) 0%,transparent 72%);animation:auD5 36s ease-in-out infinite alternate}
@keyframes auD1{from{transform:translate(0,0) scale(1)}to{transform:translate(7vw,6vh) scale(1.18)}}
@keyframes auD2{from{transform:translate(0,0) scale(1.12)}to{transform:translate(-6vw,-5vh) scale(1)}}
@keyframes auD3{from{transform:translate(0,0) scale(1)}to{transform:translate(-7vw,-4vh) scale(1.22)}}
@keyframes auD4{from{transform:translate(0,0) scale(1.06)}to{transform:translate(6vw,7vh) scale(.94)}}
@keyframes auD5{from{transform:translate(0,0) scale(1)}to{transform:translate(4vw,-6vh) scale(1.15)}}
@media(prefers-reduced-motion:reduce){#stageHub .auth-skyline .au{animation:none}}
#stageHub .auth-skyline::after{content:'';position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 80% 82% at 50% 46%,transparent 34%,color-mix(in srgb,var(--lbg) 55%,transparent) 100%)}
#stageHub .authbox{position:relative;z-index:1;width:min(420px,94vw);border:1px solid var(--line2);background:linear-gradient(165deg,rgba(34,39,45,.96),rgba(11,17,24,.92));
    backdrop-filter:blur(8px);animation:rise .7s ease}
#stageHub .authbox .winbar{display:flex;align-items:center;gap:8px;padding:9px 14px;border-bottom:1px solid var(--line);background:rgba(8,11,17,.8)}
#stageHub .authbox .winbar .dots{display:flex;gap:5px}
#stageHub .authbox .winbar .dots i{width:8px;height:8px;border-radius:50%;background:var(--line2);display:block}
#stageHub .authbox .winbar .dots i.r{background:#5a3a3a}
#stageHub .authbox .winbar .dots i.y{background:var(--lacc2)}
#stageHub .authbox .winbar .dots i.g{background:var(--lacc)}
#stageHub .authbox .winbar .path{font-size:10.5px;color:var(--dim)}
#stageHub .authbox .winbar .path b{color:var(--soft)}
#stageHub .authpad{padding:26px 26px 28px}
#stageHub .authpad .prompt{font-size:11px;color:var(--blue);letter-spacing:.14em;margin-bottom:6px}
#stageHub .authpad .prompt::before{content:'$ '}
#stageHub .authpad h2{font-size:21px;color:var(--white);font-weight:600;letter-spacing:.02em}
#stageHub .authpad .ah{font-size:12px;color:var(--dim);margin-top:7px;line-height:1.5}
#stageHub .field{margin-bottom:14px}
#stageHub .field label{display:block;font-size:11px;color:var(--soft);letter-spacing:.06em;margin-bottom:6px}
#stageHub .field input{width:100%;background:var(--bg);border:1px solid var(--line2);color:var(--white);
    font-family:var(--lsans);font-size:13px;padding:11px 12px;outline:none;transition:border-color .14s}
#stageHub .field input:focus{border-color:var(--blue-dim)}
#stageHub .field input::placeholder{color:var(--faint)}
#stageHub .authpad .full{width:100%;font-family:var(--mono);font-size:13px;letter-spacing:.06em;padding:13px;cursor:pointer;
    background:var(--blue);color:var(--link);border:1px solid var(--blue);font-weight:600;transition:all .16s;margin-top:6px}
#stageHub .authpad .full:hover{background:var(--lacc2)}
#stageHub .authpad .foot{font-size:11px;color:var(--dim);margin-top:16px;text-align:center}
#stageHub .authpad .foot span{color:var(--blue);cursor:pointer}
#stageHub .authpad .skip{font-size:10.5px;color:var(--faint);margin-top:16px;text-align:center;cursor:pointer}
#stageHub .authpad .skip:hover{color:var(--soft)}
#stageHub .authpad .li-auth{width:100%;margin-top:20px;font-family:var(--mono);font-size:13px;letter-spacing:.02em;
    padding:13px;cursor:pointer;background:#0a66c2;border:1px solid #0a66c2;color:var(--lon-acc);font-weight:600;
    display:flex;align-items:center;justify-content:center;gap:10px;transition:background .15s}
#stageHub .authpad .li-auth:hover{background:#0e76db}
#stageHub .authpad .li-auth .in{background:var(--lpanel);color:#0a66c2;font-weight:800;font-size:12px;padding:1px 6px;border-radius:2px}
/* --- scelta del metodo di accesso (email attiva, LinkedIn in standby) ---
   Stessa lingua del resto del prodotto (v0): card arrotondate, bottoni pill,
   niente mono. I riquadri dei metodi sono card cliccabili full-width. */
#stageHub .authpad .auth-methods{margin-top:22px;display:flex;flex-direction:column;gap:12px;
    max-width:680px;margin-left:auto;margin-right:auto}
#stageHub .authpad .auth-method{width:100%;display:flex;align-items:center;gap:14px;
    padding:14px 18px;cursor:pointer;text-align:left;border-radius:16px;
    background:color-mix(in srgb,var(--lpanel) 3%,transparent);border:1px solid var(--line);color:var(--white);
    transition:border-color .15s,background .15s}
#stageHub .authpad .auth-method:hover:not(.disabled){border-color:var(--line2);
    background:color-mix(in srgb,var(--lpanel) 6%,transparent)}
#stageHub .authpad .auth-method.disabled{opacity:.45;cursor:not-allowed}
#stageHub .authpad .am-ico{flex-shrink:0;width:34px;height:34px;display:flex;align-items:center;
    justify-content:center;font-size:15px;color:var(--soft);border-radius:10px;
    background:color-mix(in srgb,var(--lpanel) 5%,transparent);border:1px solid var(--line)}
#stageHub .authpad .am-ico.in{background:#0a66c2;border-color:#0a66c2;color:var(--lon-acc);
    font-weight:800;font-size:12px}
#stageHub .authpad .am-body{display:flex;flex-direction:column;gap:2px;font-size:13.5px;min-width:0}
#stageHub .authpad .am-hint{font-size:11.5px;color:var(--dim)}
#stageHub .authpad .am-soon{margin-left:auto;flex-shrink:0;font-size:10px;font-weight:600;
    text-transform:uppercase;letter-spacing:.08em;color:var(--dim);
    border:1px solid var(--line);border-radius:999px;padding:3px 10px}
/* passo 2: inserimento email, dentro lo stesso riquadro della card */
#stageHub .authpad .auth-email{margin-top:22px;display:flex;flex-direction:column;gap:12px;text-align:left;
    max-width:680px;margin-left:auto;margin-right:auto}
/* v0 impone al bottone primario margin:44px auto (schermata a un solo bottone):
   dentro il form email il ritmo è della colonna, quindi specificità maggiore. */
#stageHub #auth .authpad .auth-email .li-auth{margin:6px 0 0 !important;width:100% !important}
/* v0 centra le .ah con margin auto !important: nel form la label sta a sinistra */
#stageHub #auth .authpad .auth-email .ah{text-align:left;margin:0 !important;
    align-self:flex-start;font-size:12px;color:var(--dim)}
/* solo i campi di testo: le checkbox di consenso restano checkbox */
#stageHub .authpad .auth-email input:not([type="checkbox"]){width:100%;padding:13px 16px;border-radius:16px;
    background:color-mix(in srgb,var(--lpanel) 3%,transparent);border:1px solid var(--line);color:var(--white);font-size:13.5px}
#stageHub .authpad .auth-email input:not([type="checkbox"]):focus{outline:none;border-color:var(--line2)}
#stageHub .authpad .auth-email input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;padding:0;border-radius:4px}
#stageHub .authpad .auth-back{background:none;border:none;color:var(--faint);
    font-size:12px;cursor:pointer;padding:2px 0;align-self:flex-start;text-align:left}
#stageHub .authpad .auth-back:hover{color:var(--soft)}
#stageHub .authpad .auth-msg{font-size:12px;color:var(--soft);line-height:1.5;min-height:1em;text-align:left}
#stageHub .authpad .auth-email.hide,#stageHub .authpad .auth-methods.hide{display:none}
/* Il passo del codice condivide .auth-email, quindi eredita da qui impalcatura
   e regola di nascondimento. Il suo aspetto sta in login-v3.css, che carica per
   ultimo ed è il file che possiede il look di questa schermata. */
#stageHub .authpad .li-points{margin-top:18px;display:flex;flex-direction:column;gap:10px}
#stageHub .authpad .li-pt{font-family:var(--lsans);font-size:11px;color:var(--soft);line-height:1.4;display:flex;gap:9px;align-items:flex-start}
#stageHub .authpad .li-pt::before{content:'✓';color:var(--green);flex-shrink:0}
/* Fondo del wizard: la tinta del tema. Il vecchio gradiente scuro (--linvert)
   veniva dall'app scura e riemergeva sotto le regole chiare di login-v3. */
#stageHub #onb{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;overflow:hidden;
    background:var(--lbg)}
#stageHub #onb.on{display:flex;animation:fade .3s ease}
#stageHub #onb.gone{opacity:0;transition:opacity .4s ease;pointer-events:none}
#stageHub #onb::after{content:'';position:fixed;inset:-18%;pointer-events:none;opacity:.58;
    background:conic-gradient(from 130deg at 50% 50%,transparent 0deg,rgba(138,164,191,.14) 58deg,transparent 118deg,rgba(192,199,208,.08) 192deg,transparent 252deg,rgba(95,117,139,.12) 318deg,transparent 360deg);
    filter:blur(46px);animation:onbSweep 16s ease-in-out infinite alternate}

@keyframes onbSweep{from{transform:rotate(-8deg) scale(1)}to{transform:rotate(13deg) scale(1.08)}}
#stageHub .onbbox{position:relative;z-index:1;width:100%;max-width:560px;border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 70px rgba(0,0,0,.6)}
#stageHub .onbpad{padding:22px 24px 20px}
#stageHub .onb-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
#stageHub .onb-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
#stageHub .onb-eyebrow::before{content:'$ '}
#stageHub .onb-stepn{font-family:var(--mono);font-size:11px;color:var(--dim)}
#stageHub .onb-stepn span{color:var(--white)}
#stageHub .onb-bar{height:3px;background:var(--bg);border:1px solid var(--line2);margin-bottom:20px;overflow:hidden}
#stageHub .onb-bar i{display:block;height:100%;width:33%;background:var(--blue);transition:width .35s ease}
#stageHub .onb-step{display:none}
#stageHub .onb-step.on{display:block;animation:fade .25s ease}
#stageHub .onb-step h2{font-family:var(--lsans);font-size:18px;color:var(--white);font-weight:600;letter-spacing:-.01em}
#stageHub .onb-sub{font-family:var(--lsans);font-size:11px;color:var(--dim);margin-top:6px;margin-bottom:16px;line-height:1.45}
#stageHub .onb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#stageHub .ofield{margin-bottom:13px;display:flex;flex-direction:column}
#stageHub .ofield label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:7px;display:flex;gap:8px;align-items:baseline}
#stageHub .ofield label .omulti{color:var(--faint);letter-spacing:0;text-transform:none;font-size:10px}
#stageHub .ofield input{background:var(--bg);border:1px solid var(--line2);color:var(--white);font-family:var(--lsans);font-size:12.5px;padding:10px 12px;outline:none;transition:border-color .14s}
#stageHub .ofield input:focus{border-color:var(--blue-dim)}
#stageHub .ofield input::placeholder{color:var(--faint)}
#stageHub .ochips{display:flex;flex-wrap:wrap;gap:7px}
#stageHub .ochip{font-family:var(--lsans);font-size:11px;color:var(--soft);background:var(--bg);border:1px solid var(--line2);
    padding:7px 12px;cursor:pointer;transition:all .14s;user-select:none;display:flex;align-items:center;gap:6px}
#stageHub .ochip:hover{border-color:var(--blue-dim);color:var(--white)}
#stageHub .ochip.on{border-color:var(--blue);color:var(--white);background:rgba(142,156,255,.08)}
#stageHub .ochip.on::before{content:'✓';color:var(--blue);font-size:9px}
#stageHub .ochip .otag{font-size:8.5px;text-transform:uppercase;letter-spacing:.04em;
    color:var(--faint);border:1px solid var(--line2);border-radius:3px;padding:1px 4px}
#stageHub .osel{display:flex;flex-wrap:wrap;gap:7px}
#stageHub .osel .opt{font-family:var(--mono);font-size:11px;color:var(--soft);background:var(--bg);border:1px solid var(--line2);
    padding:7px 12px;cursor:pointer;transition:all .14s;user-select:none}
#stageHub .osel .opt:hover{border-color:var(--blue-dim);color:var(--white)}
#stageHub .osel .opt.on{border-color:var(--blue);color:var(--white);background:rgba(142,156,255,.08)}
#stageHub .onb-actions{display:flex;gap:10px;margin-top:20px;align-items:center}
#stageHub .onb-back{font-family:var(--lsans);font-size:11.5px;color:var(--dim);background:transparent;border:1px solid var(--line2);padding:11px 16px;cursor:pointer;transition:all .15s;visibility:hidden}
#stageHub .onb-back:hover{border-color:var(--soft);color:var(--soft)}
#stageHub .onb-next{flex:1;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;text-align:center;padding:12px;cursor:pointer;
    background:var(--blue);color:var(--link);border:1px solid var(--blue);font-weight:600;transition:background .15s}
#stageHub .onb-next:hover{background:var(--lacc2)}
#stageHub .onb-note{font-family:var(--lsans);font-size:9.5px;color:var(--faint);margin-top:13px;line-height:1.45}
#stageHub .mod .viz{height:150px;border-bottom:1px solid var(--line);background:rgba(6,9,14,.5);position:relative;overflow:hidden}
#stageHub .mod .viz svg{width:100%;height:100%;display:block}
#stageHub .authpad .foot a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
#stageHub .authpad .foot a:hover{color:var(--lon-acc)}
