*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:#000;color:#e6e8ee;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:13px;overflow:hidden;
background-image:radial-gradient(circle at 15% 0%,rgba(124,92,255,.10),transparent 40%),radial-gradient(circle at 90% 100%,rgba(0,220,200,.07),transparent 40%)}
.mono{font-family:"JetBrains Mono","Fira Code",Consolas,monospace}
button{font:inherit;color:inherit;cursor:pointer}
.card{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.top{height:60px;display:flex;align-items:center;gap:22px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.07)}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px}
.logo i{width:26px;height:26px;border-radius:8px;background:conic-gradient(#7c5cff,#00e0c6,#ffb020,#7c5cff);box-shadow:0 0 18px rgba(124,92,255,.6);animation:spin 8s linear infinite}
@keyframes spin{to{filter:hue-rotate(360deg)}}
.nav{display:flex;gap:2px;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.top{min-width:0;max-width:100vw}
.top .sp{flex:0 0 0}
.nav a{white-space:nowrap;flex:none;padding:7px 9px;border-radius:9px;color:#8a90a2;text-decoration:none;font-size:12.5px;font-weight:500;border:1px solid transparent}
.nav a:hover{color:#fff;background:rgba(255,255,255,.04)}
.nav a.on{color:#fff;background:rgba(124,92,255,.14);border-color:rgba(124,92,255,.45);box-shadow:0 0 16px rgba(124,92,255,.25)}
.sp{flex:1}
.quota{display:flex;gap:14px}.q{width:118px}.q .l{display:flex;justify-content:space-between;font-size:10.5px;color:#9aa0b2;margin-bottom:5px}
.bar{height:5px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}.bar span{display:block;height:100%;border-radius:9px;transition:width 1s ease}
.pill{padding:7px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.09);font-size:11.5px;color:#aab;white-space:nowrap}.pill b{color:#fff;font-size:14px;margin-left:6px}
.g{color:#3dffa8}.rd{color:#ff5c7a}.am{color:#ffc46b}.vi{color:#b9a4ff}.te{color:#5ff2dc}
#view{height:calc(100vh - 60px);padding:16px 20px;overflow:hidden}
h3{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:#7d8396;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
h1{font-size:22px;font-weight:700;letter-spacing:-.3px}
.sub{color:#7d8396;font-size:12.5px;margin-top:4px}
.tag{display:inline-block;font-size:10.5px;padding:1px 6px;border-radius:5px;background:rgba(255,255,255,.07);color:#cfd3df}
.btn{padding:8px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:12.5px;font-weight:600;transition:.2s}
.btn:hover{background:rgba(255,255,255,.09)}
.btn.pri{background:linear-gradient(135deg,#7c5cff,#00c6b0);border:0;color:#fff;box-shadow:0 0 18px rgba(124,92,255,.4)}
.btn.ok{border-color:rgba(61,255,168,.5);color:#3dffa8;background:rgba(61,255,168,.08)}
.btn.ko{border-color:rgba(255,80,110,.5);color:#ff7a90;background:rgba(255,80,110,.08)}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.pulse{width:8px;height:8px;border-radius:50%;position:relative;display:inline-block}
.pulse.on:after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:ping 1.6s ease-out infinite}
@keyframes ping{0%{transform:scale(1);opacity:.7}100%{transform:scale(3);opacity:0}}
.mb{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px}
.opus{color:#c9b6ff;background:rgba(150,110,255,.15);border:1px solid rgba(150,110,255,.5)}
.son{color:#ffc46b;background:rgba(255,166,0,.12);border:1px solid rgba(255,166,0,.45)}
.hai{color:#5ff2dc;background:rgba(0,220,200,.11);border:1px solid rgba(0,220,200,.45)}
/* panoramica */
.wrap{display:grid;grid-template-columns:330px 1fr;gap:16px;height:100%}
.left{display:flex;flex-direction:column;gap:16px;min-height:0}
.proj{padding:16px}
.p{padding:10px 12px;border-radius:10px;margin-bottom:5px;border:1px solid transparent;cursor:pointer}
.p:hover{background:rgba(255,255,255,.03)}
.p.act{background:rgba(124,92,255,.10);border-color:rgba(124,92,255,.45);box-shadow:0 0 22px rgba(124,92,255,.18)}
.p .r{display:flex;align-items:center;gap:9px;margin-bottom:7px}.p .n{font-weight:600;flex:1}.p .pc{font-size:11px;color:#9aa0b2}
.p small{display:block;color:#6f7588;font-size:11px;margin-top:5px}
.chat{flex:1;display:flex;flex-direction:column;padding:16px;min-height:0}
.msgs{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:9px;overflow:hidden}
.m{font-size:12.3px;line-height:1.42;animation:fadeup .5s ease}.m .w{font-size:11px;font-weight:700;margin-bottom:3px}.m .w span{color:#5f6577;font-weight:400;margin-left:6px}
.m .b{padding:8px 11px;border-radius:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.m.grok .b{background:rgba(124,92,255,.09);border-color:rgba(124,92,255,.3)}
.m.me{align-self:flex-end;max-width:85%}.m.me .b{background:rgba(0,224,198,.08);border-color:rgba(0,224,198,.28)}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.input{margin-top:12px;display:flex;gap:8px;align-items:center;padding:6px 6px 6px 12px;border-radius:10px;border:1px solid rgba(124,92,255,.35);background:rgba(0,0,0,.6)}
.input input{flex:1;background:none;border:0;outline:0;color:#fff;font:inherit}
.send{width:30px;height:30px;border-radius:8px;border:0;background:linear-gradient(135deg,#7c5cff,#00e0c6);color:#000;font-weight:900}
.main{display:grid;grid-template-rows:auto 1fr;gap:16px;min-height:0}
.agents{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.a{padding:13px;position:relative;overflow:hidden;cursor:pointer;transition:.2s}
.a:hover{transform:translateY(-2px);border-color:var(--c)}
.a:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--c);box-shadow:0 0 14px var(--c)}
.ah{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:14px;color:#000;background:var(--c);flex:none}
.an{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ar{font-size:11px;color:#7d8396}
.task{font-size:12px;color:#c5c9d6;line-height:1.4;height:34px;margin:9px 0;overflow:hidden}
.st{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;margin-bottom:9px}
.sk{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;height:42px;overflow:hidden;align-content:flex-start}
.sk span{font-size:10.5px;padding:2px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.1);color:#aeb3c2}
.tk{display:flex;justify-content:space-between;font-size:11px;color:#7d8396;margin-bottom:5px}.tk b{color:#e6e8ee}
.lower{display:grid;grid-template-columns:1fr 340px;gap:16px;min-height:0}
.code{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.ch{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.tab{font-size:12px;padding:6px 12px;border-radius:8px;color:#8a90a2}.tab.on{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.1)}
.pre{font-size:13px;line-height:22px;padding:8px 0;color:#f2f4f8;overflow:hidden;flex:1}
.ln{display:flex;white-space:pre;animation:fadein .25s}.ln .no{width:50px;text-align:right;padding-right:14px;color:#3e4352;flex:none}.ln .sg{width:18px;flex:none;color:#555}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.add{background:rgba(61,255,168,.07);box-shadow:inset 3px 0 #3dffa8}.add .sg{color:#3dffa8}
.del{background:rgba(255,80,110,.08);box-shadow:inset 3px 0 #ff5070}.del .sg{color:#ff5070}.del .tx{opacity:.75;text-decoration:line-through;text-decoration-color:rgba(255,80,110,.5)}
.k{color:#c792ea}.s{color:#c3e88d}.f{color:#82aaff}.t{color:#ffcb6b}.c{color:#5c6378;font-style:italic}.n{color:#f78c6c}.p2{color:#89ddff}
.cursor{display:inline-block;width:8px;height:15px;background:#7c5cff;vertical-align:-2px;animation:blink 1s steps(1) infinite;box-shadow:0 0 8px #7c5cff}
@keyframes blink{50%{opacity:0}}
.rv{margin:4px 18px 6px 68px;padding:8px 12px;border-radius:9px;font-family:Inter,system-ui,sans-serif;font-size:12px;display:flex;gap:10px;align-items:center;white-space:normal;animation:fadeup .4s}
.rv.ok{background:rgba(61,255,168,.07);border:1px solid rgba(61,255,168,.35)}
.rv.ko{background:rgba(255,80,110,.08);border:1px solid rgba(255,80,110,.4)}
.rv .who{font-weight:700}
.side{display:flex;flex-direction:column;gap:16px;min-height:0}
.box{padding:16px}
.feed{overflow:hidden}
.ev{display:flex;gap:10px;font-size:12px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.06);color:#c5c9d6;animation:fadeup .4s}.ev time{color:#5f6577;width:58px;flex:none}
.big{font-size:30px;font-weight:800;letter-spacing:-.5px}
.lbl{color:#7d8396;font-size:11px}
/* generic layouts */
.hdr{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}
.g2{display:grid;gap:16px;height:calc(100% - 62px)}
/* orchestratore */
#graph{width:100%;height:100%}
.node text{font-family:Inter,sans-serif}
.queue .qi{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.07);margin-bottom:7px;background:rgba(255,255,255,.02);cursor:grab;animation:fadeup .4s}
.queue .qi:hover{border-color:rgba(124,92,255,.5)}
.diff{width:52px;font-size:10px;font-weight:700;text-align:center;padding:3px 0;border-radius:5px}
.rule{display:grid;grid-template-columns:90px 1fr 90px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.07);font-size:12px}
.drop{outline:2px dashed #7c5cff}
/* cloni */
.clones{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cl{padding:14px;animation:spawn .7s cubic-bezier(.2,1.4,.4,1)}
@keyframes spawn{from{opacity:0;transform:scale(.6);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.cl.best{border-color:rgba(61,255,168,.6);box-shadow:0 0 26px rgba(61,255,168,.18)}
.cl.merged{opacity:.5}
.mini{font-size:11.5px;line-height:19px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.06);border-radius:9px;padding:8px 10px;height:150px;overflow:hidden;white-space:pre}
.metric{display:flex;justify-content:space-between;font-size:11.5px;padding:4px 0;color:#9aa0b2}.metric b{color:#fff}
/* skill */
.heat{display:grid;gap:3px}
.hc{height:34px;border-radius:5px;display:grid;place-items:center;font-size:10.5px;font-weight:600;cursor:pointer;transition:background 1s}
.hc:hover{outline:1px solid #fff}
.sl{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent}
.sl:hover,.sl.on{background:rgba(124,92,255,.1);border-color:rgba(124,92,255,.35)}
.ic{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:800;color:#000;flex:none}
/* lab */
.steps{display:flex;gap:8px;margin-bottom:14px}
.stp{flex:1;padding:9px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.08);font-size:12px;color:#7d8396}
.stp.on{border-color:rgba(124,92,255,.6);color:#fff;background:rgba(124,92,255,.1)}
.tpl{padding:14px;cursor:pointer;transition:.2s}
.tpl:hover,.tpl.on{border-color:rgba(124,92,255,.6);box-shadow:0 0 20px rgba(124,92,255,.2)}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.1);font-size:12px;margin:0 6px 6px 0;cursor:pointer;transition:.15s}
.chip.on{border-color:#00e0c6;background:rgba(0,224,198,.1);color:#5ff2dc}
.mdl{padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);cursor:pointer;flex:1}
.mdl.on{box-shadow:0 0 18px var(--c);border-color:var(--c)}
input.fld{width:100%;padding:10px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.5);color:#fff;font:inherit;outline:0}
/* detail */
.term{font-size:12px;line-height:20px;background:#020203;border-radius:10px;padding:10px 14px;overflow:hidden;flex:1;border:1px solid rgba(255,255,255,.06)}
.term div{white-space:pre;animation:fadein .3s}
/* review */
.ri{padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.07);margin-bottom:8px;cursor:pointer;transition:.2s}
.ri.on{border-color:rgba(124,92,255,.6);background:rgba(124,92,255,.08)}
.badge{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px}
.stamp{position:absolute;right:40px;top:90px;font-size:44px;font-weight:900;letter-spacing:4px;padding:6px 24px;border:4px solid;border-radius:12px;transform:rotate(-12deg);animation:stamp .5s cubic-bezier(.2,1.6,.4,1);pointer-events:none}
@keyframes stamp{from{transform:rotate(-12deg) scale(3);opacity:0}to{transform:rotate(-12deg) scale(1);opacity:.9}}
.toast{position:fixed;right:24px;bottom:24px;padding:12px 18px;border-radius:12px;background:rgba(20,20,30,.95);border:1px solid rgba(124,92,255,.5);box-shadow:0 0 30px rgba(124,92,255,.3);animation:fadeup .3s;z-index:9;font-size:13px}

/* ===== Mac status / bell / push ===== */
.mac-pill{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:12px;border:1px solid rgba(61,255,168,.35);background:rgba(61,255,168,.06);max-width:280px}
.mac-pill.off{border-color:rgba(255,80,110,.45);background:rgba(255,80,110,.08)}
.mac-pill .pulse{background:#3dffa8;box-shadow:0 0 8px #3dffa8}
.mac-pill.off .pulse{background:#ff5c7a;box-shadow:0 0 8px #ff5c7a}
.mac-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.mac-txt b{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mac-txt span{font-size:10.5px;color:#7d8396;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bell{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);display:grid;place-items:center;flex:none}
.badge-n{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ff5c7a;color:#fff;font-size:10px;font-weight:800;display:none;align-items:center;justify-content:center;font-style:normal}
.badge-n.on{display:flex}
.push-stack{position:fixed;top:72px;right:16px;z-index:40;display:flex;flex-direction:column;gap:10px;width:min(340px, calc(100vw - 24px));pointer-events:none}
.push{pointer-events:auto;padding:12px 14px;border-radius:14px;background:rgba(12,12,20,.96);border:1px solid rgba(124,92,255,.45);box-shadow:0 12px 40px rgba(0,0,0,.55),0 0 24px rgba(124,92,255,.2);animation:pushin .45s cubic-bezier(.2,1.2,.4,1);display:flex;gap:12px;align-items:flex-start}
@keyframes pushin{from{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:none}}
.push .pi{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;color:#000;flex:none}
.push .pt{font-size:12.5px;font-weight:700;margin-bottom:2px}
.push .pb{font-size:12px;color:#aeb3c2;line-height:1.35}
.push .px{margin-left:auto;border:0;background:none;color:#6f7588;font-size:16px;padding:0 4px}

/* ===== Bottom tab bar (mobile) ===== */
.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(64px + env(safe-area-inset-bottom,0px));padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.92);border-top:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);grid-template-columns:repeat(5,1fr);gap:2px}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#7d8396;font-size:10px;font-weight:600;border-radius:12px;padding:6px 2px}
.tabbar a .ti{font-size:18px;line-height:1}
.tabbar a.on{color:#fff;background:rgba(124,92,255,.16)}

/* mobile agent list (compact, no horizontal scroll) */
.agent-swipe{display:none}
.swipe-dots{display:none!important}

/* touch review buttons */
.touch-actions{display:none;gap:12px;padding:12px 0 4px}
.touch-actions .btn{flex:1;padding:16px 12px;font-size:15px;border-radius:14px;min-height:52px}

/* chat full screen */
.chat-full{display:flex;flex-direction:column;height:100%;min-height:0}
.chat-full .msgs{overflow:auto;justify-content:flex-start;padding:4px 2px 12px}
.chat-full .m{max-width:92%}
.chat-quick{display:flex;gap:8px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none}
.chat-quick button{flex:none;padding:8px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);font-size:12px;color:#c5c9d6}

/* altro menu */
.altro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.altro-grid a{padding:18px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);text-decoration:none;color:#e6e8ee;display:flex;flex-direction:column;gap:6px}
.altro-grid a span{font-size:12px;color:#7d8396}
.altro-grid a b{font-size:15px}

.orch-compact{display:none}
.mac-banner{display:none}

/* ===== Laptop ~1440 ===== */
@media (max-width:1500px){
  .top{gap:12px;padding:0 14px}
  .nav a{padding:7px 9px;font-size:11.5px}
  .q{width:100px}
  .hide-laptop-sm{display:none!important}
  .agents{grid-template-columns:repeat(3,1fr)}
  .wrap{grid-template-columns:280px 1fr}
  .lower{grid-template-columns:1fr 280px}
  .clones{grid-template-columns:repeat(2,1fr)}
  #view{padding:12px 14px}
}

/* ===== Tablet / small laptop ===== */
@media (max-width:1100px){
  .desktop-only{display:none!important}
  .mac-pill{max-width:220px}
  .wrap{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .left{display:none}
  .agents{grid-template-columns:repeat(3,1fr)}
  .lower{grid-template-columns:1fr}
  .side{display:none}
  .g2{grid-template-columns:1fr!important}
}

/* ===== Phone ~390 ===== */
@media (max-width:720px){
  body{overflow:auto;font-size:14px;-webkit-tap-highlight-color:transparent}
  .top{height:auto;min-height:56px;flex-wrap:wrap;padding:10px 12px 8px;gap:8px;position:sticky;top:0;z-index:20;background:rgba(0,0,0,.92);backdrop-filter:blur(12px)}
  .logo{font-size:14px}
  .logo i{width:22px;height:22px}
  .desktop-nav{display:none!important}
  .desktop-only{display:none!important}
  .sp{display:none}
  .mac-pill{order:3;flex:1 1 100%;max-width:none;padding:8px 10px}
  .bell{margin-left:auto}
  .tabbar{display:grid}
  #view{height:auto;min-height:calc(100dvh - 56px - 64px - env(safe-area-inset-bottom,0px));padding:12px 12px calc(80px + env(safe-area-inset-bottom,0px));overflow:auto}
  .push-stack{top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));right:10px;left:10px;width:auto}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px));right:12px;left:12px}

  .wrap{display:flex;flex-direction:column;gap:12px;height:auto}
  .left{display:none}
  .main{display:flex;flex-direction:column;gap:12px}
  .agents{display:none}
  .agent-swipe{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:4px 0 8px;width:100%;max-width:100%}
  .agent-swipe .a{min-width:0;width:auto;max-width:100%;flex:none;scroll-snap-align:unset}
  .lower{display:flex;flex-direction:column;gap:12px}
  .side{display:flex}
  .code .pre{font-size:11.5px;line-height:18px;max-height:280px;overflow:auto}
  .ln .no{width:36px;padding-right:8px}
  .rv{margin:4px 10px 6px 44px;font-size:11.5px}
  .ch{flex-wrap:wrap;gap:6px;padding:10px}
  .tab{font-size:11px;padding:5px 8px}

  .hdr{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:12px}
  .hdr > div:last-child{width:100%;display:flex;flex-wrap:wrap;gap:8px}
  h1{font-size:20px}
  .g2{height:auto!important;grid-template-columns:1fr!important;grid-template-rows:none!important}
  .clones{grid-template-columns:1fr}
  .steps{flex-wrap:wrap}
  .stp{flex:1 1 40%;font-size:11px;padding:8px}
  .tpl{padding:12px}
  .card.box,.card.proj,.card.chat{padding:12px}

  /* compact orchestrator on phone */
  #graph{max-height:280px}
  .orch-compact{display:block;margin-bottom:12px}
  .orch-list .ol{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);margin-bottom:8px}
  .touch-actions{display:flex}
  .stamp{font-size:28px;right:16px;top:70px;padding:4px 14px}

  .mac-banner-m{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;margin-bottom:12px;border:1px solid rgba(61,255,168,.3);background:rgba(61,255,168,.07)}
  .mac-banner-m.off{border-color:rgba(255,80,110,.4);background:rgba(255,80,110,.08)}

  /* panoramica mobile: show mini projects strip (contained) */
  .m-proj{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;width:100%;max-width:100%;-webkit-overflow-scrolling:touch}
  .m-proj .p{min-width:160px;max-width:70vw;flex:none;margin:0}
  .m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px;width:100%}
  .m-stats .card{padding:10px;text-align:center;min-width:0}
  .m-stats .big{font-size:20px}

  /* no page-level horizontal scroll */
  html,body{overflow-x:hidden;max-width:100vw}
  #view,.wrap,.main,.screen,.card{max-width:100%;box-sizing:border-box}
  .chat-quick{max-width:100%}
  .ch{max-width:100%}
  .mp-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .mp-rail{max-width:42%;overflow:hidden}
  .trend{gap:8px;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .tw-b{width:14px}
  .split-row{min-width:0}
  .sav-table{overflow-x:hidden;width:100%}
  .banner,.pagehead{max-width:100%}
  .kpi-v{font-size:22px;word-break:break-word}
  .hdr h1,h1{overflow-wrap:anywhere}

  .chat-full .msgs{max-height:none;flex:1}
  .input{padding:8px 8px 8px 12px}
  .input input{font-size:16px} /* avoid iOS zoom */
  .send{width:36px;height:36px}

  .term{max-height:220px;overflow:auto;font-size:11px}
}

@media (min-width:721px){
  .m-proj,.m-stats,.orch-compact,.mac-banner-m{display:none!important}
}
@media (max-width:720px){
  .desktop-rev-btns{display:none!important}
  .g2 .card.code{order:2}
}
@media (min-width:721px){
  .touch-actions{display:none!important}
}


/* ===== New: providers, costs, multiplayer, risparmio ===== */
.prov{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 6px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.04em;color:#0a0a0f;background:var(--pc,#d4a574);flex:none}
.prov-l{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;border:1px solid;font-size:10px;font-weight:700;letter-spacing:.02em}
.badgerow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0 8px}
.doing{font-size:12.5px;line-height:1.45;color:#e8eaf2;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px 10px;margin:6px 0 8px}
.doing-l{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6f7588;margin-right:6px;vertical-align:1px}
.sk-label{font-size:10px;color:#6f7588;margin:6px 0 4px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.sk-label .ex,.ex{font-weight:500;text-transform:none;letter-spacing:0;opacity:.7}
.sk span.sk-on{background:rgba(61,255,168,.14);border-color:rgba(61,255,168,.45);color:#3dffa8;box-shadow:0 0 12px rgba(61,255,168,.15)}
.costbox{margin-top:8px;display:flex;flex-direction:column;gap:3px;font-size:11.5px}
.costbox.big{gap:6px;font-size:13px}
.cost-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.cost-row span{color:#8b91a3}
.cost-row.dim{opacity:.7;font-size:11px}
.cost-row.save b{color:#3dffa8}
.cost-row b{font-variant-numeric:tabular-nums;font-weight:700;color:#e8eaf2}

/* multiplayer code */
.mp-code{position:relative;overflow:auto}
.mp-code .ln{position:relative;display:grid;grid-template-columns:36px 14px 1fr auto;gap:0 6px;align-items:start;padding:1px 8px 1px 0;min-height:18px}
.mp-code .ln.sel{background:color-mix(in srgb, var(--sel,#7c5cff) 14%, transparent)}
.mp-code .ln.sel .tx{box-shadow:inset 3px 0 0 var(--sel)}
.mp-cursor{display:inline-block;width:2px;height:1.1em;background:var(--tc,#7c5cff);margin-left:1px;vertical-align:-2px;animation:blink 1s steps(2) infinite;box-shadow:0 0 6px var(--tc)}
@keyframes blink{50%{opacity:0}}
.mp-rail{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding-left:6px;min-width:0}
.mp-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px 1px 5px;border-radius:4px 4px 4px 0;background:var(--tc,#7c5cff);color:#0a0a0f;font-size:10px;font-weight:800;font-family:inherit;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.35);transform:translateY(-2px)}
.mp-tag em{font-style:normal;opacity:.7;font-weight:700;font-size:9px}
.mp-tag .mp-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--tc);position:absolute;left:4px;bottom:-4px;filter:brightness(.85)}
.mp-tag{position:relative}
.mp-flag{display:block;max-width:220px;padding:3px 7px;border-radius:6px;border:1px solid color-mix(in srgb, var(--tc) 50%, transparent);background:rgba(10,10,16,.92);color:#c5c9d6;font-size:10px;line-height:1.3;margin-top:2px}

/* provider picker */
.prov-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.prov-card{display:flex;gap:10px;align-items:center;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);cursor:pointer;transition:.15s}
.prov-card:hover{border-color:color-mix(in srgb, var(--pc) 40%, transparent)}
.prov-card.on{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 12%, transparent);box-shadow:0 0 20px color-mix(in srgb, var(--pc) 18%, transparent)}

/* Risparmio */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi{padding:14px 16px}
.kpi-l{font-size:11px;color:#8b91a3;margin-bottom:6px}
.kpi-v{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.kpi-v.g,.g{color:#3dffa8}
.kpi-s{font-size:11px;color:#6f7588;margin-top:6px}
.kpi-vs{font-size:13px;color:#ff7a90;font-weight:600;margin-left:4px}
.quota-bars{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.qb{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.06);overflow:visible}
.qb span{display:block;height:100%;border-radius:99px}
.qb em{position:absolute;right:0;top:10px;font-size:9px;color:#6f7588;font-style:normal}
.split-chart{display:flex;flex-direction:column;gap:14px;margin-top:8px}
.split-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center}
.split-bars{display:flex;flex-direction:column;gap:4px}
.sb{position:relative;height:18px;background:rgba(255,255,255,.04);border-radius:6px;overflow:hidden}
.sb i{display:block;height:100%;border-radius:6px}
.sb em{position:absolute;left:8px;top:2px;font-size:10px;font-style:normal;color:#e8eaf2;font-weight:600;mix-blend-mode:difference}
.sb.dim{opacity:.55}
.save-pill{margin-top:14px;padding:8px 12px;border-radius:10px;background:rgba(61,255,168,.08);border:1px solid rgba(61,255,168,.25);color:#3dffa8;font-size:12.5px;font-weight:700}
.trend{display:flex;gap:18px;align-items:flex-end;height:160px;padding:10px 4px 0;margin-top:8px}
.tw{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.tw-bars{flex:1;display:flex;align-items:flex-end;gap:4px;width:100%;justify-content:center}
.tw-b{width:18px;border-radius:6px 6px 2px 2px;min-height:4px}
.tw-b.base{background:rgba(255,92,122,.45)}
.tw-b.used{background:linear-gradient(180deg,#3dffa8,#00e0c6)}
.tw-l{font-size:11px;color:#8b91a3}
.tw-e{font-size:11px;font-weight:700}
.legend{display:flex;gap:14px;align-items:center;font-size:11px;color:#8b91a3;margin-top:10px}
.legend .lg{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.legend .lg.used{background:#3dffa8}
.legend .lg.base{background:rgba(255,92,122,.55)}
.sav-table{margin-top:8px;display:flex;flex-direction:column;gap:2px}
.st-h,.st-r{display:grid;grid-template-columns:1.2fr .7fr 1.2fr 1.2fr 1.3fr;gap:8px;padding:8px 6px;font-size:12px;align-items:center}
.st-h{color:#6f7588;font-size:10px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.06)}
.st-r{border-radius:8px}
.st-r:hover{background:rgba(255,255,255,.03)}
.st-r .dim{color:#8b91a3}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}
.why{padding:12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:6px}
.why b{font-size:13px;color:#fff}
.why span{font-size:12px;color:#9aa0b2;line-height:1.45}

@media (max-width:720px){
  .kpi-row{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .prov-grid{grid-template-columns:1fr}
  .st-h{display:none}
  .st-r{grid-template-columns:1fr 1fr;gap:4px 8px}
  .st-r span:nth-child(3),.st-r span:nth-child(4){font-size:11px}
  .mp-flag{display:none}
  .mp-code .ln{grid-template-columns:28px 10px 1fr auto}
  .split-row{grid-template-columns:70px 1fr}
}
@media (max-width:900px) and (min-width:721px){
  .kpi-row{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
}


/* layout helpers used by Risparmio + Agente detail */
.screen{padding:0 0 24px}
.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.pagehead h1{font-size:26px;margin:0;letter-spacing:-.02em}
.eyebrow{font-size:11px;color:#6f7588;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:4px}
.banner{padding:10px 14px;border-radius:12px;background:rgba(124,92,255,.08);border:1px solid rgba(124,92,255,.22);color:#c5c9d6;font-size:12.5px;line-height:1.45;margin-bottom:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ctitle{font-size:13px;font-weight:700;margin-bottom:10px;color:#e8eaf2}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.06);font-size:13px}
.kv span{color:#8b91a3}
.kv b{font-weight:600;text-align:right;color:#e8eaf2}
.back{width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:16px;cursor:pointer;flex:none}
.back:hover{background:rgba(255,255,255,.09)}
.card.a{padding:12px;display:flex;flex-direction:column;gap:0;min-height:0}
.card.a .ah{margin-bottom:2px}
.card.a .bar{margin-top:8px}
.agents{align-items:stretch}
.agents .card.a{min-height:0}
@media (max-width:720px){
  .grid-2{grid-template-columns:1fr}
  .pagehead h1{font-size:22px}
}

.card.code .pre, .mp-code{min-height:280px;max-height:360px}
.card.code{min-height:320px}
@media (max-width:720px){
  .card.code .pre, .mp-code{min-height:200px;max-height:260px}
}


/* ===== Compact mobile agent cards ===== */
.card.a.compact{padding:10px;gap:6px;min-width:0;overflow:hidden}
.card.a.compact .c-ah{display:flex;align-items:center;gap:6px;margin:0;min-width:0}
.card.a.compact .av.sm{width:22px;height:22px;font-size:11px;border-radius:7px;flex:none}
.card.a.compact .an{font-size:13px;font-weight:700;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.card.a.compact .mb{font-size:9px;padding:2px 6px;flex:none;white-space:nowrap}
.card.a.compact .prov{min-width:22px;height:18px;font-size:8px;padding:0 4px;flex:none}
.card.a.compact .st-dot{width:8px;height:8px;border-radius:50%;flex:none;margin-left:auto}
.card.a.compact .doing.trunc{margin:0;padding:6px 8px;font-size:11.5px;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  white-space:normal;cursor:pointer}
.card.a.compact .doing.trunc.open{display:block;-webkit-line-clamp:unset;white-space:normal}
.card.a.compact .cost-compact{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;font-size:11px;min-width:0}
.card.a.compact .cost-compact b{font-variant-numeric:tabular-nums;font-weight:700;color:#e8eaf2;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card.a.compact .cost-compact .g{font-size:10.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card.a.compact .c-sk{display:flex;flex-wrap:wrap;gap:4px;margin:0;min-width:0;height:auto;overflow:visible}
.card.a.compact .c-sk span{font-size:9.5px;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:#b8bdcc;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card.a.compact .c-sk .sk-more{border-style:dashed;color:#8b91a3}
.card.a.compact .badgerow,.card.a.compact .sk-label,.card.a.compact .costbox,.card.a.compact .bar,.card.a.compact .st,.card.a.compact .ar{display:none}

@media (max-width:360px){
  .agent-swipe{grid-template-columns:1fr}
}

@media (max-width:720px){
  .grid-2 > *, .card, .mp-code, .pre, .code{min-width:0;max-width:100%}
  .mp-code, .pre{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mp-code .ln{grid-template-columns:28px 8px minmax(0,1fr) minmax(0,auto)}
  .mp-rail{max-width:38vw}
  .screen .sk{height:auto;max-height:none;overflow:visible}
  .chat-quick{width:100%;max-width:100%}
  .pagehead{min-width:0}
  .pagehead > div{min-width:0;flex:1}
  .pagehead h1{font-size:20px;overflow-wrap:anywhere}
}


/* ===== Multiplayer editor v5 (Dark+) ===== */
.mpx{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:0;background:#1e1e1e;border:1px solid #2b2b2b;border-radius:10px;overflow:hidden;min-height:300px;max-height:380px;max-width:100%}
.mpx-ed{position:relative;overflow:auto;padding:4px 0 24px;font-family:Menlo,Consolas,"JetBrains Mono",monospace;font-size:12.5px;color:#d4d4d4;min-width:0}
.mpx-lines{position:relative;min-width:max-content}
.mpx-probe{font:inherit;visibility:hidden;position:absolute}
.mpx-ln{display:grid;grid-template-columns:42px auto;height:20px;line-height:20px;white-space:pre;overflow:hidden;transition:height .35s ease-in-out,opacity .3s}
.mpx-no{color:#858585;text-align:right;padding-right:12px;user-select:none}
.mpx-tx{padding-left:0}
.mpx-typed{border-radius:2px;padding:1px 0}
.mpx-new{animation:mpxIn .35s ease-in-out}
@keyframes mpxIn{from{height:0;opacity:0}to{height:20px;opacity:1}}
.mpx-out{height:0!important;opacity:0}
.mpx-curs{position:absolute;left:0;top:0;pointer-events:none}
.mpx-c{position:absolute;left:0;top:0;transition-property:transform;transition-timing-function:cubic-bezier(.45,0,.55,1);will-change:transform;z-index:3}
.mpx-c svg{display:block;margin:2px 0 0 -2px}
.mpx-tag{position:absolute;left:12px;top:18px;padding:2px 7px;border-radius:5px;color:#fff;font:600 12px/1.3 -apple-system,"Segoe UI",Inter,sans-serif;white-space:nowrap}
.mpx-c.focus{z-index:4}
.mpx-side{border-left:1px solid #2b2b2b;background:#181818;padding:10px;overflow:auto;font-family:-apple-system,"Segoe UI",Inter,sans-serif}
.mpx-sh{font-size:11px;font-weight:700;color:#bbb;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.mpx-it{display:grid;grid-template-columns:8px 10px 1fr;grid-template-rows:auto auto;gap:1px 6px;align-items:center;padding:6px 0;border-bottom:1px solid #242424;font-size:12px;color:#ddd}
.mpx-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;grid-row:1}
.mpx-sw{width:10px;height:10px;border-radius:3px}
.mpx-ln-l{grid-column:3;color:#8a8a8a;font-size:11px}
@media (max-width:720px){
  .mpx{grid-template-columns:1fr;max-height:none;min-height:0}
  .mpx-ed{height:260px;font-size:11px}
  .mpx-ln{grid-template-columns:30px auto;height:17px;line-height:17px}
  .mpx-no{padding-right:6px}
  @keyframes mpxIn{from{height:0;opacity:0}to{height:17px;opacity:1}}
  .mpx-tag{font-size:10px;top:15px;left:10px;padding:1px 5px}
  .mpx-c svg{width:12px;height:15px}
  .mpx-side{border-left:0;border-top:1px solid #2b2b2b;padding:8px}
  .mpx-list{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
  .mpx-sh{grid-column:1/-1}
  .mpx-it{font-size:11px}
}

/* ===== v6 ===== */
.mpx{position:relative}
.mpx-warn{position:absolute;left:8px;top:8px;z-index:6;max-width:calc(100% - 16px);display:none;flex-wrap:wrap;gap:6px;align-items:center;padding:7px 10px;border-radius:8px;background:rgba(40,22,4,.95);border:1px solid #f5a524;color:#ffd79a;font:12px/1.35 -apple-system,"Segoe UI",Inter,sans-serif}
.mpx-warn.on{display:flex;animation:mpxIn .3s ease-in-out}
.mpx-warn span{display:flex;gap:4px}
.mpx-warn button{font:600 11px inherit;padding:2px 7px;border-radius:5px;border:1px solid rgba(245,165,36,.5);background:rgba(245,165,36,.12);color:#ffd79a}
.mpx-c.near svg path{stroke:#f5a524;stroke-width:2}
.x-nb{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ff5c7a;color:#fff;font-size:10px;margin-left:4px}
.tabbar a{position:relative}.tabbar .x-nb{position:absolute;top:2px;right:6px}
.x-badges{display:flex;gap:6px;flex-wrap:wrap}
.x-bdg{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;border:1px solid rgba(255,255,255,.14);color:#c5c9d6;white-space:nowrap}
.x-bdg.g{border-color:rgba(61,255,168,.4);color:#3dffa8}.x-bdg.w,.w{color:#ffb020}.x-bdg.w{border-color:rgba(255,176,32,.4);white-space:normal}.x-bdg.o,.o{color:#ff8a3d}.x-bdg.o{border-color:rgba(255,138,61,.4)}
.x-sec{margin-top:16px}
.x-n{background:#ff5c7a;color:#fff;border-radius:8px;padding:0 6px;font-size:10px}
.x-ap{padding:12px;margin-bottom:10px;border-left:3px solid var(--c)}
.x-ap-h{font-size:13px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.x-dotc{width:8px;height:8px;border-radius:50%;background:var(--c);display:inline-block}
.x-ap-d{font-size:11px;color:#9aa0b2;margin:6px 0 8px;overflow-wrap:anywhere}
.x-ap-b{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.x-ap-st{font-size:12px;font-weight:600}.x-ap-st.approvata{color:#3dffa8}.x-ap-st.rifiutata{color:#ff7a90}
.x-risk{font-size:10px;padding:1px 6px;border-radius:5px;text-transform:uppercase;font-weight:700}
.x-risk.alto{background:rgba(255,80,110,.15);color:#ff7a90}.x-risk.medio{background:rgba(255,176,32,.15);color:#ffb020}.x-risk.basso{background:rgba(61,255,168,.12);color:#3dffa8}
.x-perm{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.x-seg{display:flex;border:1px solid rgba(255,255,255,.12);border-radius:7px;overflow:hidden;flex:none}
.x-seg button{font-size:11px;padding:3px 8px;color:#8b91a3}.x-seg button.on{background:rgba(124,92,255,.25);color:#fff}
.x-ctx{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.x-ctxc{border:1px solid rgba(255,255,255,.08);border-top:2px solid var(--c);border-radius:10px;padding:10px;font-size:12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.x-ctxc .mono{font-size:11px;color:#9aa0b2;overflow-wrap:anywhere}
.x-ctxc summary{cursor:pointer;color:#c5c9d6;font-size:11.5px;margin-top:4px}
.x-ctxc ul{list-style:none;padding:6px 0 0;margin:0;font-size:11px;color:#9aa0b2}
.x-ctxc li{display:flex;gap:6px;align-items:center;padding:2px 0;flex-wrap:wrap}.x-ctxc li i{width:7px;height:7px;border-radius:50%}
.x-colw{padding:10px 12px;border-radius:10px;background:rgba(245,165,36,.08);border:1px solid rgba(245,165,36,.35);font-size:12.5px;color:#ffd79a}
.x-ovr{display:flex;gap:6px;margin:8px 0}
.x-ovr input{flex:1;min-width:0;background:#0d0d12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;color:#fff;font-size:12.5px}
.x-chart{width:100%;height:auto;display:block}
.x-mem{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.x-mem .mono{font-size:11px;overflow-wrap:anywhere}.x-mem i{color:#7d8396;font-style:normal}
.x-tm{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.x-prompt{margin-top:6px;padding:7px 10px;border-radius:8px;background:#0d0d12;border:1px solid color-mix(in srgb,var(--c) 40%,transparent);font-size:11.5px;min-height:30px;color:#d4d4d4;overflow-wrap:anywhere}
.x-prompt:after{content:"";display:inline-block;width:2px;height:12px;background:var(--c);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(2) infinite}
.x-msg{font-size:12.5px;padding:5px 0}
.x-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.x-node{display:flex;flex-direction:column;gap:8px;min-width:0}.x-node.off{opacity:.55;border-color:rgba(255,80,110,.4)}
.x-node-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px}
.x-st{width:9px;height:9px;border-radius:50%;background:#ff5c7a}.x-st.on{background:#3dffa8;box-shadow:0 0 8px #3dffa8}
.x-acc{padding:8px 0;border-top:1px solid rgba(255,255,255,.06);font-size:12.5px}
.x-q{font-size:11px;color:#9aa0b2;margin-top:4px}
.x-bar{height:5px;border-radius:3px;background:rgba(255,255,255,.07);margin-top:4px;overflow:hidden}.x-bar i{display:block;height:100%;background:linear-gradient(90deg,#7c5cff,#00c6b0)}
.x-tog{margin-top:auto}
.x-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.x-sl{display:flex;gap:10px;align-items:center;font-size:12px;margin-bottom:8px}.x-sl input{flex:1;min-width:0;accent-color:#7c5cff}
.x-split{height:10px;border-radius:5px;background:#ff8a3d;overflow:hidden}.x-split i{display:block;height:100%;background:#7c5cff}
.x-legend{display:flex;justify-content:space-between;font-size:11.5px;margin-top:6px;color:#b9a8ff}
@media (max-width:1100px){.x-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .tabbar{grid-template-columns:repeat(7,1fr)!important}
  .tabbar a{font-size:9px}
  .grid-2{grid-template-columns:minmax(0,1fr)}
  .x-nodes{grid-template-columns:minmax(0,1fr)}
  .x-mem{grid-template-columns:minmax(0,1fr)}
  .x-task{grid-template-columns:minmax(0,1fr) auto}.x-task .lbl{grid-column:1/-1;grid-row:2}
  .pagehead{flex-wrap:wrap}
  .x-perm{font-size:12px}
  .mpx-warn{font-size:10.5px}
}
@media (max-width:1560px){.top .quota{display:none!important}.top{gap:12px}}

/* ===== v7 Lavagna ===== */
.lav{position:relative;padding:18px 22px 24px;min-height:calc(100vh - 60px);overflow:hidden;background:radial-gradient(1200px 500px at 20% -10%,rgba(124,92,255,.16),transparent 60%),radial-gradient(900px 500px at 100% 110%,rgba(0,224,198,.12),transparent 60%),#050507}
.lav.fs{position:fixed;inset:0;z-index:100;min-height:100vh;padding:16px}
body.lav-fsb{overflow:hidden}
.lav-glow{position:absolute;inset:-20%;pointer-events:none;background:conic-gradient(from 0deg,rgba(124,92,255,.07),rgba(0,224,198,.06),rgba(239,68,102,.06),rgba(124,92,255,.07));filter:blur(80px);animation:lavSpin 24s linear infinite}
@keyframes lavSpin{to{transform:rotate(360deg)}}
.lav>*{position:relative}
.lav-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.lav-h{font-size:30px;margin:0;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,#b9a8ff 50%,#5ff2dc);-webkit-background-clip:text;background-clip:text;color:transparent}
.lav-ctl{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lav-live{display:inline-flex;gap:6px;align-items:center;font:800 11px/1 Inter,sans-serif;letter-spacing:.12em;color:#ff5c7a}
.lav-live i{width:8px;height:8px;border-radius:50%;background:#ff5c7a;box-shadow:0 0 10px #ff5c7a;animation:blink 1s steps(2) infinite}
.lav-ticker{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(0,0,0,.5);margin-bottom:12px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.lav-tk{display:flex;gap:26px;padding:8px 14px;white-space:nowrap;width:max-content;animation:lavTk 22s linear infinite;font-size:12.5px;color:#c5c9d6}
.lav-tk span{display:inline-flex;gap:6px;align-items:center}.lav-tk i{width:8px;height:8px;border-radius:50%}
@keyframes lavTk{from{transform:translateX(0)}to{transform:translateX(-30%)}}
.lav-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.lav-pane{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:#1e1e1e;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(124,92,255,.08),0 0 60px rgba(124,92,255,.12);min-width:0}
.lav-tab{display:flex;gap:8px;align-items:center;padding:9px 12px;background:#181818;border-bottom:1px solid #2b2b2b;font-size:12.5px;min-width:0}
.lav-tab b{color:#e6e6e6;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lav-tab .lbl{margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dotr,.doty,.dotg{width:10px;height:10px;border-radius:50%;flex:none}.dotr{background:#ff5f57}.doty{background:#febc2e}.dotg{background:#28c840}
.lav-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px}
.lav .mpx{border:0;border-radius:0;max-height:none;min-height:0;height:calc(100vh - 230px);min-height:460px;grid-template-columns:minmax(0,1fr) 170px}
.lav.fs .mpx{height:calc(100vh - 150px)}
.lav .mpx-ed{font-size:15px}
.lav .mpx-ln{height:25px;line-height:25px;grid-template-columns:52px auto}
.lav .mpx-new{animation:lavIn .35s ease-in-out}
@keyframes lavIn{from{height:0;opacity:0}to{height:25px;opacity:1}}
.lav .mpx-tag{font-size:12.5px;top:20px}
.lav .mpx-c svg{width:19px;height:24px}
.lav-mini{background:#1a1a1a;border-left:1px solid #2b2b2b;padding:8px 6px;display:flex;flex-direction:column;gap:2px;overflow:hidden}
.lav-mini i{display:block;height:3px;border-radius:2px;background:rgba(212,212,212,.22);min-width:2px;transition:width .3s}
.lav-stamp{position:absolute;right:14px;z-index:5;padding:3px 10px;border-radius:6px;border:2px solid #3dffa8;color:#3dffa8;background:rgba(5,30,20,.85);font:700 11.5px/1.4 Inter,sans-serif;transform:rotate(-4deg);animation:stampIn .35s cubic-bezier(.2,1.6,.4,1);transition:opacity .5s}
.lav-stamp.w{border-color:#ffb020;color:#ffb020;background:rgba(40,25,0,.85)}
.lav-stamp b{text-transform:uppercase;letter-spacing:.06em;margin-right:4px}
.lav-stamp.out{opacity:0}
@keyframes stampIn{from{transform:scale(1.8) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(-4deg);opacity:1}}
@media (max-width:1100px){.lav-split{grid-template-columns:minmax(0,1fr)}.lav .mpx{height:440px}}
@media (max-width:720px){
  .lav{padding:12px 10px 20px;min-height:0}
  .lav-h{font-size:21px}
  .lav .mpx{grid-template-columns:minmax(0,1fr);height:auto}
  .lav .mpx-ed{height:330px;font-size:12px}
  .lav .mpx-ln{height:18px;line-height:18px;grid-template-columns:32px auto}
  @keyframes lavIn{from{height:0;opacity:0}to{height:18px;opacity:1}}
  .lav .mpx-tag{font-size:10px;top:15px}
  .lav .mpx-c svg{width:12px;height:15px}
  .lav-body{grid-template-columns:minmax(0,1fr) 22px}
  .lav-mini{padding:6px 3px}.lav-mini i{height:2px}
  .lav-tab .lbl{display:none}
  .lav-stamp{font-size:10px;right:6px}
}
.tabbar{grid-template-columns:repeat(6,1fr)!important}

/* ===== v7 Crea agente ===== */
.crea{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:16px}
.crea-in{width:100%;background:#0d0d12;border:1px solid rgba(255,255,255,.12);border-radius:9px;padding:10px 12px;color:#fff;font-size:13.5px}
.crea-cat{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.crea-g .lbl{margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}
.crea-g .chip .lbl{font-size:9.5px;margin:0;text-transform:none;letter-spacing:0}
.crea-m{display:flex;flex-wrap:wrap}
.crea-sug{margin-top:12px;padding:12px;border-radius:10px;border:1px solid rgba(61,255,168,.35);background:rgba(61,255,168,.06);font-size:12.5px;line-height:1.5;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.crea-card{display:flex;gap:10px;align-items:center}
@media (max-width:720px){.crea{grid-template-columns:minmax(0,1fr)}}

/* ===== v7 Grafica ===== */
.g-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.g-bar select{background:#0d0d12;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:8px 10px;font-size:13px}
.g-view button{padding:6px 12px;font-size:12px}
.g-wrap{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:14px;align-items:start}
.g-pages{display:flex;flex-direction:column;gap:4px}
.g-pg{display:grid;grid-template-columns:28px 1fr auto;gap:6px;align-items:center;text-align:left;padding:8px;border-radius:8px;font-size:12.5px;color:#c5c9d6;border:1px solid transparent}
.g-pg.on{background:rgba(124,92,255,.14);border-color:rgba(124,92,255,.45);color:#fff}.g-pg b{color:#8b91a3}
.g-stage{display:flex;gap:18px;align-items:flex-start;justify-content:center;min-width:0;padding:18px;border-radius:14px;background:radial-gradient(600px 300px at 50% 0,rgba(124,92,255,.12),transparent),#07070a;border:1px solid rgba(255,255,255,.06)}
.g-browser{flex:1 1 auto;min-width:0;max-width:760px;border-radius:12px;overflow:hidden;border:1px solid #2b2b2b;background:#111;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.g-bbar{display:flex;gap:6px;align-items:center;padding:8px 10px;background:#1b1b1f;border-bottom:1px solid #2b2b2b}
.g-url{flex:1;min-width:0;margin-left:8px;background:#0d0d12;border-radius:6px;padding:3px 10px;font-size:11px;color:#8b91a3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-bview{height:480px;overflow:auto}
.g-bview .ma{min-height:100%}
.g-phone{flex:none;width:260px;height:540px;border-radius:44px;padding:12px;background:linear-gradient(145deg,#2a2a2e,#0c0c0e);box-shadow:0 0 0 2px #3a3a40,0 30px 70px rgba(0,0,0,.7);position:relative}
.g-notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:86px;height:24px;border-radius:14px;background:#000;z-index:3}
.g-pview{width:100%;height:100%;border-radius:34px;overflow:auto;background:#0b0f0c;scrollbar-width:none}
.g-pview::-webkit-scrollbar{display:none}
.g-pview .ma{padding-top:44px;min-height:100%}
.g-home{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:90px;height:4px;border-radius:2px;background:rgba(255,255,255,.6)}
.g-stage.desktop .g-browser{max-width:none}
.g-chat{display:flex;flex-direction:column;min-width:0}
.g-msgs{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.g-msg{font-size:12.5px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.05);align-self:flex-start;max-width:92%}.g-msg b{display:block;font-size:10.5px;color:#5ff2dc}
.g-msg.me{align-self:flex-end;background:rgba(124,92,255,.18)}.g-msg.me b{color:#b9a8ff}
.g-todo{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12px;padding:5px 0}
.g-todo i{width:12px;height:12px;border-radius:4px;border:1.5px solid #8b91a3}
.g-todo em{font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:10px;background:rgba(255,255,255,.07)}
.g-todo.in-lavorazione em{color:#ffb020;background:rgba(255,176,32,.12)}.g-todo.in-lavorazione i{border-color:#ffb020}
.g-todo.fatto em{color:#3dffa8;background:rgba(61,255,168,.12)}.g-todo.fatto i{background:#3dffa8;border-color:#3dffa8}.g-todo.fatto span{text-decoration:line-through;color:#8b91a3}
/* mock app */
.ma{background:#0b0f0c;color:#eaf5ee;font-family:Inter,-apple-system,sans-serif;display:flex;flex-direction:column;font-size:12px}
.ma-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px}.ma-hd span{color:#8fa898;font-size:11px}
.ma-main{flex:1;padding:0 14px 14px;display:flex;flex-direction:column;gap:12px}
.ma-hero{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;background:linear-gradient(160deg,rgba(190,242,100,.14),rgba(20,184,166,.08));border:1px solid rgba(190,242,100,.2)}
.ma-hero h4{margin:0;font-size:18px;letter-spacing:-.02em}.ma-hero p,.ma-p{margin:0;color:#9fb5a6}
.ma-pill{align-self:flex-start;font-size:10px;padding:2px 8px;border-radius:10px;background:#bef264;color:#0b0f0c;font-weight:700}
.ma-btn{display:block;text-align:center;padding:10px;border-radius:12px;background:#bef264;color:#0b0f0c;font-weight:700;cursor:pointer;text-decoration:none}
.ma-btn.g{background:rgba(255,255,255,.08);color:#eaf5ee}
.ma-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ma-kpis div{padding:10px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;flex-direction:column}.ma-kpis b{font-size:17px;color:#bef264}.ma-kpis span{font-size:10px;color:#8fa898}
.ma-in{padding:10px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1);color:#8fa898}
.ma-video{position:relative;height:170px;border-radius:14px;overflow:hidden;background:linear-gradient(#1d4d2e,#123a22)}
.ma-court{position:absolute;inset:18px 24px;border:2px solid rgba(255,255,255,.5);border-top-width:0}
.ma-skel{position:absolute;inset:0;width:100%;height:100%}.ma-skel polyline{stroke:#bef264;stroke-width:1.6}.ma-skel circle{fill:#bef264}
.ma-tag{position:absolute;left:10px;top:10px;padding:3px 8px;border-radius:8px;background:rgba(0,0,0,.6);color:#bef264;font-weight:700;font-size:11px}
.ma-tl{display:flex;gap:4px;align-items:flex-end;height:44px}.ma-tl i{flex:1;background:linear-gradient(#bef264,#14b8a6);border-radius:3px}
.ma-row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ma-card{padding:12px;border-radius:12px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:4px;cursor:pointer;border:1px solid rgba(255,255,255,.06)}.ma-card span{color:#9fb5a6;font-size:11px}
.ma-bar{display:grid;grid-template-columns:90px 1fr 24px;gap:8px;align-items:center}.ma-bar i{height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}.ma-bar i b{display:block;height:100%;background:#bef264}.ma-bar em{font-style:normal;color:#bef264}
.ma-courtmap{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:6px;border-radius:12px;border:2px solid rgba(255,255,255,.4);background:#1d4d2e;aspect-ratio:1.6}.ma-courtmap i{background:#bef264;border-radius:4px}
.ma-chk{display:flex;gap:8px;align-items:center;padding:10px;border-radius:10px;background:rgba(255,255,255,.05)}.ma-chk i{width:14px;height:14px;border-radius:50%;border:2px solid #8fa898}.ma-chk.ok i{background:#bef264;border-color:#bef264}
.ma-avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#bef264;color:#0b0f0c;font-weight:800;font-size:18px}
.ma-nav{display:flex;justify-content:space-around;padding:10px 6px 14px;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.4);position:sticky;bottom:0}
.ma-nav a{font-size:10.5px;color:#8fa898;cursor:pointer;padding:4px 6px;border-radius:8px}.ma-nav a.on{color:#0b0f0c;background:#bef264;font-weight:700}
.ma-arc .ma-hero{background:linear-gradient(160deg,rgba(96,165,250,.18),rgba(168,85,247,.1));border-color:rgba(96,165,250,.25);margin:0 14px}
.ma-list{display:flex;flex-direction:column;gap:6px;padding:12px 14px}.ma-row{display:flex;justify-content:space-between;padding:10px;border-radius:10px;background:rgba(255,255,255,.05);cursor:pointer}.ma-row.on{outline:1px solid #60a5fa}
.g-browser .ma-main{max-width:640px;width:100%;margin:0 auto}
@media (max-width:1200px){.g-wrap{grid-template-columns:180px minmax(0,1fr)}.g-chat{grid-column:1/-1}}
@media (max-width:720px){
  .g-wrap{grid-template-columns:minmax(0,1fr)}
  .g-pages{flex-direction:row;overflow-x:auto;scrollbar-width:none}.g-pg{flex:none;grid-template-columns:auto auto}.g-pg .lbl{display:none}
  .g-stage{flex-direction:column;align-items:center;padding:12px}
  .g-browser{width:100%}.g-bview{height:400px}
  .g-phone{width:250px;height:520px}
}
button.chip,button.g-pg{background:rgba(255,255,255,.03);color:#c5c9d6;font-family:inherit}
button.chip.on{background:rgba(0,224,198,.1);color:#5ff2dc}
button.g-pg.on{background:rgba(124,92,255,.14);color:#fff}
/* v8 connettori */
.cn-h{font-size:15px;margin:22px 0 10px;color:#e8e8ef}
.cn-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cn-grid3>.card{min-width:0;display:flex;flex-direction:column;gap:6px}
.cn-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.cn-prof{cursor:pointer;border-top:2px solid var(--c)}.cn-prof.on{box-shadow:0 0 22px color-mix(in srgb,var(--c) 25%,transparent);border-color:var(--c)}
.cn-sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:#5f6577;margin-top:8px}
.cn-ag{display:flex;gap:8px;align-items:flex-start;font-size:12px}.cn-ag .x-dotc{margin-top:5px;flex:none}
.cn-pill{font-size:10.5px;padding:2px 8px;border-radius:999px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent);white-space:nowrap}
.cn-bar{height:6px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:6px}.cn-bar i{display:block;height:100%;border-radius:4px}
.cn-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.cn-tab{padding:7px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);font-size:12px;color:#c5c9d6}
.cn-tab.on{border-color:var(--c);color:#fff;background:color-mix(in srgb,var(--c) 14%,transparent)}
.cn-in{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;background:#0d0d12;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:12px;min-height:34px}
.cn-range{width:100%;accent-color:#7c5cff}
.cn-dl{margin-top:12px}.cn-btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.cn-steps{margin:8px 0;padding-left:20px;font-size:13px;line-height:1.7;color:#c5c9d6}
.cn-code{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#0d0d12;border:1px dashed rgba(124,92,255,.4);margin-top:8px}.cn-code b{font-size:18px;letter-spacing:.12em;color:#b9a4ff}
.cn-rule{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(255,255,255,.06)}
.cn-num{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:rgba(124,92,255,.15);color:#b9a4ff;font-weight:800;flex:none}
.cn-tog{width:42px;height:24px;border-radius:999px;background:rgba(255,255,255,.12);border:0;position:relative;flex:none;transition:.2s}.cn-tog i{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.cn-tog.on{background:#3dffa8}.cn-tog.on i{left:21px;background:#0a0a0f}
.cn-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:center;z-index:200;padding:16px}.cn-modal[hidden]{display:none}
.cn-mbox{width:min(440px,100%);box-sizing:border-box;background:#111118}
.cn-chk{display:flex;gap:8px;font-size:12.5px;margin:6px 0;color:#c5c9d6}
@media (max-width:1000px){.cn-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cn-grid3{grid-template-columns:minmax(0,1fr)}.cn-btns .btn{flex:1 1 100%;text-align:center}}

/* ===== v9: nav Altro + modelli decisionali ===== */
.nav{overflow:visible}
.nav-more{position:relative;flex:none}
.nav-more-btn{padding:7px 9px;border-radius:9px;color:#8a90a2;background:transparent;border:1px solid transparent;font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;font-family:inherit}
.nav-more-btn:hover,.nav-more.on .nav-more-btn{color:#fff;background:rgba(124,92,255,.14);border-color:rgba(124,92,255,.45)}
.nav-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:180px;background:#0b0b10;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:300;box-shadow:0 18px 40px rgba(0,0,0,.6)}
.nav-menu[hidden]{display:none}
.nav-menu a{padding:8px 10px!important}
@media (max-width:1500px){.nav-more-btn{font-size:11.5px}}
.dm-card{border-top:2px solid var(--c)}
.dm-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;font-size:12px;color:#c5c9d6}
.dm-meta span{color:#6f7588}
.dm-meta b{font-weight:500;overflow-wrap:anywhere}
.dm-seg{display:flex;gap:6px;flex-wrap:wrap}
.dm-seg button{padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#c5c9d6;font-size:12px;cursor:pointer;font-family:inherit}
.dm-seg button.on{border-color:var(--c);color:#fff;background:color-mix(in srgb,var(--c) 16%,transparent)}
.dm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.dm-stats div{background:#0d0d12;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:6px 8px;font-size:11px;color:#6f7588}
.dm-stats b{display:block;color:#fff;font-size:14px}
.dm-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
.dm-step{background:#0d0d12;border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:10px;font-size:12px;color:#c5c9d6;min-width:0}
.dm-step b{display:block;color:#fff;margin-bottom:4px}
.dm-step code{font-size:11px;color:#b9a4ff;overflow-wrap:anywhere}
.dec-chip{display:inline-flex;align-items:center;gap:4px;margin-top:5px;font-size:10.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);white-space:nowrap}
.gr-card{margin-bottom:12px}
.gr-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12.5px;flex-wrap:wrap}
.gr-row .cn-bar{flex:1 1 120px;margin:0}
@media (max-width:900px){.dm-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dm-flow,.dm-stats{grid-template-columns:minmax(0,1fr)}}

/* v11 OpenRouter */
.or-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
.or-k{display:flex;align-items:center;gap:8px;font-size:20px;margin:4px 0}
.or-table{display:flex;flex-direction:column;gap:2px;margin-top:8px}
.or-tr{display:grid;grid-template-columns:1.2fr 1fr 1.8fr 1.1fr .8fr .7fr 1fr .6fr;gap:10px;align-items:center;padding:9px 6px;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}
.or-th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.6}
.or-tg{width:38px;height:22px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#111;position:relative;cursor:pointer;padding:0}
.or-tg i{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#666;transition:.2s}
.or-tg.on{background:rgba(61,255,168,.18);border-color:#3dffa8}.or-tg.on i{left:18px;background:#3dffa8}
.or-warn{margin-top:10px;font-size:12px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,196,107,.4);background:rgba(255,196,107,.07);color:#ffc46b}
.or-two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 14px}
.or-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.or-low{margin-top:10px}
.or-n{padding:9px 12px;border-radius:12px;border:1px solid rgba(124,92,255,.4);background:rgba(124,92,255,.08);font-size:12.5px;font-weight:600;display:flex;flex-direction:column}
.or-n small{font-weight:400;opacity:.65;font-size:11px}
.or-n.hl{border-color:#3dffa8;background:rgba(61,255,168,.1);color:#3dffa8;animation:orGlow 2.4s infinite}
.or-n.warn{border-color:#ffc46b;color:#ffc46b;background:rgba(255,196,107,.08)}
.or-ar{opacity:.5;font-size:12px}
@keyframes orGlow{50%{box-shadow:0 0 18px rgba(61,255,168,.35)}}
.or-ev{display:grid;grid-template-columns:42px 1fr auto auto 34px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12.5px}
.or-ev-b{display:flex;flex-direction:column;min-width:0}.or-ev-b b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.or-ev.new{animation:orIn .6s ease}
@keyframes orIn{from{opacity:0;transform:translateY(-6px);background:rgba(124,92,255,.15)}}
.or-fb{list-style:none;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:6px}
.or-fb li{display:flex;gap:10px;align-items:center;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.08)}
.or-fb li .mono{opacity:.6}
@media(max-width:900px){.or-kpis{grid-template-columns:1fr 1fr}.or-two{grid-template-columns:1fr}
.or-th{display:none}.or-tr{grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.08);border-radius:12px;margin-bottom:8px}
.or-tr>span{min-width:0;overflow-wrap:anywhere}.or-tr>span::before{content:attr(data-l);display:block;font-size:10px;opacity:.5;text-transform:uppercase}
.or-ev{grid-template-columns:38px 1fr 34px}.or-ev .cn-pill{grid-column:2}.or-ev .or-c{grid-column:3;grid-row:2}}

.or-prio{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.or-pb{padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#0c0c10;color:inherit;cursor:pointer;font-size:12.5px}
.or-pb.on{border-color:#3dffa8;color:#3dffa8;background:rgba(61,255,168,.1)}
.or-ev{grid-template-columns:42px 1fr auto auto auto 34px}.or-t{color:#5ff2dc;white-space:nowrap}
@media(max-width:900px){.or-ev{grid-template-columns:38px 1fr 34px}.or-ev .or-t{grid-column:2}.or-ev .or-c{grid-column:3;grid-row:2}}

/* v12 fix scroll: il documento scorre, niente blocchi di overflow sul guscio */
html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;-webkit-text-size-adjust:100%}
body{height:auto;min-height:100%;min-height:100dvh;overflow-x:hidden;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:auto}
.top{position:sticky;top:0;z-index:35;background:rgba(0,0,0,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#view{height:auto!important;min-height:calc(100dvh - 60px);overflow:visible!important;min-width:0}
.msgs{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
body.lav-fsb{overflow:hidden;height:100%}
/* v13 backend reale */
.live-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 14px;font-size:12px;background:#11131a;border-bottom:1px solid #22252f;max-width:100%;box-sizing:border-box;flex-wrap:wrap}
.live-banner .btn{padding:4px 10px;font-size:12px}
.lv{max-width:1100px;margin:0 auto;padding:14px;box-sizing:border-box}
.lv-form{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.lv-in{width:100%;box-sizing:border-box;background:#0b0c10;border:1px solid #2a2d38;color:inherit;border-radius:8px;padding:10px;font:inherit;font-size:16px}
.lv-login{max-width:420px;margin:30px auto;display:flex;flex-direction:column;gap:10px}
.lv-login form{display:flex;flex-direction:column;gap:8px}
.lv-big{font-size:26px}
.lv-task{margin:8px 0}
.lv-log{font-size:12px;max-height:70vh;overflow:auto;overflow-wrap:anywhere}
.lv-log div{padding:3px 0;border-bottom:1px solid #1a1c24}
.lv-log time{color:#6f7588}
.lv-err{color:#ff5c7a}
.live-banner a.btn{color:inherit;text-decoration:none}
/* v14: contenitore centrato e layout scalabile su schermi grandi */
#view>*{width:100%;max-width:1600px;margin-left:auto;margin-right:auto;box-sizing:border-box}

.wrap.lv{display:block;height:100%;overflow:auto;padding:16px 20px;align-content:start}
.lv-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.lv-stats>.card{min-width:0;display:flex;flex-direction:column;gap:6px}
.lv-cols{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:20px;align-items:start;margin-top:8px}
.lv-cols .cn-h{margin-top:12px}
@media (max-width:1100px){.lv-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.lv-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.wrap.lv{height:auto;overflow:visible;padding:4px 0}.lv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lv-on [data-apbadge]{display:none!important}

.lv-spin{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:lvspin .7s linear infinite}@keyframes lvspin{to{transform:rotate(360deg)}}
.lv-form button[disabled]{opacity:.7;cursor:progress}.lv-del{margin-top:8px;background:transparent;border:1px solid #ff6b7d;color:#ff6b7d}
.lv-send{width:100%;padding:14px 18px;font-size:16px;font-weight:700;border:0;border-radius:12px;background:#7c5cff;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 0 18px rgba(124,92,255,.4)}.lv-send:hover{background:#6a48ff}.lv-send[disabled]{opacity:.7;cursor:progress}
/* v16: barra di stato reale sotto il menu, chat, stati vuoti */
body.lv-on .top .mac-pill,body.lv-on .top .quota,body.lv-on .top .pill.desktop-only,body.lv-on .top a.pill{display:none!important}
.lv-status{position:sticky;top:60px;z-index:34;display:flex;gap:8px;align-items:center;padding:6px 14px;background:rgba(8,9,13,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #1d2029;overflow-x:auto;white-space:nowrap;scrollbar-width:none;font-size:12px;max-width:100vw;box-sizing:border-box}
.lv-status::-webkit-scrollbar{display:none}
.lv-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;border:1px solid #262a35;background:#10121a;color:#c5c9d6;text-decoration:none;flex:none}
.lv-chip span{color:#6f7588}.lv-chip b{color:#fff}
.lv-dot{width:8px;height:8px;border-radius:50%;background:#5b6070;flex:none}.lv-dot.on{background:#3dffa8;box-shadow:0 0 8px #3dffa8}
@media (min-width:1100px){.lv-status{flex-wrap:wrap;overflow:visible}}
.push-stack{z-index:33}
.lv-empty{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:18px;margin:8px 0;color:#c5c9d6}
.lv-empty .btn{margin-top:6px;text-decoration:none;color:inherit}
.lv-term{max-height:260px;margin-top:8px;background:#07080b;border-radius:8px;padding:8px}
.lv-assign{margin:-4px 0 10px;gap:6px}.lv-assign .lv-in{flex:1 1 140px;width:auto;padding:6px;font-size:14px}
.lv-chat{display:flex;flex-direction:column;gap:10px;height:min(60vh,620px);overflow-y:auto;margin-top:10px}
.lv-msg{max-width:min(80%,680px);padding:10px 12px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}
.lv-msg.me{align-self:flex-end;background:rgba(124,92,255,.18);border:1px solid rgba(124,92,255,.4)}
.lv-msg.ai{align-self:flex-start;background:#12141c;border:1px solid #232633}
.lv-msg time{display:block;font-size:10.5px;color:#6f7588;margin-top:4px}
.lv-chatf{display:flex;gap:8px;margin-top:10px;align-items:stretch}.lv-chatf textarea{flex:1;resize:vertical}
.lv-chatf .lv-send{flex:none;width:auto;min-width:96px;padding:0 18px}.lv-chatf textarea{min-width:0;width:auto}
.lv-chatf .lv-model{flex:none;width:auto;min-width:110px}
.lv-typing{color:#9aa0b4;font-style:italic}
.lv-typing .dots{display:inline-flex;gap:3px;margin-right:4px;vertical-align:middle}
.lv-typing .dots i{width:5px;height:5px;border-radius:50%;background:#9aa0b4;animation:lvdot 1s infinite ease-in-out}
.lv-typing .dots i:nth-child(2){animation-delay:.15s}.lv-typing .dots i:nth-child(3){animation-delay:.3s}
@keyframes lvdot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (max-width:600px){.lv-chatf{flex-wrap:wrap}.lv-chatf .lv-model{order:3}}

/* v22: Panoramica reale con layout mockup */
.wrap.lv-pano{height:auto;align-items:start}
.lv-pano .lv-left{position:sticky;top:0;height:calc(100dvh - 110px)}
.lv-pano-main{grid-template-rows:auto auto}
.lv-pano-main .lv{padding:0;max-width:none}
@media (max-width:1100px){.lv-pano .lv-left{display:flex;position:static;height:auto}.lv-pano .lv-left .chat{min-height:260px}}
.lv-pano-main>.lv{width:100%;justify-self:stretch;margin:0}
