/* VINGE Control Center — dark premium, mobile-first, nessuna dipendenza */
:root{--bg:#0b0d12;--panel:#12151c;--panel2:#171b24;--line:#232836;--ink:#e9ecf3;--muted:#99a1b3;--faint:#6b7386;
--accent:#8b7bff;--accent2:#4fd1c5;--ok:#3ddc97;--warn:#f5b84b;--bad:#ff6b6b;--demo:#c49bff;--r:14px;
--shadow:0 1px 0 rgba(255,255,255,.03) inset,0 10px 30px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#b9b0ff;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:#fff}
:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:6px}
code{font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--panel2);border:1px solid var(--line);padding:1px 5px;border-radius:5px}
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#000;padding:8px 12px;border-radius:8px;z-index:9}.skip:focus{left:8px}
[hidden]{display:none!important}

/* Sidebar: barra orizzontale su mobile, colonna compatta da 900px */
.sidebar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 16px;background:rgba(11,13,18,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}.brand b{color:var(--accent)}
.logo{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#0b0d12;font-weight:800}
.sidebar nav{overflow-x:auto;flex:1;scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}
.sidebar ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.sidebar nav a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:9px;color:var(--muted);text-decoration:none;font-size:14px;white-space:nowrap}
.sidebar nav a:hover{background:var(--panel2);color:var(--ink)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--faint)}
.side-foot{display:flex;align-items:center;gap:8px}.who{display:none;color:var(--muted);font-size:13px}
.brand-t{display:none}
@media(min-width:900px){
  body{display:grid;grid-template-columns:220px 1fr}
  .sidebar{height:100vh;flex-direction:column;align-items:stretch;padding:20px 14px;border-bottom:0;border-right:1px solid var(--line)}
  .brand-t{display:inline}.sidebar ul{flex-direction:column}.sidebar nav{margin-top:18px}
  .side-foot{justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.who{display:inline;overflow:hidden;text-overflow:ellipsis}
}
.shell{min-width:0}

.topbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;padding:20px 16px 8px}
h1{font-size:22px;margin:0;letter-spacing:-.02em}.sub{color:var(--muted);font-size:13px;margin:2px 0 0}
.top-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{font:inherit;font-size:14px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:7px 14px;cursor:pointer;min-height:36px}
.btn:hover{border-color:#3a4155}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600}
.btn.ghost{background:transparent}.btn.sm{padding:4px 10px;min-height:30px;font-size:13px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.seg-b{font:600 12px/1 inherit;letter-spacing:.06em;background:transparent;color:var(--muted);border:0;padding:10px 12px;cursor:pointer}
.seg-b[aria-pressed=true]{background:var(--panel2);color:var(--ink)}

.chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;padding:3px 9px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;text-transform:uppercase}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.chip.xs{font-size:10px;padding:1px 7px}
.ok{color:var(--ok)}.warn{color:var(--warn)}.bad{color:var(--bad)}.muted{color:var(--muted)}.demo{color:var(--demo)}

.alert{margin:8px 16px;padding:10px 14px;border:1px solid rgba(255,107,107,.4);background:rgba(255,107,107,.08);color:#ffc9c9;border-radius:10px}
.banner{margin:8px 16px;padding:10px 14px;border:1px dashed var(--demo);color:var(--demo);border-radius:10px;font-size:14px}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;padding:12px 16px 24px}
.grid>*{grid-column:span 12;min-width:0}
@media(min-width:1100px){.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-7{grid-column:span 7}}
.card{background:linear-gradient(180deg,var(--panel),#10131a);border:1px solid var(--line);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);scroll-margin-top:70px}
.card h2{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.legend{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--faint)}
h3{font-size:13px;color:var(--muted);margin:14px 0 8px;font-weight:600}h3:first-child{margin-top:0}

.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:700px){.kpis{grid-template-columns:repeat(5,1fr)}}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpi .v{font-size:28px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.kpi .l{color:var(--muted);font-size:13px}.kpi .s{margin-top:6px}

.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.item{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.item .t{flex:1;min-width:0;overflow-wrap:anywhere}.item .meta{display:block;color:var(--faint);font-size:12px;margin-top:2px}
.num{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--accent);color:#0b0d12;font-weight:800;font-size:13px}
.areas{display:flex;flex-wrap:wrap;gap:6px}.area{font-size:12px;padding:3px 9px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);color:var(--muted)}

.health{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.health li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.health .lamp{grid-row:span 2;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--faint)}
.lamp.green{background:var(--ok);box-shadow:0 0 10px rgba(61,220,151,.5)}.lamp.yellow{background:var(--warn)}.lamp.red{background:var(--bad);box-shadow:0 0 10px rgba(255,107,107,.5)}
.health .h{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:14px}.health .why{color:var(--muted);font-size:13px;overflow-wrap:anywhere}

.timeline{list-style:none;margin:0;padding:0 0 0 14px;border-left:1px solid var(--line)}
.timeline li{position:relative;padding:0 0 14px 12px}.timeline li::before{content:"";position:absolute;left:-19px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--accent);border:2px solid var(--bg)}
.timeline .when{color:var(--faint);font-size:12px}

.proj{display:grid;gap:8px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--faint);font-weight:600;font-size:12px}td .d{color:var(--faint);font-size:12px;margin-top:2px}.scroll{overflow-x:auto}
.facts{display:grid;grid-template-columns:1fr;gap:10px;margin:0}@media(min-width:700px){.facts{grid-template-columns:repeat(3,1fr)}}
.facts div{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.facts dt{color:var(--faint);font-size:12px}.facts dd{margin:2px 0 0;overflow-wrap:anywhere}
.empty{color:var(--faint);font-size:14px}
.foot{padding:8px 16px 28px;color:var(--faint);font-size:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}

body.login{display:grid;grid-template-columns:minmax(0,1fr);place-items:center;min-height:100vh;padding:16px}
.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:var(--shadow)}
.login-card form{display:grid;gap:8px;margin-top:20px}.login-card label{font-size:13px;color:var(--muted)}
.login-card input{width:100%;min-width:0;font:inherit;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.login-card .alert{margin:4px 0}.login-card .btn{margin-top:8px}.fine{color:var(--faint);font-size:12px;margin:18px 0 0;text-align:center}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* AI Control Room — ufficio isometrico in SVG; animazioni solo sugli agenti attivi, nessuna con movimento ridotto */
/* Regia: tema chiaro per la sola sezione Control Room */
#room{--panel:#ffffff;--panel2:#f6f3ec;--line:#e7e1d4;--ink:#1b1f2b;--muted:#5c6378;--faint:#8a90a6;--accent:#5b4bff;
background:#fbf9f4;color:var(--ink);border-color:#e7e1d4;box-shadow:0 10px 40px -20px rgba(0,0,0,.6)}
#room h2{color:var(--muted)}#room .chip.accent{color:#5b4bff}#room .chip.ok{color:#11895b}#room .chip.warn{color:#b26b00}#room .chip.bad{color:#d43d3d}
#room a,#room .linkish{color:#4a3dff}#room .btn{background:#fff}#room .btn.primary{background:#3b5bff;border-color:#3b5bff;color:#fff}
#room .timeline{border-left-color:var(--line)}#room .timeline li::before{border-color:#fbf9f4}#room .empty{color:var(--faint)}
#room .alert{color:#b42318;background:#fff1f0;border-color:#ffccc7}#room .banner{color:#7a4b00;border-color:#f5b84b}
#room .item{background:#fff}#room code{background:#f1ede4}
.regia-h{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.regia-k{margin:0 0 4px!important}.room-hello{margin:0}.room-hello b{font-size:22px;letter-spacing:-.02em}.room-hello .sub{display:block;margin-top:2px;font-size:14px}
.regia-a{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tabs{display:inline-flex;background:#efeae0;border-radius:12px;padding:3px;gap:2px}
.tabs button{font:inherit;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:9px;padding:7px 12px;cursor:pointer}
.tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.count:not(:empty){display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:#ff5a3c;color:#fff;font-size:11px}
.room-body{position:relative}
.room-foot{margin:14px 0 0;text-align:center}
.room-stage{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);
background:radial-gradient(80% 70% at 50% 35%,#ffffff 0%,#efe9dd 75%)}
.room-scene svg{display:block;width:100%;height:auto}
.room-scene .f-t{stroke:rgba(0,0,0,.06);stroke-width:.6}
.floor.f-t{fill:#f3ecdf}.floor.f-l{fill:#ddd2bd}.floor.f-r{fill:#cfc3ab}
.wall.f-t{fill:#e9e2d4}.wall.f-l{fill:#ece5d8}.wall.f-r{fill:#e4dccd}
.board{fill:#fbfaf6;stroke:#cfc6b4;stroke-width:1.5}.note.n1{fill:#ffd66b}.note.n2{fill:#8fd3ff}.note.n3{fill:#ffa3c4}
.tv{fill:#171b2a;stroke:#0d0f18;stroke-width:3}.tv-txt text{fill:#e9ecf3;font:600 12px ui-sans-serif,system-ui,sans-serif}
.tv-txt .tv-t{font-size:13px;fill:#fff}.tv-txt .tv-k{fill:#9aa3c7;font-size:9px;letter-spacing:.12em}
.win{fill:#bfe3ff;stroke:#e7decd;stroke-width:5}.win-bar{fill:#e7decd}
.pot.f-t{fill:#7b5a3a}.pot.f-l{fill:#f2efe8}.pot.f-r{fill:#dcd7cd}.leaf.l1{fill:#4f9b62}.leaf.l2{fill:#3b7f4e}
.desk.f-t{fill:#e8c88f}.desk.f-l{fill:#d3ae6f}.desk.f-r{fill:#c49f61}.leg{fill:#b38a52}
.leg.f-l{fill:#a77f4a}.leg.f-r{fill:#946f3f}
.mon.f-t{fill:#3a3f4f}.mon.f-l{fill:#262a36}.mon.f-r{fill:#1c2029}.stand.f-l,.stand.f-r,.stand.f-t{fill:#3a3f4f}
.scr{fill:#2b3142;transition:fill .4s}.code{stroke:#4a5370;stroke-width:3;stroke-linecap:round;opacity:.35}
.kbd.f-t{fill:#f7f7f7}.kbd.f-l,.kbd.f-r{fill:#cfcfcf}.mug.f-t{fill:#5b3a26}.mug.f-l{fill:#f9f6f0}.mug.f-r{fill:#e0dbd1}
.chair.f-t{fill:#4a5063}.chair.f-l{fill:#323748}.chair.f-r{fill:#2a2e3d}.seat.f-t{fill:#4a5063}.seat.f-l{fill:#323748}.seat.f-r{fill:#2a2e3d}.pole{fill:#20232e}
.torso{fill:#6b7280}.head{fill:#f1c7a4}.hair{fill:#3b2a20}.arm{stroke:#f1c7a4;stroke-width:6;stroke-linecap:round}
.agent[data-role=planner] .torso{fill:#7c5cff}.agent[data-role=executor] .torso{fill:#3b82f6}.agent[data-role=reviewer] .torso{fill:#14b8a6}
.agent[data-role=executor] .hair{fill:#1f1f24}.agent[data-role=reviewer] .hair{fill:#8a5a2b}
.ring{fill:var(--accent);opacity:0;transition:opacity .4s}
.zone{fill:#a8987c;font:700 11px ui-sans-serif,system-ui,sans-serif;letter-spacing:.18em}
.badge{opacity:0;transition:opacity .4s}.badge circle{fill:#3ddc97}.badge path{fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.badge .bad-mark{display:none}
.agent[data-state=completed] .badge{opacity:1}
.agent[data-state=failed] .badge{opacity:1}.agent[data-state=failed] .badge circle{fill:#ff6b6b}.agent[data-state=failed] .ok-mark{display:none}.agent[data-state=failed] .bad-mark{display:inline}
.agent[data-state=completed] .scr{fill:#1f5a46}.agent[data-state=failed] .scr{fill:#5a2630}.agent[data-state=waiting] .scr{fill:#5a4520}
.agent[data-state=waiting] .ring{fill:var(--warn);opacity:.25}
.agent.active .scr{fill:#2d2a6e}.agent.active .code{stroke:#a99cff;opacity:.95}.agent.active .ring{opacity:.28}
.flow{fill:none;stroke:#cdbf9f;stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round;opacity:.8}
.flow.back{opacity:.45}.flow.on{stroke:var(--accent);stroke-width:3;stroke-dasharray:8 10;opacity:1}
@media(prefers-reduced-motion:no-preference){
  .agent.active .arm{animation:cr-type .32s ease-in-out infinite alternate}
  .agent.active .arm+.arm{animation-delay:.16s}
  .agent.active .headg{animation:cr-bob 1.6s ease-in-out infinite}
  .agent.active .ring{animation:cr-pulse 1.8s ease-in-out infinite}
  .agent.active .code{animation:cr-code 1.2s steps(4) infinite}
  .flow.on{animation:cr-flow .9s linear infinite}
  .agent-tag[data-state=planning] .av,.agent-tag[data-state=working] .av,.agent-tag[data-state=reviewing] .av{animation:cr-pulse-av 1.8s ease-in-out infinite}
}
.arm,.headg,.code{transform-box:fill-box;transform-origin:center}
.packet{display:none;fill:#5b4bff;stroke:#fff;stroke-width:2}
.packet.on{display:inline}
.pbar-bg,.pbar{stroke-width:3.5;stroke-linecap:round;display:none}.pbar-bg{stroke:#3a3f6e}.pbar{stroke:#7ee2b8;transition:stroke-dasharray .5s}
.agent.has-progress .pbar-bg,.agent.has-progress .pbar{display:inline}
@media(prefers-reduced-motion:no-preference){.packet.on{animation:cr-packet 1.5s cubic-bezier(.45,0,.55,1) infinite}}
@keyframes cr-packet{from{offset-distance:0%}to{offset-distance:100%}}
#room.paused *{animation-play-state:paused!important}
@keyframes cr-type{from{transform:translate(0,0)}to{transform:translate(1.5px,-2.5px)}}
@keyframes cr-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes cr-pulse{0%,100%{opacity:.18}50%{opacity:.42}}
@keyframes cr-code{0%{opacity:.35}50%{opacity:1}100%{opacity:.6}}
@keyframes cr-flow{to{stroke-dashoffset:-36}}
@keyframes cr-pulse-av{0%,100%{box-shadow:0 0 0 0 rgba(139,123,255,.55)}50%{box-shadow:0 0 0 6px rgba(139,123,255,0)}}
.room-tags{position:absolute;inset:0;pointer-events:none}
.agent-tag{pointer-events:auto;position:absolute;transform:translate(-50%,-100%);display:flex;align-items:center;gap:8px;max-width:230px;
font:inherit;text-align:left;color:#1b1f2b;background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:6px 10px 6px 6px;
box-shadow:0 8px 24px -10px rgba(0,0,0,.55);cursor:pointer;transition:transform .2s,box-shadow .2s}
.agent-tag:hover{transform:translate(-50%,-104%);box-shadow:0 14px 30px -10px rgba(0,0,0,.6)}
.agent-tag.below{transform:translate(-50%,8px)}.agent-tag.below:hover{transform:translate(-50%,4px)}
.agent-tag.below::after{bottom:auto;top:-6px;transform:translateX(-50%) rotate(225deg)}
.agent-tag::after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;background:inherit;border:inherit;border-top:0;border-left:0;transform:translateX(-50%) rotate(45deg)}
.agent-tag .tg{display:flex;flex-direction:column;min-width:0;line-height:1.25}.agent-tag b{font-size:13px}
.agent-tag .chip{align-self:flex-start;margin:2px 0}.agent-tag .st{font-size:11.5px;color:#5c6378;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.agent-tag .go{font-size:11px;font-weight:700;color:#fff;background:#3b5bff;border-radius:8px;padding:4px 7px;white-space:nowrap}
.agent-tag[data-state=idle] .go{background:#8a90a6}
.av{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;font-weight:800;font-size:13px}
.av.planner{background:#7c5cff}.av.executor{background:#3b82f6}.av.reviewer{background:#14b8a6}
.room-floor{display:none}
.desk{display:grid;grid-template-columns:30px 1fr;gap:2px 10px;align-items:center;text-align:left;font:inherit;color:var(--ink);width:100%;
background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.desk .av{grid-row:span 3}.desk-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.desk-name{font-weight:600}
.desk-task{font-size:13px;overflow-wrap:anywhere}.desk-step{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.desk[data-state=planning],.desk[data-state=working],.desk[data-state=reviewing]{border-color:rgba(139,123,255,.6)}
.chip.accent{color:var(--accent)}
.room-panel{margin-top:12px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--panel2)}
.pbox{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--panel);font-size:14px}.pbox .k{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}
.panel-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}.panel-h h3{margin:0;display:flex;gap:8px;align-items:center;font-size:16px;color:var(--ink);text-transform:none;letter-spacing:0}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}.room-panel .alert,.room-panel .banner{margin:10px 0}
.room-panel .lamp{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--faint)}
@media(min-width:900px){
  .room-body.with-panel .room-panel{position:absolute;top:10px;right:10px;bottom:10px;width:min(390px,42%);margin:0;overflow:auto;z-index:3;
  background:rgba(255,255,255,.97);backdrop-filter:blur(6px);box-shadow:-24px 0 50px -24px rgba(0,0,0,.35)}
}
@media(max-width:759px){.room-tags{display:none}.room-floor{display:grid;gap:8px;margin-top:10px}}
.room-new{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 4px}.room-new .sub{flex-basis:100%;margin:0}
.input{font:inherit;font-size:14px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-height:36px;min-width:0;flex:1 1 220px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.linkish{font:inherit;color:#b9b0ff;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.num.todo{background:var(--line);color:var(--muted)}
.strip{list-style:none;margin:0;padding:2px 2px 8px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}
.tcard{scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--panel2)}
.tcard[data-state=planning],.tcard[data-state=working],.tcard[data-state=reviewing]{border-color:rgba(139,123,255,.6)}
.tc-h{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tc-h .meta{margin-left:auto}.tcard .meta{color:var(--faint);font-size:12px}
.tc-a{display:flex;gap:6px;margin-top:auto}
.glass.f-l,.glass.f-r,.glass.f-t{fill:#cfe6ff;fill-opacity:.45;stroke:#b9d3ef;stroke-width:.8}
.rug{fill:#e9dfcb;opacity:.7}
.brain-tag{pointer-events:auto;position:absolute;transform:translate(-15%,-100%);display:flex;align-items:center;gap:8px;font:inherit;text-align:left;color:#1b1f2b;
background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.08);border-radius:14px;padding:6px 12px 6px 6px;box-shadow:0 8px 24px -10px rgba(0,0,0,.4);cursor:pointer}
.brain-tag .tg{display:flex;flex-direction:column;line-height:1.25}.brain-tag b{font-size:12.5px}.brain-tag .st{font-size:11.5px;color:#5c6378}
.orb{flex:none;display:inline-block;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8fb1ff,#3b5bff 60%,#1e2fb8)}
.panel-h .orb{width:22px;height:22px}
.av.ci{background:#f59e0b;font-size:11px}.av.pm{background:#ec4899;font-size:11px}.av.brain{background:#3b5bff}
.agent[data-role=ci] .torso{fill:#f59e0b}.agent[data-role=pm] .torso{fill:#ec4899}.agent[data-role=ci] .hair{fill:#c46a2b}.agent[data-role=pm] .hair{fill:#2a1d18}
.counters{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
.ct{border-radius:12px;background:#151a2b;color:#fff;padding:10px 12px}.ct b{display:block;font-size:22px;letter-spacing:-.02em}.ct span{font-size:12px;color:#aab3d6}
.talk{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:10px 0;background:var(--panel)}
.talk .k{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.talk textarea{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;resize:vertical;min-height:54px}
.talk-a{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.talk-a .meta{font-size:12px;color:var(--faint)}
.todo-h{margin-top:18px!important}.why{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#d4572c}
.results{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.res{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--panel)}
.res .big{font-size:16px;font-weight:600;letter-spacing:-.01em}.res .meta{font-size:12px;color:var(--faint)}.res .btn{align-self:flex-start}
#tab-risultati,#tab-cronologia{min-height:280px;padding:4px}
@media(max-width:759px){.brain-tag{display:none}.tabs button{padding:7px 9px}}
/* Situazione, decisioni, marketing: leggibili anche per chi non è sviluppatore */
.sit-head{display:flex;gap:14px;align-items:flex-start}.sit-head .lamp{flex:none;width:16px;height:16px;margin-top:6px;border-radius:50%}.sit-head .lamp.na{background:var(--faint)}
.sit-text{font-size:20px;font-weight:600;margin:2px 0 6px}
.sit-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:8px}
.sit-grid h3,.grow-p h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}
ul.plain{list-style:none;margin:0;padding:0;display:grid;gap:8px}ul.plain li{overflow-wrap:anywhere}
.big-n{font-size:28px;font-weight:700;margin:0 0 6px}
details summary{cursor:pointer;color:var(--muted);font-size:13px}
.decide{border-color:var(--warn);background:linear-gradient(0deg,rgba(245,184,75,.06),rgba(245,184,75,.06)),var(--panel)}
.decide h2{color:var(--warn)}
.grow-grid{display:grid;gap:20px}@media(min-width:900px){.grow-grid{grid-template-columns:2fr 1fr}}
.grow-p{border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:14px}.grow-p h3{margin:0 0 10px}
.grow-p h4{margin-top:14px}.kpis.sm .kpi .v{font-size:22px}
.sit-2{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
