/* ============================================================================
   AZIENDIA — SISTEMA VISIVO
   ----------------------------------------------------------------------------
   Un solo posto per carattere, colore, superficie, misura e profondita'.
   Una pagina nuova non inventa questi valori: li usa.

   IL CARATTERE. Fino a ieri il foglio dichiarava `Inter` e non lo caricava:
   nessun @font-face, nessun collegamento. Su Windows usciva Segoe UI, su Mac
   San Francisco, su Android Roboto — tre prodotti diversi con lo stesso CSS.
   Ora il carattere viaggia con il sito: variabile, sottoinsieme latino, 41 KB
   in due file, serviti da qui. Non da un terzo: la CSP dichiara gia'
   `font-src 'self'`, e un'impresa che vende presidio sui dati non va a
   prendere il proprio carattere da Google a ogni visita.

   I PESI SI FERMANO A 700, ed e' una scelta. Prima il foglio usava sette pesi
   diversi e `font-weight:900` compariva 61 volte: quando tutto e' grassetto,
   il grassetto non dice piu' niente. Con un tetto a 700 la gerarchia deve
   tornare a farla la dimensione e il colore.
   ========================================================================== */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/font/instrument-sans-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/assets/font/instrument-sans-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  /* --- fondi: dal telaio al foglio ------------------------------------- */
  --shell:#06131e;          /* il telaio: barra laterale e testata riservata */
  --shell-alto:#0d2130;     /* rilievo dentro il telaio */
  --bg:#eef2f5;             /* il piano di lavoro */
  --paper:#fff;             /* cio' su cui si agisce */
  --paper-incasso:#f6f9fb;  /* incassato dentro il foglio */

  /* --- fili -------------------------------------------------------------- */
  --line:#e1e8ec;           /* filo normale su fondo chiaro */
  --filo-forte:#ccd7df;     /* filo marcato: separa, non decora */
  --filo-scuro:rgba(255,255,255,.09);
  --filo-scuro-forte:rgba(255,255,255,.17);

  /* --- inchiostro. Il nome dice su quale fondo vive. --------------------- */
  --ink:#071522;--ink2:#0d2030;
  --ink-medio:#33424f;      /* corpo secondario su fondo chiaro — 9.6:1 */
  --muted:#66737f;--muted-forte:#5d6b78;
  --su-scuro:#8ea3b4;--blu-su-scuro:#4a80ff;
  --blu-testo:#1a52e0;--accento-chiaro:#3d6fd9;--verde-testo:#00786f;

  /* --- accento e semantica ---------------------------------------------- */
  --blue:#1f5eff;--teal:#18b7aa;--lime:#d8ff73;--amber:#d78a20;--red:#b94a48;
  --tinta-blu:#eef3ff;--tinta-verde:#e9f7f4;--tinta-ambra:#fdf4e3;--tinta-rossa:#fdf0ee;

  /* --- geometria: cinque raggi, non venti -------------------------------- */
  --r1:8px;--r2:11px;--r3:14px;--r4:20px;--r-pill:999px;--radius:var(--r4);

  /* --- profondita': tre livelli, e nessuna ombra decorativa -------------- */
  --e1:0 1px 2px rgba(7,21,34,.06);
  --e2:0 1px 2px rgba(7,21,34,.05),0 10px 26px rgba(7,21,34,.07);
  --e3:0 20px 56px rgba(7,21,34,.18);
  --shadow:var(--e3);

  /* --- piani: una scala, non un 999999 sparso --------------------------- */
  --z-dock:30;--z-testata:40;--z-menu:60;--z-foglio:70;--z-modale:80;

  /* --- movimento: sottile, mai decorativo -------------------------------- */
  --t1:130ms;--t2:210ms;--curva:cubic-bezier(.22,.61,.36,1);

  /* --- misure ------------------------------------------------------------ */
  --misura:68ch;            /* quanto e' largo un testo che si legge */
  --canvas-max:1160px;      /* quanto e' largo un piano che si usa */

  --font:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none}
/* Le cifre che stanno in colonna devono incolonnarsi davvero: un KPI che
   balla di due pixel fra 3 e 8 e' un dettaglio, ed e' il dettaglio che
   distingue uno strumento da un modello di pagina. */
.app-kpi b,.app-table td,.wk-plan,.bando-scadenza b,.kpi b,.console-stats b,.num{font-variant-numeric:tabular-nums}
/* Il focus si vede, sempre, e con lo stesso segno in tutto il prodotto. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:var(--r1)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}.skip-link{position:fixed;left:12px;top:-80px;z-index:var(--z-modale);background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}.topbar{height:72px;display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);column-gap:28px;align-items:center;padding:0 clamp(18px,4vw,60px);position:relative;z-index:20;background:rgba(244,247,248,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(7,21,34,.07)}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:900;letter-spacing:-.014em;font-size:16px;width:max-content}.brand-mark{width:31px;height:31px;border-radius:10px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:16px}.brand-mark.small{width:28px;height:28px;border-radius:9px}.brand-ia{color:var(--blue)}.top-status{display:flex;align-items:center;gap:8px;font-size:13px;color:#526270}.top-status i{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px rgba(24,183,170,.09)}.topnav{display:flex;justify-content:flex-end;align-items:center;gap:22px}.topnav a{font-size:13px;font-weight:700;color:#455563;text-decoration:none}.topnav a:hover{color:var(--blue)}.profile-pill{border:1px solid #ccd6dd;background:#fff;border-radius:11px;padding:9px 11px;font-size:13px;font-weight:800;display:flex;gap:12px;align-items:center;cursor:pointer}.profile-pill b{color:var(--blue)}.mobile-menu-button{display:none;border:0;background:transparent;font-size:22px}.mobile-menu{position:fixed;z-index:80;top:62px;left:10px;right:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:10px}.mobile-menu a{display:block;padding:12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:700;font-size:16px}.mobile-menu a:hover{background:#f0f4f6}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8facff;font-weight:900}.eyebrow span{color:#fff}.eyebrow.dark{color:var(--muted-forte)}.eyebrow.light{color:#9eb9ff}.hero{position:relative;overflow:hidden;padding:clamp(74px,9vw,126px) clamp(18px,5vw,76px) 46px;min-height:calc(100svh - 72px);background:linear-gradient(180deg,#071522 0,#0a1b2b 58%,#0d2030 100%);color:#fff}.hero-glow{position:absolute;inset:-20%;background:radial-gradient(circle at 68% 30%,rgba(31,94,255,.25),transparent 27%),radial-gradient(circle at 80% 62%,rgba(24,183,170,.12),transparent 24%);pointer-events:none}.hero-copy{position:relative;max-width:1060px;margin:0 auto}.hero h1{font-size:clamp(56px,8.4vw,132px);line-height:.88;letter-spacing:-.042em;margin:18px 0 28px;font-weight:780}.hero h1 em,.mission-section h2 em{font-style:normal;color:#7aa0ff}.section-heading h2 em,.trust-copy h2 em{font-style:normal;color:var(--accento-chiaro)}.hero-copy>p{max-width:720px;color:#bcc9d3;line-height:1.6;font-size:clamp(15px,1.4vw,19px);margin:0}.hero-copy>p strong{color:#fff}.role-strip{position:relative;max-width:1060px;margin:48px auto 0;display:flex;align-items:center;gap:13px}.role-strip>span{font-size:12px;letter-spacing:.08em;color:#7890a2;text-transform:uppercase;font-weight:800}.role-chips{display:flex;gap:7px;flex-wrap:wrap}.role-chips button{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#9fb0bd;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:750;cursor:pointer}.role-chips button.active,.role-chips button:hover{background:#fff;color:var(--ink);border-color:#fff}.task-grid{position:relative;max-width:1300px;margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.task-card{position:relative;min-height:248px;text-align:left;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.045);color:#fff;border-radius:19px;padding:20px;cursor:pointer;overflow:hidden;transition:.25s ease}.task-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.075);border-color:rgba(122,160,255,.55)}.task-card.featured{background:#fff;color:var(--ink);border-color:#fff}.task-card h2{font-size:22px;letter-spacing:-.022em;margin:38px 0 9px}.task-card p{font-size:14px;line-height:1.55;color:#91a1ad;margin:0;max-width:270px}.task-card.featured p{color:#657582}.task-card b{position:absolute;left:20px;bottom:18px;font-size:12px;letter-spacing:.02em}.task-card b i{font-style:normal;color:#6f99ff;margin-left:5px}.task-number{position:absolute;right:16px;top:15px;font-size:11px;color:#667b8b}.task-icon{width:35px;height:35px;border-radius:11px;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:18px}.featured .task-icon{background:#edf3ff;color:var(--blue)}.problem-card{grid-column:span 4;min-height:210px;padding:28px 30px 26px;background:linear-gradient(115deg,rgba(31,94,255,.23),rgba(24,183,170,.07));border-color:rgba(94,139,255,.35)}.problem-card h2{font-size:clamp(30px,4vw,52px);margin:6px 0 9px;max-width:780px}.problem-card p{font-size:16px;max-width:680px;color:#b7c7d2}.problem-card b{font-size:14px;left:30px;bottom:24px}.problem-orbit{position:absolute;right:10%;top:50%;width:170px;height:170px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center}.problem-orbit:before,.problem-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.problem-orbit:before{inset:24px}.problem-orbit:after{inset:51px;background:radial-gradient(circle,rgba(31,94,255,.75),rgba(31,94,255,.03) 60%,transparent 61%)}.problem-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#7aa0ff;animation:pulse 2.6s ease-in-out infinite}.problem-orbit i:nth-child(1){top:12px}.problem-orbit i:nth-child(2){bottom:25px;right:14px;background:var(--teal);animation-delay:-.7s}.problem-orbit i:nth-child(3){left:19px;bottom:34px;background:var(--lime);animation-delay:-1.3s}@keyframes pulse{50%{transform:scale(1.7);opacity:.45}}.hero-proof{max-width:1060px;margin:28px auto 0;border-top:1px solid rgba(255,255,255,.10);padding-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hero-proof div{display:grid;gap:4px}.hero-proof b{font-size:13px}.hero-proof span{font-size:12px;color:#748a9b;line-height:1.4}.section-pad{padding:clamp(72px,9vw,128px) clamp(18px,5vw,76px)}.section-heading{max-width:1180px;margin:0 auto 54px}.section-heading h2,.trust-copy h2{font-size:clamp(38px,5vw,72px);line-height:.96;letter-spacing:-.033em;margin:15px 0 0}.section-heading p,.trust-copy>p{color:var(--muted-forte);line-height:1.65;font-size:16px}.split-heading{display:grid;grid-template-columns:1.35fr .65fr;gap:60px;align-items:end}.split-heading>p{max-width:420px;margin:0 0 4px}.center-heading{text-align:center}.center-heading p{max-width:660px;margin:18px auto 0}.daily-section{background:#f4f7f8}.daily-demo{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr auto 1.15fr;gap:18px;align-items:center}.demo-input-card,.demo-output-card{border:1px solid var(--line);background:#fff;border-radius:24px;padding:26px;box-shadow:0 12px 40px rgba(7,21,34,.05)}.demo-input-card{background:#0b1d2d;color:#fff;border-color:#0b1d2d}.demo-label{font-size:11px;letter-spacing:.1em;color:#86a9ff;font-weight:900}.demo-input-card p{font-size:20px;line-height:1.4;letter-spacing:-.017em;margin:18px 0 0}.demo-arrow{font-size:30px;color:#a1adb5}.demo-head{display:flex;align-items:center;gap:10px}.ai-dot,.agent-id>span{width:32px;height:32px;border-radius:10px;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px}.demo-head div{display:grid}.demo-head b{font-size:14px}.demo-head small{font-size:12px;color:var(--muted-forte)}.demo-output-card>p{font-size:15px;line-height:1.6;color:#5e6f7c;margin:18px 0}.fake-mail{border:1px solid #e1e7eb;background:#f8fafb;border-radius:13px;padding:15px;display:grid;gap:8px;font-size:13px;color:var(--muted-forte)}.fake-mail b{color:#223442}.intelligence-section{background:#fff}.pattern-stage{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px}.pattern-history,.pattern-insight{border:1px solid var(--line);border-radius:24px;padding:26px}.pattern-history>span,.pattern-insight>span{font-size:11px;letter-spacing:.1em;color:var(--muted-forte);font-weight:900}.pattern-insight>span{color:var(--su-scuro)}.pattern-history>div{margin-top:14px;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf1f3}.pattern-history i{font-style:normal;width:24px;height:24px;border-radius:8px;background:#eef3f6;display:grid;place-items:center;font-size:11px}.pattern-history p{font-size:14px;margin:0;color:#526473}.pattern-insight{background:var(--ink);color:#fff}.pattern-insight h3{font-size:31px;line-height:1.05;letter-spacing:-.028em;margin:17px 0 12px}.pattern-insight p{font-size:15px;line-height:1.6;color:#9fb0bc}.pattern-insight button,.mission-section button{margin-top:18px;border:0;border-radius:11px;background:#fff;color:var(--ink);padding:12px 15px;font-size:13px;font-weight:850;cursor:pointer}.roles-section{background:#f4f7f8}.role-showcase{max-width:1120px;margin:auto;display:grid;grid-template-columns:190px 1fr;border:1px solid var(--line);background:#fff;border-radius:25px;overflow:hidden;min-height:520px}.role-tabs{background:#0b1c2a;padding:18px;display:grid;align-content:start;gap:7px}.role-tabs button{border:0;background:transparent;color:#7f95a5;text-align:left;padding:12px;border-radius:10px;font-size:13px;font-weight:750;cursor:pointer}.role-tabs button.active,.role-tabs button:hover{background:#fff;color:var(--ink)}.role-screen{padding:36px}.role-screen-head span{font-size:11px;letter-spacing:.1em;color:var(--blue);font-weight:900}.role-screen-head h3{font-size:34px;margin:8px 0 26px;letter-spacing:-.025em}.role-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.role-tool{border:1px solid #e1e7eb;border-radius:15px;padding:16px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.role-tool i{font-style:normal;width:32px;height:32px;border-radius:10px;background:#eef3ff;color:var(--blue);display:grid;place-items:center}.role-tool b{font-size:14px}.role-tool p{font-size:12px;color:#7b8994;margin:4px 0 0;line-height:1.45}.role-principle{margin-top:22px;border-left:3px solid var(--teal);background:#f5fbfa;padding:16px 18px}.role-principle span{font-size:11px;color:#16988e;font-weight:900;letter-spacing:.08em}.role-principle p{font-size:15px;line-height:1.55;margin:7px 0 0}.company-section{background:#071522;color:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}.company-copy{max-width:580px}.company-copy h2{font-size:clamp(42px,5vw,76px);line-height:.95;letter-spacing:-.033em;margin:18px 0}.company-copy p{font-size:16px;color:#9fb0bc;line-height:1.65}.primary-link{display:inline-block;margin-top:18px;text-decoration:none;font-size:13px;font-weight:850}.light-button{color:var(--ink);background:#fff;border-radius:11px;padding:12px 15px}.company-console{background:#fff;color:var(--ink);border-radius:24px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.26)}.console-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:15px;border-bottom:1px solid #e6ebee}.console-top div{display:grid}.console-top span{font-size:11px;color:var(--muted-forte);letter-spacing:.08em}.console-top b{font-size:18px;margin-top:4px}.pilot-badge{background:#edf3ff;color:var(--blue)!important;border-radius:999px;padding:6px 8px;font-weight:900}.console-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.console-stats div{background:#f5f7f8;border-radius:13px;padding:13px;display:grid}.console-stats span,.console-stats small{font-size:11px;color:#8a96a0}.console-stats b{font-size:24px;margin:5px 0}.console-feed{display:grid;gap:7px}.console-feed>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid #e4eaee;border-radius:12px;padding:11px}.console-feed i{width:7px;height:7px;border-radius:50%}.green{background:var(--teal)}.blue{background:var(--blue)}.amber{background:var(--amber)}.console-feed p{font-size:12px;margin:0}.console-feed span{font-size:11px;color:var(--muted-forte)}.privacy-note{font-size:11px!important;color:var(--muted-forte)!important;line-height:1.5!important;margin:13px 0 0!important}.levels-section{background:#f4f7f8}.level-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.level-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;min-height:390px;position:relative}.level-grid article.highlight{background:#0b1d2d;color:#fff;border-color:#0b1d2d}.level-grid article>span{font-size:11px;letter-spacing:.1em;color:#6d84c0;font-weight:900}.level-grid h3{font-size:26px;letter-spacing:-.025em;margin:15px 0 10px}.level-grid p{font-size:14px;line-height:1.55;color:#75838e}.level-grid .highlight p{color:#a9b8c2}.level-grid ul{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px}.level-grid li{font-size:12px;padding-left:15px;position:relative}.level-grid li:before{content:"✓";position:absolute;left:0;color:var(--teal)}.level-grid a,.level-grid button{position:absolute;left:22px;right:22px;bottom:22px;text-align:center;border:1px solid #d4dde3;border-radius:10px;background:#fff;color:var(--ink);padding:11px;text-decoration:none;font-size:13px;font-weight:850;cursor:pointer}.level-grid .highlight a{background:#fff;border-color:#fff}.level-grid small{position:absolute;bottom:64px;left:22px;right:22px;font-size:10px;color:#99a5ae;line-height:1.35}.trust-section{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.trust-copy{max-width:570px}.trust-copy a{font-size:13px;color:var(--blue);font-weight:850;text-decoration:none}.truth-stack{display:grid;gap:10px}.truth{border:1px solid var(--line);border-radius:17px;padding:18px}.truth span{font-size:11px;font-weight:900;letter-spacing:.08em}.truth p{font-size:14px;color:#677682;margin:8px 0 0}.truth.verified{border-left:4px solid var(--teal)}.truth.verified span{color:var(--verde-testo)}.truth.analysis{border-left:4px solid var(--blue)}.truth.analysis span{color:var(--blue)}.truth.unknown{border-left:4px solid var(--amber)}.truth.unknown span{color:#af721f}.mission-section{background:#0b1d2d;color:#fff;padding:clamp(80px,10vw,150px) clamp(18px,6vw,100px);text-align:center}.mission-section>span{font-size:11px;letter-spacing:.12em;color:#7494e8;font-weight:900}.mission-section h2{font-size:clamp(42px,6vw,88px);line-height:.96;letter-spacing:-.036em;margin:18px auto;max-width:1100px}.mission-section p{max-width:700px;margin:0 auto;color:#9fb0bc;line-height:1.65;font-size:16px}.footer{background:#06131e;color:#fff;padding:50px clamp(18px,5vw,76px) 24px;display:grid;grid-template-columns:1.4fr repeat(3,.6fr);gap:35px}.footer .brand{color:#fff}.footer-brand p{font-size:12px;line-height:1.5;color:#8497a5;max-width:310px}.footer>div:not(.footer-brand):not(.footer-bottom){display:grid;align-content:start;gap:9px}.footer b{font-size:12px}.footer a{font-size:12px;color:#8598a6;text-decoration:none}.footer .brand-ia{color:var(--blu-su-scuro)}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.08);padding-top:18px;display:flex;justify-content:space-between;color:var(--su-scuro);font-size:11px}
/* workbench */
.workbench{position:fixed;z-index:100;inset:0;background:#f2f5f6;color:var(--ink);overflow:hidden}.wb-back{justify-self:start;border:0;background:transparent;font-size:13px;font-weight:800;color:#576875;cursor:pointer}.wb-brand{display:flex;gap:9px;align-items:center}.wb-brand div{display:grid}.wb-brand b{font-size:14px}.wb-brand small{font-size:11px;color:var(--muted-forte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(340px,26vw);display:block}.wb-brand div{min-width:0}.wb-meta{justify-self:end;display:flex;align-items:center;gap:8px}.wb-meta button{border:1px solid #d8e0e5;background:#fff;border-radius:9px;padding:7px 9px;font-size:12px;cursor:pointer}.engine-badge{font-size:10px;font-weight:900;letter-spacing:.08em;background:#fff4d8;color:#a87320;border-radius:999px;padding:6px 8px}.engine-badge.live{background:#e9f8f5;color:#13897f}.utility-form{max-width:920px;margin-top:30px}.dynamic-fields{display:grid;gap:12px}.field-card{background:#fff;border:1px solid #dce4e9;border-radius:17px;padding:16px}.field-card label,.field-inline label{display:grid;gap:8px;font-size:12px;color:#526473;font-weight:800}.field-card textarea,.field-card input,.field-card select,.field-inline select,.field-inline input{width:100%;border:0;outline:0;background:#f7f9fa;border-radius:10px;padding:13px;font-size:15px;color:var(--ink)}.field-card textarea{min-height:135px;resize:vertical;line-height:1.55}.field-inline{display:grid;grid-template-columns:1fr 1fr;gap:10px}.file-drop{border:1px dashed #bfcbd3;border-radius:14px;padding:22px;text-align:center;background:#fbfcfc;cursor:pointer}.file-drop b{display:block;font-size:14px}.file-drop span{font-size:11px;color:var(--muted-forte)}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-name{font-size:12px;color:var(--blue);margin-top:7px}.utility-actions{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.primary-action,.secondary-action{border-radius:11px;padding:12px 15px;font-size:13px;font-weight:850;cursor:pointer}.primary-action{border:0;background:var(--blue);color:#fff}.secondary-action{border:1px solid #d6e0e6;background:#fff;color:var(--ink)}.primary-action.full{width:100%;margin-top:8px}.form-hint{font-size:11px;color:var(--muted-forte)}.util-error{margin-top:10px;border:1px solid #e8ccc4;border-left:3px solid #c2553d;background:#fdf6f4;border-radius:11px;padding:11px 13px;font-size:12px;line-height:1.5;color:#8c3b28}.utility-loading{max-width:920px;margin-top:25px;border:1px solid #dce4e9;background:#fff;border-radius:18px;padding:18px;display:flex;align-items:center;gap:13px}.pulse-core{width:42px;height:42px;border-radius:13px;background:#0b1d2d;color:#fff;display:grid;place-items:center;box-shadow:0 0 0 8px rgba(31,94,255,.07);animation:corePulse 1.8s ease-in-out infinite}.pulse-core span{font-weight:900}.utility-loading div:last-child{display:grid}.utility-loading b{font-size:14px}.utility-loading p{font-size:12px;color:#81909b;margin:4px 0 0}@keyframes corePulse{50%{box-shadow:0 0 0 16px rgba(31,94,255,.02)}}.utility-result{max-width:1000px;margin-top:28px}.result-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}.analysis-pill{font-size:10px;color:var(--blue);font-weight:900;letter-spacing:.08em;background:#eaf0ff;border-radius:999px;padding:6px 7px;display:inline-block}.result-top h3{font-size:27px;letter-spacing:-.025em;margin:9px 0 0}.result-top>button{border:1px solid #d6dfe5;background:#fff;border-radius:9px;padding:8px 10px;font-size:12px;cursor:pointer}.result-grid{display:grid;grid-template-columns:1.45fr .55fr;gap:12px}.result-main,.result-side{background:#fff;border:1px solid #dce4e9;border-radius:19px;padding:20px}.result-main>span,.result-side span{font-size:10px;letter-spacing:.09em;color:var(--muted-forte);font-weight:900}.result-main [data-result-main]{margin-top:16px;font-size:15px;line-height:1.7;white-space:pre-wrap}.result-side{display:grid;align-content:start;gap:18px}.result-side>div{padding-bottom:13px;border-bottom:1px solid #edf1f3}.result-side p{font-size:12px;line-height:1.5;color:var(--muted-forte);margin:6px 0 0}.result-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.result-actions button{border:1px solid #d7e0e6;background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:750;cursor:pointer}.pattern-nudge{margin-top:16px;background:#0b1d2d;color:#fff;border-radius:18px;padding:18px;display:flex;justify-content:space-between;gap:20px;align-items:center}.pattern-nudge span{font-size:10px;color:#7ea0f8;letter-spacing:.09em;font-weight:900}.pattern-nudge h4{font-size:18px;margin:7px 0 4px}.pattern-nudge p{font-size:12px;color:#9fb0bc;margin:0}.pattern-nudge button{border:0;background:#fff;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:850;cursor:pointer}.business-map-panel,.signal-panel{background:#fff;padding:18px 14px;overflow:auto}.mini-profile span{font-size:10px;border-radius:999px;background:#f1f4f6;padding:6px 7px;color:#6f7f8b}.growth-map-mini{display:grid;gap:5px}.growth-map-mini button{border:1px solid #e3e9ed;background:#fff;border-radius:11px;padding:10px;display:grid;grid-template-columns:8px 1fr;gap:8px;text-align:left;font-size:12px;cursor:pointer}.growth-map-mini button i{width:7px;height:7px;border-radius:50%;background:#ccd5da;margin-top:2px}.growth-map-mini button small{grid-column:2;font-size:10px;color:#8d99a2}.growth-map-mini button.active{border-color:#9cb7ff;background:#f2f6ff}.growth-map-mini button.active i{background:var(--blue)}.truth-mini span{font-size:9px;font-weight:900;border-radius:999px;padding:5px 6px}.truth-mini .v{background:#e8f7f3;color:#128f85}.truth-mini .a{background:#eaf0ff;color:var(--blue)}.truth-mini .q{background:#fff3dd;color:#a77024}.diagnosis-card{max-width:900px}.diagnosis-card h2{font-size:clamp(27px,3.2vw,44px);line-height:1.02;letter-spacing:-.03em;margin:13px 0 10px}.diagnosis-card p{max-width:760px;font-size:15px;line-height:1.65;color:#647582}.visual-area{max-width:980px;margin:22px 0}.visual-placeholder{min-height:180px;border:1px dashed #c8d2d9;border-radius:18px;display:grid;place-items:center;text-align:center;padding:25px;color:#85939d}.visual-placeholder span{font-size:26px}.visual-placeholder p{font-size:12px;max-width:380px}.flow-visual{display:flex;align-items:stretch;gap:7px;overflow:auto;padding-bottom:5px}.flow-node{min-width:116px;flex:1;background:#fff;border:1px solid #dce4e9;border-radius:13px;padding:14px;display:grid;align-content:center;min-height:90px}.flow-node small{font-size:9px;color:#99a3ab}.flow-node b{font-size:13px;margin-top:6px}.flow-arrow{display:grid;place-items:center;color:#96a3ad;font-size:16px}.flow-visual.future .flow-node{border-color:#badbd6;background:#f5fbfa}.funnel-visual{display:grid;grid-template-columns:1.2fr .8fr;gap:9px}.funnel-pipe{display:grid;gap:6px}.funnel-step{background:#fff;border:1px solid #dce4e9;border-radius:12px;padding:12px;display:flex;justify-content:space-between}.funnel-step b{font-size:13px}.funnel-step span{font-size:11px;color:#8c98a1}.funnel-insight{border-radius:16px;background:#0b1d2d;color:#fff;padding:18px}.funnel-insight span{font-size:10px;color:#7ea0f8}.funnel-insight p{font-size:13px;color:#a4b4bf;line-height:1.55}.decision-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.decision-item{background:#fff;border:1px solid #dce4e9;border-radius:14px;padding:16px}.decision-item span{font-size:10px;color:var(--muted-forte)}.decision-item b{display:block;font-size:15px;margin-top:8px}.gov-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.gov-item{background:#fff;border:1px solid #dce4e9;border-radius:14px;padding:15px}.gov-item i{width:8px;height:8px;border-radius:50%;background:var(--amber);display:block}.gov-item b{font-size:14px;display:block;margin:11px 0 5px}.gov-item p{font-size:11px;color:#82909a;margin:0}.opportunity-visual{background:#0b1d2d;color:#fff;border-radius:18px;padding:20px}.opportunity-visual>span{font-size:10px;color:#7ca0ff}.opportunity-visual h4{font-size:22px;margin:9px 0}.opportunity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.opportunity-grid div{border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:11px}.opportunity-grid span{display:block;font-size:10px;color:#8498a7}.opportunity-grid b{font-size:12px}.micro-lesson,.official-sources,.solution-card{max-width:980px;border-radius:18px;padding:18px;margin-top:12px}.micro-lesson{background:#fff;border:1px solid #dce4e9;border-left:4px solid var(--teal)}.micro-lesson>span,.solution-card>span,.official-sources>div>span{font-size:10px;letter-spacing:.09em;font-weight:900;color:#15998f}.micro-lesson h3,.solution-card h3{font-size:19px;margin:7px 0}.micro-lesson p,.solution-card>p,.official-sources>p{font-size:13px;line-height:1.55;color:#687985;margin:0}.official-sources{background:#f6fbf9;border:1px solid #cae8e3}.official-sources>div:first-child{display:flex;justify-content:space-between;gap:10px}.official-sources b{font-size:12px}.source-chips{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.source-chips a,.source-chips span{font-size:10px;background:#fff;border:1px solid #d5e9e5;border-radius:999px;padding:6px 7px;color:#227f78;text-decoration:none}.solution-card{background:#fff;border:1px solid #dce4e9}.solution-card>span{color:var(--blue)}.solution-steps{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0}.solution-steps span{font-size:11px;border-radius:999px;background:#eef3ff;color:#385ba8;padding:7px 8px}.do-now-box{margin-top:13px;background:#f5f8fa;border-radius:12px;padding:12px}.do-now-box b{font-size:12px}.do-now-box ul{padding-left:16px;margin:8px 0 0}.do-now-box li{font-size:11px;color:#617380;margin:4px 0}.project-opportunity{margin-top:14px;border-radius:14px;background:#f7f9fb;border:1px solid var(--line);border-left:3px solid var(--blue);color:var(--ink);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:18px}.project-opportunity span{font-size:10px;color:#7ca0ff}.project-opportunity h4{font-size:15px;margin:6px 0}.project-opportunity p{font-size:11px;color:#9eb0bd;margin:0}.project-opportunity button{border:0;background:#fff;color:var(--ink);border-radius:9px;padding:9px 10px;font-size:11px;font-weight:850;white-space:nowrap;cursor:pointer}.next-question{max-width:900px;margin:0 auto 6px;display:flex;align-items:center;gap:7px}.next-question>span{width:20px;height:20px;border-radius:7px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900}.next-question b{font-size:12px}.problem-input-wrap form{max-width:900px;margin:auto;border:1px solid #d2dce2;background:#fff;border-radius:15px;padding:5px;display:grid;grid-template-columns:auto 1fr auto;gap:5px;box-shadow:0 12px 35px rgba(7,21,34,.08)}.problem-input-wrap textarea{border:0;outline:0;resize:none;min-height:42px;max-height:100px;padding:11px 6px;font-size:14px}.problem-input-wrap form button{border:0;border-radius:10px;cursor:pointer}.problem-input-wrap form>button:last-child{width:42px;background:var(--blue);color:#fff;font-size:17px}.voice-trigger{width:42px;background:#eff3f5;color:#4f6170}.signal{display:grid;grid-template-columns:20px 1fr;gap:8px;border:1px solid #e2e8ec;border-radius:11px;padding:9px}.signal i{font-style:normal;font-size:10px;color:#9aa5ad}.signal b{font-size:12px}.signal p{font-size:10px;color:#85929d;line-height:1.4;margin:3px 0 0}.signal.high{border-color:#ead4ad;background:#fffaf2}.signal.good{border-color:#c8e7e1;background:#f7fbfa}.signal.muted{opacity:.65}.trust-box{margin-top:20px;background:#0b1d2d;color:#fff;border-radius:14px;padding:13px}.trust-box>span{font-size:10px;color:#799bf2;font-weight:900}.trust-box p{font-size:11px;line-height:1.45;color:#9eb0bc;margin:8px 0}.trust-box p b{color:#fff}.trust-box a{font-size:10px;color:#d7e1ff;text-decoration:none}
.continue-work{margin-top:10px;background:#fff;border:1px solid #d7e0e6;border-radius:14px;padding:5px;display:grid;grid-template-columns:auto 1fr auto auto;gap:5px;align-items:center}.continue-ai{width:34px;height:34px;border-radius:10px;background:#0b1d2d;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:900}.continue-work label{display:block}.continue-work input{width:100%;border:0;outline:0;background:transparent;padding:9px 5px;font-size:13px}.continue-work button{width:34px;height:34px;border:0;border-radius:9px;cursor:pointer}.continue-voice{background:#eef2f4;color:#536674}.continue-work button:last-child{background:var(--blue);color:#fff;font-size:15px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* modals */
.profile-modal,.lead-modal,.voice-overlay{position:fixed;z-index:200;inset:0;background:rgba(5,15,24,.82);backdrop-filter:blur(16px);display:grid;place-items:center;padding:18px}.profile-modal form,.lead-modal form{width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:25px;position:relative;box-shadow:var(--shadow)}.profile-modal h2,.lead-modal h2{font-size:31px;letter-spacing:-.028em;margin:12px 0 8px}.profile-modal form>p,.lead-modal form>p{font-size:13px;line-height:1.5;color:var(--muted-forte)}.modal-close{position:absolute;right:15px;top:15px;width:32px;height:32px;border:0;border-radius:50%;background:#f0f3f5;font-size:20px;cursor:pointer}.profile-modal label,.lead-modal label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#556674;margin:11px 0}.profile-modal input,.profile-modal select,.lead-modal input{border:1px solid #d8e1e6;border-radius:10px;padding:11px;background:#fbfcfd;outline:0}.privacy-check{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important}.privacy-check input{margin:2px 0 0}.privacy-check span{font-size:11px;line-height:1.4}.form-status{font-size:12px!important}.form-status.ok{color:#138c82}.form-status.error{color:#a33e3c}.voice-overlay{background:rgba(4,13,21,.94)}.voice-overlay>button{position:absolute;top:20px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);color:#fff;font-size:20px;cursor:pointer}.voice-center{text-align:center;color:#fff}.voice-orb{width:180px;height:180px;border:1px solid rgba(123,158,255,.32);border-radius:50%;margin:0 auto 28px;position:relative;display:grid;place-items:center;box-shadow:0 0 100px rgba(31,94,255,.16)}.voice-orb:before,.voice-orb:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.09);border-radius:50%}.voice-orb:before{inset:24px}.voice-orb:after{inset:50px;background:#0b1d2d}.voice-orb>span{position:relative;z-index:2;font-size:30px;font-weight:900}.voice-orb i{position:absolute;width:8px;height:8px;border-radius:50%;background:#6f99ff;animation:pulse 2s infinite}.voice-orb i:nth-child(1){top:10px}.voice-orb i:nth-child(2){right:14px;bottom:38px;background:var(--teal);animation-delay:-.7s}.voice-orb i:nth-child(3){left:18px;bottom:31px;background:var(--lime);animation-delay:-1.2s}.voice-center p{font-size:24px;min-height:35px}.voice-center small{font-size:11px;color:#8296a5}.transcript-drawer{position:fixed;z-index:180;right:14px;bottom:14px;width:min(420px,calc(100vw - 28px));max-height:66vh;background:#fff;border:1px solid #d7e0e5;border-radius:17px;box-shadow:var(--shadow);overflow:hidden}.transcript-head{padding:13px 14px;border-bottom:1px solid #e6ebee;display:flex;justify-content:space-between}.transcript-head b{font-size:13px}.transcript-head button{border:0;background:transparent;font-size:18px;cursor:pointer}.transcript-drawer>[data-transcript-body]{padding:12px;display:grid;gap:7px;max-height:54vh;overflow:auto}.transcript-line{padding:9px;border-radius:10px;font-size:12px;line-height:1.45}.transcript-line.user{background:#edf3ff;margin-left:24px}.transcript-line.agent{background:#f1f4f6;margin-right:24px}.transcript-line span{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;color:#89969f;margin-bottom:3px}
/* common inner pages */
.inner-hero{padding:105px clamp(18px,6vw,90px) 72px;background:#071522;color:#fff}.inner-hero .eyebrow{color:#87a5f7}.inner-hero h1{font-size:clamp(48px,7vw,96px);line-height:.94;letter-spacing:-.036em;margin:16px 0}.inner-hero p{max-width:720px;color:#a4b5c0;line-height:1.65;font-size:16px}.inner-main{padding:70px clamp(18px,6vw,90px);max-width:1380px;margin:auto}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.info-card span{font-size:10px;letter-spacing:.09em;color:var(--blue);font-weight:900}.info-card h3{font-size:22px;letter-spacing:-.022em;margin:10px 0}.info-card p,.info-card li{font-size:13px;color:#687985;line-height:1.55}.info-card ul{padding-left:16px}.page-cta{margin-top:50px;background:#0b1d2d;color:#fff;border-radius:24px;padding:30px;display:flex;justify-content:space-between;gap:30px;align-items:center}.page-cta h2{font-size:32px;margin:0;letter-spacing:-.025em}.page-cta p{font-size:13px;color:#9eb0bc;max-width:560px}.page-cta a,.page-cta button{border:0;background:#fff;color:var(--ink);text-decoration:none;border-radius:10px;padding:11px 13px;font-size:12px;font-weight:850;cursor:pointer}.source-table{display:grid;gap:7px}.source-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px}.source-row b{font-size:13px}.source-row span{font-size:12px;color:var(--muted-forte)}.source-row a{font-size:11px;color:var(--blue);text-decoration:none}.notice{border-left:4px solid var(--amber);background:#fff9ef;padding:15px;border-radius:10px;margin:25px 0;font-size:13px;line-height:1.55;color:#6c5b3f}
@media(max-width:1120px){.task-grid{grid-template-columns:repeat(2,1fr)}.problem-card{grid-column:span 2}.level-grid{grid-template-columns:repeat(2,1fr)}.company-section{grid-template-columns:1fr;gap:50px}.result-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:62px;grid-template-columns:1fr auto;padding:0 14px}.top-status,.topnav{display:none}.mobile-menu-button{display:block}.hero{padding:88px 14px 32px;min-height:auto}.hero h1{font-size:clamp(50px,15vw,74px)}.hero-copy>p{font-size:16px}.role-strip{margin-top:32px;display:block}.role-strip>span{display:block;margin-bottom:9px}.role-chips{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.role-chips button{white-space:nowrap}.task-grid{grid-template-columns:1fr;margin-top:19px}.task-card{min-height:205px}.problem-card{grid-column:span 1;min-height:270px}.problem-orbit{width:100px;height:100px;right:10px;top:35%}.problem-card h2{font-size:33px;max-width:85%}.problem-card p{max-width:85%;font-size:14px}.hero-proof{grid-template-columns:1fr;gap:11px}.section-pad{padding:72px 14px}.split-heading{grid-template-columns:1fr;gap:18px}.section-heading{margin-bottom:34px}.section-heading h2,.trust-copy h2{font-size:42px}.daily-demo{grid-template-columns:1fr}.demo-arrow{transform:rotate(90deg);justify-self:center}.pattern-stage{grid-template-columns:1fr}.role-showcase{grid-template-columns:1fr;min-height:auto}.role-tabs{grid-template-columns:repeat(6,max-content);overflow:auto;padding:10px}.role-tabs button{white-space:nowrap}.role-screen{padding:22px 15px}.role-tools{grid-template-columns:1fr}.company-section{padding-left:14px;padding-right:14px}.console-stats{grid-template-columns:1fr 1fr}.level-grid{grid-template-columns:1fr}.level-grid article{min-height:330px}.trust-section{grid-template-columns:1fr;gap:36px}.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{display:grid;gap:5px}.wb-brand{display:none}.wb-meta{justify-self:end}.wb-back span{display:none}.field-inline{grid-template-columns:1fr}.utility-actions{flex-direction:column-reverse}.utility-actions button{width:100%}.result-top{display:grid}.result-main,.result-side{padding:16px}.pattern-nudge{display:grid}.pattern-nudge button{width:100%}.diagnosis-card h2{font-size:34px}.funnel-visual,.decision-visual,.gov-visual,.opportunity-grid{grid-template-columns:1fr}.flow-node{min-width:105px}.project-opportunity{display:grid}.project-opportunity button{width:100%}.profile-modal,.lead-modal{padding:10px}.profile-modal form,.lead-modal form{border-radius:18px;padding:20px 17px}.voice-orb{width:145px;height:145px}.inner-hero{padding:92px 14px 60px}.inner-main{padding:55px 14px}.info-grid{grid-template-columns:1fr}.source-row{grid-template-columns:1fr}.page-cta{display:grid}.page-cta a,.page-cta button{width:100%;text-align:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}
/* direct contact */
.contact-form-card{margin:52px 0 24px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,4vw,38px);display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:start}.contact-form-card h2{font-size:clamp(30px,4vw,48px);line-height:1;letter-spacing:-.028em;margin:12px 0}.contact-form-card>div>p{font-size:15px;line-height:1.65;color:#667783}.contact-form-card form{display:grid;gap:14px}.contact-form-card label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#50616e}.contact-form-card label small{font-weight:500;color:var(--muted-forte)}.contact-form-card input,.contact-form-card textarea{width:100%;border:1px solid #d8e1e6;border-radius:11px;padding:12px;background:#fbfcfd;outline:0}.contact-form-card textarea{min-height:110px;resize:vertical}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:#7b9cff;box-shadow:0 0 0 3px rgba(31,94,255,.09)}
@media(max-width:760px){.contact-form-card{grid-template-columns:1fr;gap:22px}.contact-field-row{grid-template-columns:1fr}}

/* V6 · idea-to-business journey */
.problem-card{grid-column:span 2}.venture-card{grid-column:span 2;min-height:210px;padding:28px 30px 26px;background:linear-gradient(115deg,rgba(216,255,115,.10),rgba(24,183,170,.11));border-color:rgba(216,255,115,.24)}.venture-card h2{font-size:clamp(30px,3.5vw,48px);margin:6px 0 9px;max-width:620px}.venture-card p{font-size:16px;max-width:600px;color:#b7c7d2}.venture-card b{font-size:14px;left:30px;bottom:24px}.venture-spark{position:absolute;right:8%;top:50%;width:150px;height:150px;transform:translateY(-50%) rotate(45deg);border:1px solid rgba(216,255,115,.20);border-radius:32px}.venture-spark:before,.venture-spark:after{content:"";position:absolute;inset:27px;border:1px solid rgba(255,255,255,.10);border-radius:24px}.venture-spark:after{inset:55px;background:radial-gradient(circle,#d8ff73,rgba(216,255,115,.08) 60%,transparent 61%);box-shadow:0 0 48px rgba(216,255,115,.13)}.venture-spark i{position:absolute;width:8px;height:8px;border-radius:50%;background:#d8ff73;animation:pulse 2.4s infinite}.venture-spark i:nth-child(1){top:7px;left:24px}.venture-spark i:nth-child(2){right:8px;bottom:31px;background:var(--teal);animation-delay:-.7s}.venture-spark i:nth-child(3){left:12px;bottom:18px;background:#7aa0ff;animation-delay:-1.3s}
.venture-section{background:#eef3ee}.venture-journey{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.venture-journey article{background:#fff;border:1px solid #dce5df;border-radius:17px;padding:18px;min-height:190px}.venture-journey span{font-size:11px;color:#16988e;font-weight:900;letter-spacing:.08em}.venture-journey b{display:block;font-size:18px;margin:28px 0 8px;letter-spacing:-.017em}.venture-journey p{font-size:12px;line-height:1.5;color:#708078;margin:0}.venture-cta{max-width:1200px;margin:12px auto 0;background:#071522;color:#fff;border-radius:22px;padding:26px 28px;display:flex;justify-content:space-between;gap:30px;align-items:center}.venture-cta>div{max-width:760px}.venture-cta span{font-size:10px;letter-spacing:.1em;color:#9fcb62;font-weight:900}.venture-cta h3{font-size:28px;letter-spacing:-.022em;margin:8px 0}.venture-cta p{font-size:13px;color:#98aab6;margin:0;line-height:1.5}.venture-cta button{border:0;border-radius:11px;background:#d8ff73;color:#112018;padding:12px 15px;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap}.wb-sidebar .side-idea i{background:#d8ff73;color:#23380c}.wb-sidebar .side-idea.active{background:#263b13;color:#fff;border-color:#263b13}.idea-intro-card{max-width:820px;margin:clamp(24px,4vw,52px) auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,36px);box-shadow:0 1px 2px rgba(7,21,34,.04),0 18px 50px rgba(7,21,34,.06)}.idea-intro-card h2{font-size:clamp(28px,3.4vw,44px);line-height:1;letter-spacing:-.03em;margin:14px 0 12px}.idea-intro-card p{font-size:16px;color:#6b7b72;line-height:1.6;max-width:680px}.idea-example-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.idea-example-row button{border:1px solid #d8e2d8;background:#f8fbf5;color:#37532b;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:800;cursor:pointer}.idea-results{max-width:1040px;margin:auto;display:grid;gap:12px}.idea-verdict{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,2.8vw,34px);display:grid;grid-template-columns:1.35fr .85fr;gap:clamp(20px,2.4vw,34px);align-items:start;box-shadow:0 1px 2px rgba(7,21,34,.04),0 14px 40px rgba(7,21,34,.06)}.idea-verdict span{display:inline-block;background:#eef9cf;color:#41600a;border-radius:999px;padding:6px 12px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:900}.idea-verdict h2{font-size:clamp(28px,3.2vw,44px);line-height:1;letter-spacing:-.03em;margin:14px 0 10px;color:var(--ink)}.idea-verdict>div>p{color:#98aaa2;font-size:13px;line-height:1.5}.idea-verdict-message{border-left:3px solid var(--lime);padding-left:18px;color:#4a5967!important;font-size:15px!important;line-height:1.65!important;margin:0}.idea-model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.idea-model-grid article{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:17px;min-height:132px}.idea-model-grid article.wide{grid-column:span 4;min-height:auto;border-left:3px solid var(--lime)}.idea-model-grid span,.idea-two-col>article>span,.idea-validation>span,.idea-numbers span:first-child,.idea-roadmap>span,.idea-official>div>span,.professional-handoff>div>span{font-size:10px;letter-spacing:.09em;color:#75857c;font-weight:900}.idea-model-grid p{font-size:13px;line-height:1.5;color:#53645a;margin:10px 0 0}.idea-two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px}.idea-two-col article{border-radius:17px;padding:20px;background:var(--paper);border:1px solid var(--line)}.idea-strengths{border-left:3px solid var(--teal)}.idea-risks{border-left:3px solid var(--amber)}.idea-two-col ul{padding-left:18px;margin:13px 0 0;display:grid;gap:8px}.idea-two-col li{font-size:13px;line-height:1.45}.idea-validation,.idea-numbers,.idea-roadmap,.idea-official,.professional-handoff{background:#fff;border:1px solid #dde5df;border-radius:18px;padding:22px}.idea-validation h3,.idea-numbers h3,.idea-official h3,.professional-handoff h3{font-size:24px;letter-spacing:-.022em;margin:7px 0 15px}.idea-validation>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.idea-validation>div>div{background:#f6f8f6;border-radius:12px;padding:12px;display:grid;grid-template-columns:30px 1fr;gap:8px}.idea-validation i{font-style:normal;width:26px;height:26px;border-radius:8px;background:#263b13;color:#d8ff73;display:grid;place-items:center;font-size:9px}.idea-validation p{font-size:12px;line-height:1.45;margin:2px 0;color:#526158}.idea-numbers{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:center}.idea-numbers>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.idea-numbers>div:last-child span{border:1px solid #dce4de;background:#f7faf8;border-radius:999px;padding:8px 10px;font-size:11px;color:#4e5c54}.idea-roadmap>div{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.idea-roadmap>div>div{position:relative;border-top:3px solid #dfe6e1;padding:13px 6px 0}.idea-roadmap>div>div.now{border-color:#263b13}.idea-roadmap>div>div.next{border-color:#8aaa62}.idea-roadmap i{font-style:normal;font-size:9px;color:#88978e}.idea-roadmap b{font-size:12px;display:block;margin:4px 0}.idea-roadmap p{font-size:10px;line-height:1.4;color:#7a8880;margin:0}.idea-official{border-left:4px solid var(--teal)}.idea-official p{font-size:13px;line-height:1.5;color:#65756b}.idea-official .source-chips{margin:14px 0}.idea-official small{display:block;font-size:10px;color:#89958e;line-height:1.45}.professional-handoff{display:grid;grid-template-columns:1.4fr .6fr;gap:24px;background:#0b1d2d;color:#fff;border-color:#0b1d2d}.professional-handoff h3{color:#fff}.professional-handoff>div>p{color:#a8b8b0;font-size:13px;line-height:1.5}.handoff-preview{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04)}.handoff-preview b{font-size:11px;color:#d8ff73}.handoff-preview p{font-size:11px!important;line-height:1.5;color:#b6c5bd!important;margin:6px 0 0}.professional-actions{display:grid;align-content:center;gap:8px}.professional-actions button,.professional-actions a{border:0;border-radius:10px;padding:12px;font-size:12px;font-weight:900;text-decoration:none;text-align:center;cursor:pointer}.professional-actions button{background:#d8ff73;color:#1e3012}.professional-actions a{border:1px solid rgba(255,255,255,.14);color:#fff}.idea-input-wrap form{max-width:860px;margin:auto;background:#fff;border:1px solid #cad8ce;border-radius:16px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;padding:7px;box-shadow:0 14px 45px rgba(7,21,34,.12)}.idea-input-wrap textarea{border:0;outline:0;resize:none;padding:10px;min-height:44px;max-height:110px;background:transparent}.idea-input-wrap form>button:last-child{width:43px;height:43px;border:0;border-radius:11px;background:#263b13;color:#fff;font-size:20px;cursor:pointer}
.booking-modal{position:fixed;inset:0;z-index:190;background:rgba(4,13,21,.72);display:grid;place-items:center;padding:18px}.booking-card{position:relative;width:min(720px,100%);background:#fff;border-radius:24px;padding:32px;box-shadow:var(--shadow)}.booking-card h2{font-size:40px;line-height:1;letter-spacing:-.03em;margin:13px 0}.booking-card>p{color:var(--muted-forte);line-height:1.6;font-size:14px}.booking-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:22px 0}.booking-facts div{background:#f5f7f6;border:1px solid #e0e6e2;border-radius:12px;padding:12px}.booking-facts span{display:block;font-size:9px;letter-spacing:.08em;color:#839088;font-weight:900}.booking-facts b{display:block;font-size:14px;margin-top:5px}.booking-note{background:#fff8e9;border-left:3px solid var(--amber);padding:13px;border-radius:10px}.booking-note b{font-size:12px}.booking-note p{font-size:11px;line-height:1.45;margin:4px 0;color:#756449}.booking-actions{display:flex;gap:8px;margin-top:20px}.booking-actions a,.booking-actions button{flex:1;text-align:center;text-decoration:none}.booking-actions .primary-action{display:block}
@media(max-width:1120px){.problem-card,.venture-card{grid-column:span 1}.venture-journey{grid-template-columns:repeat(3,1fr)}.idea-model-grid{grid-template-columns:repeat(2,1fr)}.idea-model-grid article.wide{grid-column:span 2}.idea-roadmap>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.problem-card,.venture-card{grid-column:span 1;min-height:270px}.venture-card h2{font-size:33px;max-width:83%}.venture-card p{max-width:82%;font-size:14px}.venture-spark{width:90px;height:90px;right:8px}.venture-spark:before{inset:18px}.venture-spark:after{inset:35px}.venture-journey{grid-template-columns:1fr 1fr}.venture-journey article{min-height:160px}.venture-cta{display:grid}.venture-cta button{width:100%}.idea-intro-card{margin:25px auto;padding:22px}.idea-intro-card h2{font-size:42px}.idea-verdict{grid-template-columns:1fr;gap:8px;padding:20px}.idea-model-grid{grid-template-columns:1fr}.idea-model-grid article.wide{grid-column:span 1}.idea-two-col{grid-template-columns:1fr}.idea-validation>div{grid-template-columns:1fr}.idea-numbers{grid-template-columns:1fr}.idea-roadmap>div{grid-template-columns:1fr 1fr}.professional-handoff{grid-template-columns:1fr}.booking-card{padding:24px 18px}.booking-card h2{font-size:34px}.booking-facts{grid-template-columns:1fr}.booking-actions{display:grid}}
.booking-page-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.booking-page-main h2{font-size:clamp(36px,5vw,62px);line-height:1;letter-spacing:-.03em;margin:12px 0 28px}.booking-checkout{position:sticky;top:92px;background:#0b1d2d;color:#fff;border-radius:22px;padding:24px}.booking-checkout>span{font-size:10px;letter-spacing:.1em;color:#d8ff73;font-weight:900}.booking-checkout h2{font-size:30px;margin:11px 0 3px}.booking-price{font-size:18px;color:#9fb0bc;margin:18px 0}.booking-price b{font-size:58px;letter-spacing:-.03em;color:#fff}.booking-checkout p{font-size:12px;line-height:1.5;color:#a7b6bf}.booking-checkout small{display:block;margin-top:12px;font-size:9px;line-height:1.45;color:#7f929f}.booking-checkout .primary-action{margin-top:14px;text-decoration:none;text-align:center;cursor:pointer;border:0}.booking-checkout button.primary-action{width:100%}@media(max-width:760px){.booking-page-grid{grid-template-columns:1fr}.booking-checkout{position:relative;top:auto}}
.quick-intents{position:relative;max-width:1060px;margin:17px auto 0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.quick-intents>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6f8494;font-weight:850;margin-right:3px}.quick-intents button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:#a9bac6;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:750;cursor:pointer}.quick-intents button:hover{background:#fff;color:#10202d}@media(max-width:760px){.quick-intents{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.quick-intents>span,.quick-intents button{white-space:nowrap}}

/* dev panel (solo sviluppo, mai in produzione) */
.dev-panel{position:fixed;z-index:999;left:12px;bottom:12px;font-family:ui-monospace,Menlo,Consolas,monospace}.dev-panel-toggle{border:1px solid #3a4a56;background:#0b1d2d;color:#7ea0f8;border-radius:8px;padding:6px 9px;font-size:10px;font-weight:900;letter-spacing:.08em;cursor:pointer}.dev-panel-body{margin-top:6px;width:240px;max-height:70vh;overflow:auto;background:#0b1d2d;color:#cfe0ec;border:1px solid #29404f;border-radius:12px;padding:12px;box-shadow:0 20px 50px rgba(0,0,0,.35)}.dev-panel-row{margin-bottom:10px}.dev-panel-row>span{display:block;font-size:9px;color:#7890a2;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.dev-panel-row>b{font-size:11px}.dev-panel-roles,.dev-panel-scenarios{display:flex;flex-wrap:wrap;gap:4px}.dev-panel-roles button,.dev-panel-scenarios button{border:1px solid #2e4756;background:#132a3a;color:#cfe0ec;border-radius:999px;padding:5px 7px;font-size:10px;cursor:pointer}.dev-panel-roles button:hover,.dev-panel-scenarios button:hover{background:#1c3b4f}.dev-panel-reset{width:100%;border:1px solid #5a2e2e;background:#2a1414;color:#f2b3b3;border-radius:8px;padding:8px;font-size:10px;font-weight:800;cursor:pointer}

/* V7 · workbench simplification: single-column problem/idea canvas, lighter trust indicators */
.problem-stage-solo,.idea-stage-solo{height:100%;width:100%}
.diagnosis-top{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.area-chip{font-size:10px;font-weight:800;letter-spacing:.04em;color:#5a6d7c;background:#eef2f4;border-radius:999px;padding:4px 9px;text-transform:uppercase}
.signal-strip .signal{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-left:3px solid #c3ced6;border-radius:12px;padding:12px 14px;background:var(--paper)}
.signal-strip .signal i{font-style:normal;font-size:10px;color:#9aa5ad;flex:0 0 auto;margin-top:1px}
.signal-strip .signal b{font-size:12px;display:block}
.signal-strip .signal p{font-size:11px;color:#85929d;margin:2px 0 0;line-height:1.4}
.signal-strip .signal.high{border-left-color:var(--amber)}
.signal-strip .signal.good{border-left-color:var(--teal)}
.signal-strip .signal.muted{border-left-color:#d5dde3;opacity:.8}
.idea-readiness-reason{margin-top:8px!important}
@media(max-width:1120px){}
@media(max-width:760px){}

.official-sources.sources-unavailable{background:#fff9ef;border-color:#e8d7b4}.official-sources.sources-unavailable>div>span{color:#a1701c}
/* ===== AREA STRUMENTI — sistema visivo condiviso con la home ===== */
.workbench{position:fixed;z-index:100;inset:0;background:var(--bg);color:var(--ink);overflow:hidden;overflow:clip;display:flex;flex-direction:column}
.workbench-head{flex:0 0 auto;height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(14px,2.4vw,26px);border-bottom:1px solid rgba(7,21,34,.07);background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}
.workbench-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:236px minmax(0,1fr)}

/* --- colonna strumenti --- */
.wb-sidebar{background:#071522;color:#fff;padding:18px 12px 22px;display:flex;flex-direction:column;align-items:stretch;gap:3px;overflow:auto;min-height:0}
.side-label{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--su-scuro);font-weight:900;padding:6px 10px 7px}
.side-label-alt{margin-top:14px;padding-top:15px;border-top:1px solid rgba(255,255,255,.09)}
.wb-sidebar button{border:0;background:transparent;color:#93a7b6;border-radius:12px;padding:9px 10px;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:left;font-size:13px;font-weight:700;letter-spacing:-.007em;cursor:pointer;transition:background .16s ease,color .16s ease}
.wb-sidebar button i{font-style:normal;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:14px;transition:background .16s ease,color .16s ease}
.wb-sidebar button:hover{background:rgba(255,255,255,.07);color:#fff}
.wb-sidebar button.active{background:#fff;color:var(--ink)}
.wb-sidebar button.active i{background:#e9f0ff;color:var(--blue)}
.wb-sidebar .side-idea.active i{background:#eef9cf;color:#4a6708}
.wb-sidebar .side-problem i{background:rgba(122,160,255,.18);color:#a8c1ff}
.wb-sidebar .side-idea i{background:rgba(216,255,115,.14);color:#cbe98a}
.side-context{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.09)}
.side-context span{font-size:10.5px;color:#5b7183;letter-spacing:.11em;text-transform:uppercase;font-weight:900}
.side-context p{font-size:14px;font-weight:700;margin:8px 0 4px;color:#fff}
.side-context small{font-size:11.5px;line-height:1.5;color:#7c8fa0;display:block}
.side-context button{border:0;background:transparent;color:#7aa0ff;font-size:11.5px;font-weight:800;padding:8px 0 0;cursor:pointer}
.side-context button:hover{color:#a8c1ff}

/* --- i tre spazi: testata fissa, contenuto che scorre, dock in basso --- */
.utility-space,.idea-space,.problem-space{height:100%;min-height:0;min-width:0;overflow:hidden;overflow:clip}
.utility-space:not([hidden]),.idea-space:not([hidden]),.problem-space:not([hidden]){display:flex;flex-direction:column}

/* --- il palco scuro: e' la hero della home, dentro lo strumento --- */
.tool-stage{position:relative;flex:0 0 auto;overflow:hidden;overflow:clip;background:linear-gradient(180deg,#071522 0,#0c1e2e 100%);color:#fff;padding:clamp(24px,3.2vw,44px) clamp(20px,4.5vw,60px) clamp(20px,2.6vw,32px)}
.tool-stage:before{content:"";position:absolute;inset:-90% -35%;background:radial-gradient(ellipse 58% 52% at 78% 30%,rgba(31,94,255,.30),transparent 70%),radial-gradient(ellipse 44% 44% at 96% 86%,rgba(24,183,170,.13),transparent 70%);pointer-events:none}
.venture-stage:before{content:"";position:absolute;inset:-90% -35%;background:radial-gradient(ellipse 58% 52% at 78% 30%,rgba(216,255,115,.17),transparent 70%),radial-gradient(ellipse 44% 44% at 96% 86%,rgba(24,183,170,.14),transparent 70%);pointer-events:none}
.tool-stage-inner{position:relative;max-width:1180px;margin:0 auto;width:100%}
.stage-kicker{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:#7f97b0}
.tool-stage h2{font-size:clamp(29px,3.5vw,50px);line-height:.98;letter-spacing:-.03em;font-weight:780;margin:13px 0 11px;max-width:15ch}
.tool-stage h2 em{font-style:normal;color:#7aa0ff}
.stage-lead{max-width:620px;color:#a9b9c6;line-height:1.6;font-size:15.5px;margin:0}

/* agente che parla nel palco */
.stage-agent{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.stage-avatar{width:38px;height:38px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:16px;font-weight:900;flex:none}
.stage-avatar.venture{background:var(--lime);color:#31450a}
.stage-agent>div{min-width:0}
.stage-agent b{display:block;font-size:15px;letter-spacing:-.014em}
.stage-agent small{display:block;font-size:13px;line-height:1.5;color:#9fb0be;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage-trust{font-size:12px;font-weight:800;color:#7aa0ff;text-decoration:none;white-space:nowrap}
.stage-trust:hover{color:#a8c1ff}

/* contesto impresa: chip leggibili, non testo schiacciato */
.context-strip{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:16px}
.context-strip b{font-size:12px;font-weight:800;letter-spacing:-.007em;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:6px 11px}
.context-strip span{font-size:12px;font-weight:700;color:#93a7b6;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 11px}

/* stepper del percorso */
.stage-progress{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px}
.stage-progress span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#5e7488;display:inline-flex;align-items:center;gap:6px}
.stage-progress span:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}
.stage-progress .done{color:#8fa5b6}
.stage-progress .active{color:#fff}
.stage-progress .active:before{background:#7aa0ff;opacity:1;box-shadow:0 0 0 4px rgba(122,160,255,.2)}
.venture-stage .stage-progress .active:before{background:var(--lime);box-shadow:0 0 0 4px rgba(216,255,115,.16)}
.stage-progress i{width:20px;height:1px;background:rgba(255,255,255,.15)}

/* --- superficie di lavoro chiara --- */
.tool-surface{flex:1 1 auto;min-height:0;overflow:auto;padding:clamp(20px,2.6vw,34px) clamp(20px,4.5vw,60px) clamp(28px,3.4vw,48px);-webkit-overflow-scrolling:touch}
.tool-surface>*{max-width:1180px;margin-inline:auto}

/* --- dock: quello che scrivi tu, sempre visibile, mai sopra al contenuto --- */
.input-dock{flex:0 0 auto;background:#fff;border-top:1px solid var(--line);padding:11px clamp(20px,4.5vw,60px) 12px;box-shadow:0 -12px 30px rgba(7,21,34,.055)}
.dock-inner{max-width:1180px;margin:0 auto}
.input-dock .next-question{display:flex;align-items:center;gap:8px;margin:0 0 7px;background:transparent;padding:0}
.input-dock .next-question>span{width:20px;height:20px;border-radius:6px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900;flex:none}
.idea-input-wrap .next-question>span{background:var(--lime);color:#31450a}
.input-dock .next-question b{font-size:13px;font-weight:750;letter-spacing:-.007em;color:#465563;line-height:1.4}
.input-dock form{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:end;background:#f6f8f9;border:1px solid var(--line);border-radius:14px;padding:6px}
.input-dock form:focus-within{border-color:#a9c2ff;background:#fff;box-shadow:0 0 0 4px rgba(31,94,255,.09)}
.input-dock textarea{border:0;outline:0;background:transparent;resize:none;font-size:15px;line-height:1.45;padding:7px 2px;max-height:120px;color:var(--ink)}
.input-dock form>button{border:0;cursor:pointer;border-radius:11px;flex:none}
.input-dock .voice-trigger{width:34px;height:34px;background:#fff;border:1px solid var(--line);color:#5a6b78;font-size:14px}
.input-dock .voice-trigger:hover{border-color:#a9c2ff;color:var(--blue)}
.input-dock form>button:last-child{width:40px;height:34px;background:var(--ink);color:#fff;font-size:15px;font-weight:800}
.input-dock form>button:last-child:hover{background:var(--blue)}
.problem-footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:9px;font-size:11.5px;color:#80909c}
.problem-footer>span{color:#8593a0}
.footer-actions{display:flex;gap:4px;flex-wrap:wrap}
.problem-footer button{border:0;background:transparent;color:#5f7080;font-size:11.5px;font-weight:800;cursor:pointer;padding:5px 8px;border-radius:8px}
.problem-footer button:hover{background:#eef2f4;color:var(--ink)}

/* --- tele --- */
.idea-canvas,.problem-canvas{display:grid;gap:13px}

/* --- segnali: riga di schede pari, senza fondi colorati --- */
.signal-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:10px}
@media(max-width:1120px){
  .workbench-body{grid-template-columns:200px minmax(0,1fr)}
  .stage-agent{grid-template-columns:auto minmax(0,1fr);row-gap:9px}
  .stage-trust{grid-column:1/-1;white-space:normal}
}
@media(max-width:760px){
  .workbench-head{height:60px;padding:0 12px}
  .workbench-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .wb-sidebar{flex-direction:row;align-items:center;gap:6px;padding:9px 10px;overflow-x:auto;overflow-y:hidden}
  .side-label,.side-context{display:none}
  .side-label-alt{display:none}
  .wb-sidebar button{grid-template-columns:auto;gap:0;padding:8px;flex:none}
  .wb-sidebar button span{display:none}
  .wb-sidebar button i{width:34px;height:34px}
  .tool-stage{padding:18px 16px 16px}
  .tool-stage h2{font-size:clamp(26px,7.4vw,34px);max-width:none}
  .stage-lead{font-size:14.5px}
  .stage-agent small{white-space:normal}
  .stage-progress{gap:7px}
  .stage-progress i{width:12px}
  .tool-surface{padding:16px 14px 24px}
  .input-dock{flex:0 0 auto;background:#fff;border-top:1px solid var(--line);padding:10px clamp(20px,4.5vw,60px) 12px;box-shadow:0 -12px 30px rgba(7,21,34,.055)}
  .signal-strip{grid-template-columns:1fr}
}
/* firma Venture sul verdetto, senza tornare a un blocco scuro */
.idea-verdict:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:linear-gradient(90deg,var(--lime),#a8dd5c)}
/* gerarchia dei campi: l'etichetta guida, il segnaposto non compete col testo scritto */
.field-card label,.field-inline label{color:#46586a}
.field-card ::placeholder,.field-inline ::placeholder{color:#97a5b0;font-weight:400}
.field-card textarea:focus,.field-card input:focus,.field-card select:focus,.field-inline select:focus,.field-inline input:focus{background:#fff;box-shadow:0 0 0 3px rgba(31,94,255,.1)}
.field-card:focus-within{border-color:#b9cdf5}
/* etichette delle schede analisi: stessa voce in tutta l'area strumenti */
.idea-model-grid span,.idea-two-col>article>span,.idea-validation>span,.idea-numbers span:first-child,.idea-roadmap>span,.idea-official>div>span,.professional-handoff>div>span{color:#6b7a87}
@media(max-width:760px){
  /* la testata mobile restava vuota: senza nome dello strumento non si
     capiva dove si era finiti. Torna il nome, senza il sottotitolo. */
  .wb-brand{display:flex;min-width:0}
  .wb-brand .brand-mark{display:none}
  .wb-brand b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
  .wb-brand small{display:none}
  /* lo stepper andava a capo su due righe: resta su una riga e scorre */
  .stage-progress{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .stage-progress::-webkit-scrollbar{display:none}
  .stage-progress span{white-space:nowrap;font-size:10px}
  /* il pannello di sviluppo copriva le azioni del dock */
  .dev-panel{bottom:auto;top:68px}
}
/* Una griglia con colonna implicita 'auto' non scende sotto la larghezza del
   contenuto: la fila di nodi del processo allargava la colonna e i titoli
   venivano tagliati invece di andare a capo. Con minmax(0,1fr) la colonna
   puo' restringersi e sono i singoli blocchi larghi a scorrere. */
.idea-canvas,.problem-canvas{grid-template-columns:minmax(0,1fr)}
.idea-canvas>*,.problem-canvas>*{min-width:0}
.visual-area{min-width:0}
.flow-visual{scrollbar-width:thin}
@media(max-width:760px){
  /* il pulsante di sviluppo copriva il primo strumento della barra */
  .dev-panel{left:auto;right:10px;top:auto;bottom:10px}
}
/* ===== RAGIONARE INSIEME — palco compatto, documento ad atti ===== */

/* azioni sul documento: vivono nella barra, non nel dock */
.stage-actions{display:none;gap:2px;margin-left:auto;flex:none}
.stage-actions button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#c2d3e0;border-radius:9px;padding:6px 11px;font-size:11.5px;font-weight:750;cursor:pointer;white-space:nowrap}
.stage-actions button:hover{background:#fff;color:var(--ink);border-color:#fff}

/* stato compatto: appena c'e' una risposta il palco diventa una barra.
   L'orientamento serve all'inizio; dopo, lo schermo serve al contenuto. */
.tool-stage.is-active{padding-top:0;padding-bottom:0}
.tool-stage.is-active:before{opacity:.55}
.tool-stage.is-active .tool-stage-inner{display:flex;align-items:center;gap:16px;min-height:58px;flex-wrap:nowrap}
.tool-stage.is-active .stage-agent{display:flex;align-items:center;gap:9px;flex:none}
.tool-stage.is-active .stage-avatar{width:27px;height:27px;border-radius:9px;font-size:13px}
.tool-stage.is-active .stage-agent b{font-size:13.5px}
.tool-stage.is-active .stage-agent small,.tool-stage.is-active .stage-trust,.tool-stage.is-active .context-strip{display:none}
.tool-stage.is-active .stage-progress{margin:0;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.tool-stage.is-active .stage-progress::-webkit-scrollbar{display:none}
.tool-stage.is-active .stage-actions{display:flex}

/* atti: danno ritmo a un documento lungo, invece di un flusso indistinto */
.act{display:grid;gap:13px}
.idea-results{display:grid;gap:clamp(26px,3vw,40px)}
.act-label{font-family:inherit;font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#7a8895;margin:0;display:flex;align-items:center;gap:11px}
.act-label:after{content:"";flex:1;height:1px;background:var(--line)}
.act-foldable{gap:0}
.act-toggle{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:16px 19px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.act-toggle:hover{border-color:#b9cdf5;background:#fbfcfd}
.act-toggle .act-label{flex:none}
.act-toggle .act-label:after{display:none}
.act-hint{font-size:13.5px;color:#7d8b97;flex:1;min-width:0}
.act-toggle i{width:26px;height:26px;border-radius:8px;background:#eef2f5;color:#4c5c6a;display:grid;place-items:center;font-style:normal;flex:none;transition:transform .18s ease,background .15s ease}
.act-toggle i:after{content:"\2193";font-size:13px;font-weight:800}
.act-toggle:hover i{background:#e6edfb;color:var(--blue)}
.act-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.act-body{display:grid;gap:13px;margin-top:13px}

/* nota di riservatezza: fuori dal dock, in fondo al documento */
.canvas-note{font-size:12px;color:#8b98a4;margin:4px 0 0;text-align:center}

@media(max-width:760px){
  .tool-stage.is-active .tool-stage-inner{flex-wrap:wrap;gap:9px;padding:10px 0}
  .tool-stage.is-active .stage-progress{order:3;flex-basis:100%}
  .stage-actions button{padding:5px 9px;font-size:11px}
  .act-toggle{flex-wrap:wrap;gap:8px;padding:14px 16px}
  .act-hint{flex-basis:100%;order:3;font-size:13px}
  .input-dock .next-question b{font-size:12.5px}
}
@media(prefers-reduced-motion:reduce){.act-toggle,.act-toggle i{transition:none}}
/* stato vuoto: contenuto centrato invece di appoggiato in alto con
   trecento pixel di vuoto sotto */
.idea-space:not(.has-result) .idea-canvas,.problem-space:not(.has-result) .problem-canvas{min-height:100%;align-content:center}
.idea-space:not(.has-result) .idea-intro-card{margin:0 auto}
.problem-space.has-result .starter-row{display:none}
.starter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px}
.starter-row>span{font-size:13px;color:#7d8b97;margin-right:2px}
.starter-row button{border:1px solid var(--line);background:var(--paper);color:#31404d;border-radius:999px;padding:9px 15px;font-size:13.5px;font-weight:700;cursor:pointer;transition:border-color .15s ease,color .15s ease}
.starter-row button:hover{border-color:#a9c2ff;color:var(--blue)}
@media(max-width:760px){.starter-row{gap:7px}.starter-row button{font-size:13px;padding:8px 13px}}
/* Il pannello di sviluppo si sovrapponeva al blocco contesto (desktop) e
   al pulsante di invio del dock (mobile). Resta in basso a sinistra, ma
   senza coprire comandi reali. */
.side-context{padding-bottom:36px}
@media(max-width:760px){.dev-panel{left:10px;right:auto;top:auto;bottom:120px}}

/* Fase 1 fondamenta: accedi/registrati/area minima autenticata */
.auth-shell{min-height:calc(100svh - 72px);display:grid;place-items:center;padding:40px 18px;background:var(--bg)}
.auth-card{width:min(440px,100%);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,4vw,38px);box-shadow:0 1px 2px rgba(7,21,34,.04),0 18px 50px rgba(7,21,34,.07)}
.auth-card h1{font-size:clamp(26px,3vw,32px);letter-spacing:-.025em;line-height:1.05;margin:0 0 8px}
.auth-lede{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 20px}
.auth-card form,.app-card form,.survey-card form{display:grid;gap:14px}
.auth-card label,.app-card label,.survey-card label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#50616e}
.auth-card label small,.app-card label small,.survey-card label small{font-weight:500;color:var(--muted-forte)}
.auth-card input,.app-card input,.app-card textarea,.survey-card input,.survey-card textarea{width:100%;border:1px solid #d8e1e6;border-radius:11px;padding:12px;background:#fbfcfd;outline:0;font-size:15px;font-family:inherit;resize:vertical}
.auth-card input:focus,.app-card input:focus,.app-card textarea:focus,.survey-card input:focus,.survey-card textarea:focus{border-color:#7b9cff;box-shadow:0 0 0 3px rgba(31,94,255,.09)}
.auth-error{font-size:12.5px;color:#a33e3c;background:#fdf1f0;border-radius:9px;padding:9px 11px;margin:0}
.auth-switch{margin:18px 0 0;font-size:13px;color:var(--muted);text-align:center}
.auth-switch a{color:var(--blue);font-weight:800;text-decoration:none}
.auth-card>p:not(.auth-lede):not(.auth-error){font-size:14px;line-height:1.6;color:#526473;margin:0 0 18px}
body.app-authed .topbar{display:none}
.wb-sidebar a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:left;font-size:13px;font-weight:700;letter-spacing:-.007em;color:#93a7b6;text-decoration:none;border-radius:12px;padding:9px 10px;transition:background .16s ease,color .16s ease}
.wb-sidebar a i{font-style:normal;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:14px;transition:background .16s ease,color .16s ease}
.wb-sidebar a:hover{background:rgba(255,255,255,.07);color:#fff}
.wb-sidebar a.active{background:#fff;color:var(--ink)}
.wb-sidebar a.active i{background:#e9f0ff;color:var(--blue)}
.wb-org{font-size:12.5px;font-weight:800;color:#50616e}
/* Selettore dell'impresa attiva. Compare solo a chi appartiene a piu' di
   un'azienda, quindi deve somigliare al nome che sostituisce e non a un
   comando in piu': stessa dimensione, stesso colore, nessun bordo finche'
   non ci si passa sopra. */
.wb-org-switch{-webkit-appearance:none;appearance:none;border:1px solid transparent;background:transparent;font:inherit;font-size:11px;color:var(--muted-forte);border-radius:7px;padding:1px 18px 1px 4px;margin-left:-4px;max-width:36vw;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a97a1' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center}
.wb-org-switch:hover{border-color:#d8e0e5;background-color:#fff}
.wb-org-switch:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.wb-org-switch:disabled{opacity:.5;cursor:progress}
.app-content{overflow:auto;padding:clamp(22px,3.4vw,44px) clamp(16px,3vw,40px);scroll-padding-bottom:92px;scroll-padding-top:16px}
.app-content-inner{max-width:720px;margin:0 auto;display:grid;gap:16px;min-width:0}.app-content-inner>*{min-width:0}@media(min-width:1600px){.app-content-inner{max-width:1000px}.app-content-inner>p,.app-content-inner .app-lede,.app-content-inner .oggi-testata p{max-width:68ch}}
.app-content-inner h1{font-size:clamp(24px,3vw,30px);letter-spacing:-.02em;margin:0 0 4px}
.app-eyebrow{font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0}
.app-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,3vw,28px)}
.app-card p:not(.auth-error){font-size:14.5px;line-height:1.6;color:#3d4c58;margin:0 0 12px}
.app-card p:not(.auth-error):last-child{margin-bottom:0}
.app-card a{color:var(--blue);font-weight:700;text-decoration:none}
.app-card dl{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;margin:0;font-size:14px}
.app-card dt{color:var(--muted);font-weight:700}
.app-card dd{margin:0;color:var(--ink);font-weight:700}
.app-empty{border:1px dashed var(--line);border-radius:16px;padding:18px;font-size:13.5px;color:var(--muted);line-height:1.6}
.app-card-title{font-size:15px;letter-spacing:-.007em;margin:0 0 14px}
.app-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:18px}
.app-table th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:0 10px 8px;border-bottom:1px solid var(--line)}
.app-table td{padding:10px;border-bottom:1px solid var(--line);color:#3d4c58}
.app-table tr:last-child td{border-bottom:0}
.member-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blu-testo);background:#eaf0ff;border-radius:999px;padding:2px 7px;margin-left:4px}
/* "solo anagrafica" descrive un limite, non una qualita': non deve avere il
   colore dell'accento, che qui significa "attivo". */
.member-tag-quiet{color:var(--muted-forte);background:#eef1f3}
/* Persone e accessi. Una riga revocata non sparisce: resta visibile e spenta,
   perche' "chi c'era e non c'e' piu'" e' un'informazione, e perche' le sue
   risposte al censimento restano agli atti dell'impresa. */
/* Una tabella larga scorre dentro il proprio riquadro. Senza, a scorrere di
   lato e' la pagina intera: la barra laterale esce dallo schermo e si perde
   l'orientamento per colpa di una colonna. */
.app-table-scroll{overflow-x:auto;margin-bottom:18px;-webkit-overflow-scrolling:touch}
.app-table-scroll .app-table{margin-bottom:0;min-width:520px}
.member-inactive{opacity:.5}
.member-inactive td:first-child{text-decoration:line-through}
.app-table select{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 7px;font:inherit;font-size:12.5px;cursor:pointer}
/* Azione secondaria dentro una tabella: e' un comando, non un collegamento,
   ma pesa come un collegamento perche' la tabella deve restare leggibile. */
/* Le azioni non vanno a capo a meta' parola: "Revoca / accesso" su due righe
   sembra un errore, non una scelta. La colonna resta intera e, se serve, e' il
   contenitore a scorrere. */
.app-table-actions{white-space:nowrap;text-align:right}
.app-table-actions .link-action{margin-left:12px;margin-right:0}
.link-action{border:0;background:transparent;padding:0;margin-right:10px;font:inherit;font-size:12px;font-weight:750;color:var(--blue);text-decoration:underline;text-underline-offset:2px;white-space:nowrap;cursor:pointer}
.link-action:hover{color:#0b1d2d}
.link-action:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
/* Il censimento sta chiuso di default: e' l'azione meno frequente delle due,
   e tenerla aperta faceva sembrare che la strada normale per aggiungere
   qualcuno fosse quella — mentre e' l'invito. */
.app-details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.app-details summary{font-size:13px;font-weight:800;color:#50616e;cursor:pointer;list-style:none}
.app-details summary::-webkit-details-marker{display:none}
.app-details summary::before{content:'+ ';color:var(--blue);font-weight:900}
.app-details[open] summary::before{content:'– '}
.app-note{margin:12px 0;border:1px solid #cae8e3;background:#f6fbf9;border-radius:12px;padding:12px 14px;font-size:12.5px;line-height:1.55;color:#2a6b65}
.app-note:empty{display:none;margin:0;border:0;padding:0}
.app-copy{display:block;margin-top:8px;background:#fff;border:1px solid #cae8e3;border-radius:8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;word-break:break-all;-webkit-user-select:all;user-select:all}
.app-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.app-form-row{grid-template-columns:1fr}}
.app-checkbox{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#3d4c58}
.app-checkbox input{width:auto!important;flex:none}
.app-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:640px){.app-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.app-kpi{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px}
.app-kpi b{display:block;font-size:26px;letter-spacing:-.014em;color:var(--ink)}
.app-kpi span{font-size:11.5px;font-weight:700;color:var(--muted)}
.campaign-status{font-size:11px;font-weight:800;letter-spacing:.03em;border-radius:999px;padding:3px 9px}
.campaign-status-active{background:#e6f7ee;color:#137a41}
.campaign-status-draft{background:#f1f3f5;color:var(--muted-forte)}
.campaign-status-closed{background:#fdf1f0;color:#a33e3c}
.survey-shell{min-height:calc(100svh - 72px);display:flex;justify-content:center;padding:40px 18px 80px;background:var(--bg)}
.survey-card{width:min(680px,100%);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(24px,4vw,44px);box-shadow:0 1px 2px rgba(7,21,34,.04),0 18px 50px rgba(7,21,34,.07);align-self:flex-start}
.survey-card h1{font-size:clamp(24px,3vw,30px);letter-spacing:-.02em;line-height:1.08;margin:0 0 10px}
.survey-card>.app-empty{margin-bottom:22px}
.survey-dimension{border:0;border-top:1px solid var(--line);padding:22px 0 4px;margin:0}
.survey-dimension:first-of-type{border-top:1px solid var(--line);margin-top:6px}
.survey-dimension legend{font-size:13px;font-weight:900;letter-spacing:.03em;color:var(--ink);padding:0 0 4px}
.survey-dim-desc{font-size:13px;color:var(--muted);margin:0 0 16px;line-height:1.5}
.survey-question{margin-bottom:18px}
.survey-question>p{font-size:14.5px;font-weight:700;color:#2c3742;margin:0 0 10px;line-height:1.45}
.survey-radios{display:grid;gap:8px}
.survey-radio{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px;font-size:13.5px;font-weight:500!important;color:#3d4c58;border:1px solid var(--line);border-radius:11px;padding:10px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.survey-radio:hover{border-color:#a9c2ff;background:#f8faff}
.survey-radio input{width:auto!important;margin-top:2px;flex:none}
.survey-score{display:flex;align-items:baseline;gap:6px;margin:8px 0 2px}
.survey-score b{font-size:52px;letter-spacing:-.02em;color:var(--ink)}
.survey-score span{font-size:16px;color:var(--muted);font-weight:700}
.survey-level{font-size:15px;font-weight:800;color:var(--blue);margin:0 0 14px}
.survey-disclaimer{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:16px}
.tool-card{border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px;background:var(--bg)}
.tool-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.tool-card-head b{font-size:14px}
.tool-remove{border:0;background:none;color:var(--red);font-size:12px;font-weight:800;cursor:pointer;padding:2px 4px}
.tool-fieldset{border:0;padding:10px 0 4px;margin:0 0 4px}
.tool-fieldset legend{font-size:12.5px;font-weight:800;color:#2c3742;padding:0 0 8px}
.tool-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px}
.tool-check{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:12.5px;font-weight:500!important;color:#3d4c58}
.tool-check input{width:auto!important;flex:none}
.validator-score-card{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.validator-score{display:flex;align-items:baseline;gap:4px}
.validator-score b{font-size:46px;letter-spacing:-.02em;color:var(--ink)}
.validator-score span{font-size:14px;color:var(--muted);font-weight:700}
.validator-dim{padding:14px 0;border-top:1px solid var(--line)}
.validator-dim:first-child{border-top:0;padding-top:0}
.validator-dim-head{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:6px}
.validator-dim-head span{color:var(--muted);font-weight:700}
.validator-bar{height:6px;border-radius:999px;background:#eceff1;overflow:hidden;margin-bottom:8px}
.validator-bar-fill{height:100%;background:var(--blue);border-radius:999px}
.validator-dim p{font-size:13px;color:#3d4c58;margin:0}
.validator-missing{margin:8px 0 0;padding-left:18px;font-size:12.5px;color:var(--muted)}
.validator-flag{border-left:3px solid var(--line);padding:10px 0 10px 14px;margin-bottom:10px}
.validator-flag-critical{border-left-color:var(--red)}
.validator-flag-high{border-left-color:var(--amber)}
.validator-flag-medium{border-left-color:var(--blue)}
.validator-flag-info{border-left-color:var(--teal)}
.validator-flag-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.validator-severity{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.validator-flag p{font-size:13px;color:#3d4c58;margin:2px 0}
.validator-basis{font-size:11.5px;color:var(--muted)!important}
.validator-action{border-top:1px solid var(--line);padding:12px 0}
.validator-action:first-child{border-top:0;padding-top:0}
.validator-action-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.validator-action p{font-size:13px;color:#3d4c58;margin:2px 0}
.validator-action-status{font-size:11.5px;color:var(--muted);margin-left:10px}
.evidence-item{border-top:1px solid var(--line);padding:14px 0}
.evidence-item:first-of-type{border-top:0;padding-top:0}
.evidence-item summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}
.evidence-item summary::-webkit-details-marker{display:none}
.evidence-item summary b{font-size:13.5px}
.evidence-meta{font-size:12px;color:var(--muted);margin-left:auto}
.evidence-body{padding:14px 0 4px 2px}
.evidence-body>p{font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.5}
.evidence-links{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.evidence-links h3{font-size:12.5px;font-weight:800;margin:0 0 10px}
.evidence-links-loading{font-size:12.5px;color:var(--muted)}
.evidence-link-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
.evidence-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;border:1px solid var(--line);border-radius:10px;padding:8px 12px}
.evidence-link a{color:var(--blue);font-weight:700;text-decoration:none}
.evidence-link a:hover{text-decoration:underline}
.app-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.app-card-title-row .app-card-title{margin-bottom:0}
.training-course{border-top:1px solid var(--line);padding:12px 0}
.training-course:first-child{border-top:0;padding-top:0}
.training-course-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px}
.training-course p{font-size:13px;color:#3d4c58;margin:2px 0}
.certificate-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.certificate-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--ink);margin:2px 0 8px}
.certificate-qr{border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px;margin-left:auto;flex:none}
.verify-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px;margin:16px 0 0}
.verify-dl dt{color:var(--muted);font-weight:700}
.verify-dl dd{margin:0;color:#2c3742}
.dossier-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.dossier-toolbar h1{margin:0}
.dossier-actions{display:flex;gap:8px;flex-wrap:wrap}
a.primary-action,a.secondary-action{text-decoration:none;display:inline-block}
.dossier-cover{padding:8px 0 4px}
.dossier-cover h1{font-size:clamp(26px,3.4vw,36px);margin:6px 0 4px}
.dossier-cover p{color:var(--muted);margin:0}
.dossier-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.dossier-stat{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:2px}
.dossier-stat b{font-size:22px;letter-spacing:-.014em}
.dossier-stat span{font-size:12px;color:var(--muted)}
.dossier-list{margin:0;padding-left:18px;display:grid;gap:8px}
.dossier-list li{font-size:13.5px;line-height:1.5;color:#2c3742}
.dossier-methodology p{font-size:12.5px;line-height:1.6;color:var(--muted);margin:0}
@media print{
  .workbench-head,.wb-sidebar,.no-print{display:none!important}
  .workbench{position:static;inset:auto;overflow:visible;background:#fff}
  .workbench-body{display:block}
  .app-content,.app-content-inner{overflow:visible;padding:0;max-width:none}
  .dossier{display:block}
  .dossier .app-card{border:0;box-shadow:none;padding:0;margin:0 0 18px;break-inside:avoid}
  .app-table{break-inside:avoid}
}
/* --- Workspace personale: Home, Memoria, Attività, Account --------------
   Molto spazio bianco, poche card ma importanti, nessun grafico
   decorativo: l'area riservata è un posto in cui si riprende a lavorare,
   non un cruscotto da leggere. */
.wk-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:4px}
.wk-hero h1{margin:0 0 2px}
.wk-hero-org{margin:0;color:var(--muted);font-size:13.5px;font-weight:700}
.wk-page-lede{margin:-2px 0 6px;color:var(--muted);font-size:14px;max-width:60ch}
.wk-plan{font-size:10px;font-weight:900;letter-spacing:.09em;border-radius:999px;padding:6px 9px;flex:none}
.wk-plan-free{background:#eef2f5;color:#5b6b78}
.wk-plan-pro{background:#0b1d2d;color:#d8ff73}

/* Riprendi da dove eri rimasto: è il primo motivo per cui si torna. */
.wk-resume{border-left:3px solid var(--blue)}
.wk-resume-first{border-left-color:#d4dde3}
.wk-resume-title{font-size:20px;letter-spacing:-.014em;margin:6px 0 4px}
.wk-resume-desc{margin:0 0 6px;color:#3d4c58;font-size:14px;line-height:1.55}
.wk-resume-meta{margin:0 0 14px;color:var(--muted);font-size:12.5px}

/* L'input universale è il centro della Home, non un campo tra tanti. */
.wk-prompt-label{display:block;font-size:18px;font-weight:850;letter-spacing:-.017em;margin-bottom:11px}
.wk-prompt{width:100%;border:1px solid #d8e0e5;border-radius:14px;padding:14px;font-size:15px;line-height:1.55;resize:vertical;background:#fbfcfd;color:var(--ink)}
.wk-prompt:focus{outline:2px solid #9cb7ff;outline-offset:1px;background:#fff}
.wk-prompt-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:10px}
.wk-suggestions{display:flex;gap:6px;flex-wrap:wrap}
.wk-chip{border:1px solid #dde4e9;background:#fff;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700;color:#546472;cursor:pointer}
.wk-chip:hover{border-color:#9cb7ff;color:var(--blue)}
.wk-chip.active{background:#0b1d2d;border-color:#0b1d2d;color:#fff}

.wk-thinking{display:flex;align-items:center;gap:10px;padding:14px 0;color:var(--muted);font-size:13.5px}
.wk-thinking i{width:16px;height:16px;border-radius:50%;border:2px solid #d8e0e5;border-top-color:var(--blue);animation:wkspin .8s linear infinite;flex:none}
@keyframes wkspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.wk-thinking i{animation:none}}

.wk-answer{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}
.wk-answer-message{font-size:15px;line-height:1.65;margin:0 0 12px}
.wk-answer-block{margin:0 0 12px}
.wk-answer-block b{font-size:13.5px}
.wk-answer-block p{margin:4px 0 0;font-size:14px;line-height:1.55;color:#3d4c58}
.wk-answer-block ul{margin:6px 0 0;padding-left:18px}
.wk-answer-block li{font-size:13.5px;line-height:1.5;color:#3d4c58;margin:3px 0}
.wk-answer-next{background:#f5f8fa;border-radius:12px;padding:12px;font-size:13.5px;margin:0 0 12px}
.wk-answer-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wk-answer-note{font-size:12.5px;color:var(--muted)}

.wk-memory-sentence{font-size:15px;line-height:1.6;margin:0;color:#2c3742}
.wk-memory-org{margin:8px 0 0;font-size:12.5px;color:var(--muted)}
.wk-memory-status{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.wk-memory-off b{display:block;font-size:14px;margin-bottom:4px}
.wk-memory-off p{margin:0 0 8px;font-size:13.5px;color:#3d4c58}

.wk-activity-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.wk-activity-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;border:0;border-radius:10px;padding:11px 10px;text-align:left;cursor:pointer;font:inherit}
.wk-activity-list button:hover{background:#f4f7f9}
.wk-activity-list b{font-size:14px}
.wk-activity-list span{font-size:12px;color:var(--muted);flex:none}

.wk-activity{border-left:3px solid transparent}
.wk-activity-open{border-left-color:var(--blue)}
.wk-activity-desc{margin:0 0 6px;font-size:14px;line-height:1.55;color:#3d4c58}
.wk-activity-meta{margin:0 0 12px;font-size:12.5px;color:var(--muted)}
.wk-activity-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wk-filters{display:flex;gap:6px;flex-wrap:wrap}

.wk-thread{margin-top:14px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:10px}
.wk-thread-summary{margin:0;font-size:13px;color:var(--muted);font-style:italic}
.wk-msg{display:grid;gap:3px}
.wk-msg span{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.wk-msg p{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap}
.wk-msg-assistant{background:#f5f8fa;border-radius:12px;padding:11px 13px}

.wk-form{display:grid;gap:12px;margin-top:4px}
.wk-form label{display:grid;gap:6px;font-size:12px;font-weight:800;color:#526473}
.wk-form input,.wk-form select,.wk-form textarea{border:1px solid #dce4e9;border-radius:10px;padding:11px;font-size:14.5px;color:var(--ink);background:#fff;width:100%;font-family:inherit}
.wk-form input:disabled{background:#f4f7f9;color:var(--muted)}
.wk-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wk-form button{justify-self:start}
.wk-inline-form{grid-template-columns:1fr auto;align-items:end;gap:10px}
.wk-inline-actions{display:flex;gap:12px;align-items:center}
.wk-add-form{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}

.wk-link{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:800;color:var(--blue);cursor:pointer;text-decoration:none}
.wk-link:hover{text-decoration:underline}
.wk-danger{color:#b4342b}

.wk-cat-hint{margin:-6px 0 12px;font-size:12.5px;color:var(--muted)}
.wk-cat-empty{margin:0;font-size:13px;color:var(--muted)}
.wk-memory-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:2px}
.wk-memory-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.wk-memory-item b{font-size:13.5px}
.wk-memory-item p{margin:2px 0 0;font-size:14px;color:#3d4c58;line-height:1.5}
.wk-memory-actions{display:flex;gap:12px;flex:none}
.wk-source{display:inline-block;margin-top:5px;font-size:10px;font-weight:800;letter-spacing:.04em;background:#eef4ff;color:#3a5fa8;border-radius:999px;padding:4px 7px}

.wk-toggle{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:800;margin-bottom:6px;cursor:pointer}
.wk-toggle input{width:18px;height:18px;accent-color:var(--blue)}
.wk-plan-title{font-size:18px;font-weight:850;letter-spacing:-.014em;margin:0}
.wk-plan-price{font-size:13.5px;color:var(--muted);margin:2px 0 8px}
.wk-data-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:10px}
.wk-danger-zone{border-color:#e9cdca}

.wk-upgrade{background:#0b1d2d;color:#fff;border-radius:16px;padding:18px}
.wk-upgrade b{display:block;font-size:15px;margin-bottom:5px}
.app-card .wk-upgrade p,.wk-upgrade p{margin:0 0 12px;font-size:13.5px;line-height:1.55;color:#a7b8c4}
.wk-upgrade .primary-action{background:#d8ff73;color:#0b1d2d}
.wk-upgrade-note{margin:10px 0 0;font-size:12.5px;color:#d8ff73}

.wk-empty{padding:18px 0}
.wk-empty b{display:block;font-size:15px;letter-spacing:-.007em;margin-bottom:4px}
.wk-empty p{margin:0;font-size:14px;line-height:1.55;color:var(--muted);max-width:52ch}

.wk-skeleton{height:14px;border-radius:7px;background:linear-gradient(90deg,#eef2f4,#f7f9fa,#eef2f4);background-size:200% 100%;animation:wkshimmer 1.2s ease-in-out infinite;margin:10px 0}
.wk-skeleton:nth-child(2){width:80%}.wk-skeleton:nth-child(3){width:55%}
@keyframes wkshimmer{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.wk-skeleton{animation:none}}

/* Onboarding: pochi passaggi, nessun questionario. */
.wk-onboarding{display:grid;place-items:center;min-height:60vh}
.wk-ob-card{max-width:520px;width:100%}
.wk-ob-card h1{font-size:26px;letter-spacing:-.02em;margin:4px 0 6px}
.wk-ob-lede{margin:0 0 16px;font-size:14px;line-height:1.55;color:var(--muted)}
.wk-ob-progress{height:4px;border-radius:999px;background:#eef2f4;overflow:hidden;margin-bottom:20px}
.wk-ob-progress i{display:block;height:100%;background:var(--blue);transition:width .25s ease}
.wk-ob-question{font-size:16px;font-weight:850;letter-spacing:-.014em;margin:0 0 12px}
.wk-ob-hint{margin:8px 0 0;font-size:12.5px;color:var(--muted)}
.wk-choices{display:grid;gap:8px}
.wk-choice{border:1px solid #dce4e9;background:#fff;border-radius:12px;padding:13px 14px;font-size:14.5px;font-weight:750;text-align:left;cursor:pointer;color:var(--ink)}
.wk-choice:hover{border-color:#9cb7ff}
.wk-choice.active{border-color:var(--blue);background:#f2f6ff;color:var(--blue)}
.wk-input{width:100%;border:1px solid #dce4e9;border-radius:12px;padding:13px;font-size:15px;font-family:inherit;color:var(--ink)}
.wk-ob-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.wk-ob-right{display:flex;align-items:center;gap:16px}

/* Ricerca trasversale nella barra superiore. */
.wk-search{position:relative}
.wk-search input{border:1px solid #d8e0e5;background:#fff;border-radius:10px;padding:8px 11px;font-size:12.5px;width:190px;color:var(--ink)}
.wk-search input:focus{outline:2px solid #9cb7ff;outline-offset:1px}
.wk-search-results{position:absolute;top:calc(100% + 6px);right:0;width:320px;max-height:60vh;overflow:auto;background:#fff;border:1px solid #dce4e9;border-radius:14px;box-shadow:0 18px 40px rgba(7,21,34,.14);padding:6px;z-index:20}
.wk-search-hit{display:grid;gap:2px;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:9px 10px;cursor:pointer;font:inherit}
.wk-search-hit:hover{background:#f4f7f9}
.wk-search-hit span{font-size:9.5px;font-weight:900;letter-spacing:.08em;color:var(--muted)}
.wk-search-hit b{font-size:13.5px}
.wk-search-hit small{font-size:12px;color:var(--muted)}
.wk-search-empty{margin:0;padding:12px;font-size:13px;color:var(--muted)}

/* Mobile: la navigazione principale scende in basso, dove arriva il pollice. */
.wk-bottomnav{display:none}
@media(max-width:760px){
  .wk-search input{width:120px}
  .wk-form-row{grid-template-columns:1fr}
  .wk-inline-form{grid-template-columns:1fr}
  .wk-inline-form button{justify-self:stretch}
  .wk-hero{flex-direction:row;align-items:center}
  .wk-memory-item{flex-direction:column;gap:8px}
  .wk-memory-actions{flex:initial}
  .wk-prompt-row{flex-direction:column;align-items:stretch}
  .wk-prompt-row .primary-action{width:100%}
  .wk-search-results{width:min(320px,calc(100vw - 32px))}
  .app-content{padding-bottom:78px}
  /* Barra superiore: su schermo stretto restano ricerca e uscita. Il nome
     dell'utente e il nome azienda tornano nell'Account, dove servono. */
  .wb-brand small,.wb-meta .wb-org{display:none}
  /* Il selettore invece resta: su schermo stretto sapere su quale impresa si
     sta scrivendo conta piu' che altrove, perche' si vede meno contesto. */
  .wb-org-switch{max-width:30vw}
  .wb-brand b{font-size:13px}
  .wk-search input{width:100%}
  .wk-search{flex:1}
  .wb-meta{flex:1;gap:8px}
  /* La striscia di Governance AI e' una sezione secondaria: la navigazione
     principale e' quella in basso. Deve leggersi come tale, non competerci. */
  .wb-sidebar{background:#f7f9fa;border-bottom:1px solid #e2e8ec;padding:7px 10px;gap:4px}
  /* Le etichette restano: una fila di icone senza nome non si capisce. La
     striscia scorre in orizzontale, e si apre sulla scritta "Governance AI"
     che dice subito di che sezione si tratta. */
  .wb-sidebar a{color:#64737f;padding:6px 10px;grid-template-columns:22px auto;gap:7px;flex:none;font-size:12px;white-space:nowrap}
  .wb-sidebar a span{display:inline}
  .wb-sidebar a i{width:22px;height:22px;font-size:12px;background:#e9eef1;color:#5b6b78}
  .wb-sidebar a.active{background:#0b1d2d;color:#fff}
  .wb-sidebar a.active i{background:rgba(255,255,255,.14);color:#fff}
  .wb-sidebar .side-label{display:block;font-size:9px;color:#8c99a3;align-self:center;flex:none;padding:0 6px 0 2px;white-space:nowrap;border:0;margin:0}
  .wk-bottomnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-top:1px solid #e2e8ec;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .wk-bottomnav a{display:grid;justify-items:center;gap:2px;padding:7px 2px;border-radius:10px;text-decoration:none;color:var(--muted-forte);font-size:10.5px;font-weight:800}
  .wk-bottomnav a i{font-style:normal;font-size:16px}
  .wk-bottomnav a.active{color:var(--blue)}
  /* In mobile la sidebar resta per Governance AI, ma le voci principali
     sono già nella barra in basso: evitare di ripeterle due volte. */
  .wb-sidebar>a[href="/app"],.wb-sidebar>a[href="/app/memoria"],
  .wb-sidebar>a[href="/app/attivita"],.wb-sidebar>a[href="/app/account"],
  .wb-sidebar>.side-label:first-of-type{display:none}
}
@media(max-width:520px){.survey-card{border-radius:18px}}
@media(max-width:760px){.app-content{padding:16px}}
.topnav-account{border:1px solid #ccd6dd;background:#fff;border-radius:11px;padding:9px 14px;font-size:13px!important;font-weight:800!important;color:var(--ink)!important;text-decoration:none!important;flex:none}
.topnav-account:hover{border-color:#a9c2ff;color:var(--blue)!important}
@media(max-width:1300px){.top-status{display:none}}

/* Archivio documenti. Poche classi nuove: il resto riusa app-card,
   wk-memory-list e wk-link, cosi' la sezione non sembra attaccata da fuori.
   La barra dello spazio e' l'unico elemento davvero nuovo, e serve perche'
   "quanto spazio mi resta" e' la domanda che si fa guardando un archivio. */
.wk-storage .wk-memory-status{margin-bottom:10px}
.wk-bar{height:6px;border-radius:999px;background:#e8edf3;overflow:hidden}
.wk-form label.wk-toggle{display:flex;align-items:center;gap:10px;font-weight:600}
.wk-form label.wk-toggle input{width:auto;margin:0;flex:none}
.wk-bar span{display:block;height:100%;border-radius:999px;background:var(--blue);transition:width .3s ease}
.wk-memory-list .wk-source i{font-style:normal;color:var(--muted);padding:0 4px}
.wk-form input[type=file]{font:inherit;font-size:13px;padding:8px 0}
@media(max-width:760px){
  .wk-memory-item .wk-memory-actions{flex-wrap:wrap}
}

/* Messaggio neutro nei moduli di accesso: non e' un errore, quindi non deve
   avere il colore di un errore. Serve per "se l'indirizzo esiste riceverai
   le istruzioni", che e' una conferma, non un problema. */
.auth-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}


/* Il collegamento al centro di controllo costi, nell'intestazione dell'area
   di lavoro. Lo vede solo il proprietario della piattaforma. Sta qui e non
   nella barra laterale perche' li' finiva sotto il bordo: un comando che
   esiste ma va cercato e' un comando che non c'e'. Il verde acqua dice che
   porta fuori dall'area di lavoro, senza gridarlo. */

/* Profilo d'impresa: nove campi in due colonne, con i testi lunghi a tutta
   larghezza. Prima erano cinque campi dentro la pagina "Memoria"; ora sono
   qui, dove la persona li cerca. */
.app-card select{width:100%;border:1px solid #d8e1e6;border-radius:11px;padding:12px;background:#fbfcfd;outline:0;font-size:15px;font-family:inherit}
.app-card select:focus{border-color:#7b9cff;box-shadow:0 0 0 3px rgba(31,94,255,.09)}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.company-grid>label.company-wide{grid-column:1/-1}
@media (max-width:640px){.company-grid{grid-template-columns:1fr}}
.wk-company-summary{display:grid;gap:6px;margin-bottom:14px}

/* Lo spazio di lavoro del professionista su un cliente.
   La fascia in alto non e' decorazione: e' la riga che dice per conto di chi
   si sta lavorando e su chi, e sta li' per ridurre l'errore piu' banale e piu'
   caro — agire sul cliente sbagliato. Marcata a colore sul bordo, come tutto
   il resto del banco di lavoro, non riempita. */
.app-acting-banner{border-left:3px solid var(--blue)}
.app-acting-banner h1{margin:2px 0 6px}
.app-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0}
.app-facts dt{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 2px}
.app-facts dd{margin:0;font-size:14px;line-height:1.45}
.app-card-inner{margin-top:12px;background:var(--sand,#f7f5f1)}

/* ============================================================
   NAVIGAZIONE PRINCIPALE — AziendIA Experience 2.0
   Il menu non elenca piu' i nomi commerciali (Team, Pro,
   Solutions): parte da cosa una persona vuole fare e da chi e'.
   Il nome del prodotto arriva dentro il gruppo, come sottotitolo.
   ============================================================ */
.mainnav{display:flex;align-items:center;gap:4px;justify-self:center}
.mainnav .navlink,.navtrigger{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;font-size:13.5px;font-weight:700;color:#455563;text-decoration:none;padding:9px 11px;border-radius:10px;cursor:pointer;white-space:nowrap}
.mainnav .navlink:hover,.navtrigger:hover{color:var(--ink);background:rgba(7,21,34,.045)}
.navtrigger i{font-style:normal;font-size:9px;color:#93a2ae;transition:transform .18s ease}
.navtrigger[aria-expanded="true"]{color:var(--ink);background:rgba(7,21,34,.055)}
.navtrigger[aria-expanded="true"] i{transform:rotate(180deg)}
.navgroup{position:relative}
.navpanel{position:absolute;top:calc(100% + 10px);left:-8px;z-index:60;width:min(380px,86vw);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(7,21,34,.16);padding:8px;display:grid;gap:1px}
.navpanel a{display:grid;gap:2px;padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--ink)}
.navpanel a:hover{background:#f2f6f8}
.navpanel a b{font-size:14px;font-weight:750;letter-spacing:-.007em}
.navpanel a span{font-size:12.5px;color:var(--muted);line-height:1.4}
.navpanel-all{margin-top:5px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;font-size:12.5px;font-weight:800;color:var(--blue)!important;padding-top:13px!important}
.navpanel-all:hover{background:#f2f6ff!important}
.topactions{display:flex;align-items:center;gap:10px;justify-content:flex-end}
/* Una sola azione primaria per pagina: e' la piu' pesante visivamente.
   "Accedi" resta un contorno, perche' serve a chi c'e' gia'. */
.nav-cta{background:var(--blue);color:#fff;border-radius:11px;padding:10px 16px;font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap;box-shadow:0 8px 22px rgba(31,94,255,.22)}
.nav-cta:hover{background:#1a4fd8}
.mobile-menu{max-height:calc(100svh - 76px);overflow:auto;overscroll-behavior:contain}
.mobile-menu b{display:block;padding:14px 12px 5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mobile-menu b:first-of-type{padding-top:6px}
.mobile-menu .mm-cta{background:var(--blue);color:#fff;text-align:center;margin-bottom:4px}
.mobile-menu .mm-cta:hover{background:#1a4fd8}
.mobile-menu .mm-account{margin-top:10px;border-top:1px solid var(--line);border-radius:0;color:var(--blue)}
.footer{grid-template-columns:1.4fr repeat(4,.62fr)}
.footer-bottom a{color:#8598a6}
@media(max-width:1180px){.mainnav .navlink,.navtrigger{padding:9px 8px;font-size:13px}.topnav-account{display:none}}
@media(max-width:1000px){.mainnav{display:none}.topactions{display:flex;gap:8px}.topnav-account{display:none}.mobile-menu-button{display:block}.topbar{grid-template-columns:1fr auto auto;column-gap:12px}}@media(max-width:430px){.topbar{padding:0 14px;column-gap:8px}.nav-cta{padding:9px 12px;font-size:12.5px}.brand{font-size:15px;gap:8px}.brand-mark{width:28px;height:28px;font-size:14px}}
@media(max-width:860px){.footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.navtrigger i{transition:none}}

/* ============================================================
   ARCHETIPI DI SEZIONE — Experience 2.0
   Sostituiscono la griglia di sei card usata su dodici pagine
   su diciassette. Una pagina sceglie la forma in base a cosa ha
   da dire: un bivio, una prospettiva, una sequenza, un prima e
   dopo. Non c'e' piu' una forma unica da riempire.
   ============================================================ */

/* Il profilo (impresa + ruolo) accanto ai ruoli, sull'eroe scuro. */
.role-strip .profile-pill{margin-left:auto;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16);color:#cfdae3}
.role-strip .profile-pill b{color:#7aa0ff}
.role-strip .profile-pill:hover{background:rgba(255,255,255,.1)}

/* STATO DEL PRODOTTO — una funzione dichiara sempre dove si trova.
   Tre stati, non sette, e ognuno vuol dire una cosa sola.        */
.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.status-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.status-pill.is-live{background:rgba(24,183,170,.12);color:var(--verde-testo)}
.status-pill.is-pilot{background:rgba(31,94,255,.1);color:var(--blu-testo)}
.status-pill.is-soon{background:rgba(215,138,32,.12);color:#96601a}

/* EROE DA PAGINA HUB — un'affermazione, non un paragrafo. */
.hub-hero{background:linear-gradient(180deg,#071522 0,#0a1b2b 70%,#0d2030 100%);color:#fff;padding:clamp(96px,10vw,150px) clamp(18px,5vw,76px) clamp(56px,6vw,88px)}
.hub-hero-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(32px,6vw,90px);align-items:end}
.hub-hero h1{font-size:clamp(44px,6.4vw,92px);line-height:.94;letter-spacing:-.033em;margin:16px 0 0;text-wrap:balance}
.hub-hero h1 em{font-style:normal;color:#7aa0ff}
.hub-hero p{color:#a9bac6;line-height:1.65;font-size:clamp(15px,1.3vw,18px);max-width:52ch;margin:22px 0 0}
.hub-hero-aside{border-left:1px solid rgba(255,255,255,.12);padding-left:clamp(20px,3vw,34px);display:grid;gap:18px}
.hub-hero-aside div{display:grid;gap:5px}
.hub-hero-aside b{font-size:14px}
.hub-hero-aside span{font-size:13px;color:#8ba0af;line-height:1.5}

/* IL BIVIO — due strade, dichiarate come tali. Non due card gemelle:
   ognuna dice chi e' la persona prima di dire il nome del prodotto. */
.fork{max-width:1180px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fork article{border:1px solid var(--line);background:#fff;border-radius:24px;padding:clamp(24px,3vw,34px);display:grid;align-content:start;gap:14px}
.fork article header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fork article h3{font-size:clamp(26px,2.6vw,34px);letter-spacing:-.025em;margin:0;line-height:1.05}
.fork article>p{font-size:15px;line-height:1.6;color:#5e6f7c;margin:0}
.fork-who{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;color:var(--blue)}
.fork-name{font-size:12px;color:var(--muted);font-weight:800}
.fork ul{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:9px}
.fork li{font-size:14px;line-height:1.5;color:#42525f;padding-left:20px;position:relative}
.fork li:before{content:"→";position:absolute;left:0;color:#a8b6c1}
.fork a.fork-go{margin-top:6px;justify-self:start;text-decoration:none;font-size:13px;font-weight:850;color:var(--blue)}

/* PROSPETTIVA — testo da un lato, prodotto dall'altro, alternati.
   La pagina prende ritmo dall'alternanza, non dalla ripetizione.  */
.persona-band{padding:clamp(72px,8vw,120px) clamp(18px,5vw,76px)}
.persona-band.dark{background:#071522;color:#fff}
.persona-band.light{background:#fff}
.persona-band.tint{background:#f4f7f8}
.persona-inner{max-width:1180px;margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(30px,5vw,70px);align-items:center}
.persona-inner.flip{grid-template-columns:1.18fr .82fr}
.persona-inner.flip .persona-copy{order:2}
.persona-copy h2{font-size:clamp(32px,4vw,58px);line-height:1;letter-spacing:-.03em;margin:14px 0 16px;text-wrap:balance}
.persona-copy p{font-size:16px;line-height:1.65;margin:0 0 14px}
.persona-band.light .persona-copy p,.persona-band.tint .persona-copy p{color:#5e6f7c}
.persona-band.dark .persona-copy p{color:#9fb0bc}
.persona-copy .primary-link{color:var(--blue)}
.persona-band.dark .persona-copy .primary-link{color:#fff}

/* SEQUENZA — numerata soltanto dove l'ordine e' vero: non si puo'
   produrre un'evidenza prima di aver fatto il censimento.         */
.chain{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;counter-reset:tappa}
.chain article{position:relative;border:1px solid var(--line);background:#fff;border-radius:20px;padding:24px 22px 22px;display:grid;align-content:start;gap:9px}
.chain article:before{counter-increment:tappa;content:counter(tappa);font-size:11px;font-weight:900;color:var(--blue);letter-spacing:.1em}
.chain article:not(:last-child):after{content:"→";position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:#b6c3cd;font-size:15px;z-index:2}
.chain h3{font-size:20px;letter-spacing:-.02em;margin:0}
.chain p{font-size:13.5px;line-height:1.55;color:#6a7986;margin:0}
.chain small{font-size:11.5px;color:#8b97a1}

/* COSA VEDE / COSA NON VEDE — la privacy si mostra, non si promette. */
.seesaw{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seesaw section{border-radius:20px;padding:24px;border:1px solid var(--line);background:#fff}
.seesaw h3{font-size:15px;margin:0 0 14px;letter-spacing:-.007em}
.seesaw ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.seesaw li{font-size:14px;line-height:1.45;padding-left:26px;position:relative;color:#42525f}
.seesaw .yes li:before{content:"✓";position:absolute;left:0;color:#0f8b82;font-weight:900}
.seesaw .no li:before{content:"✕";position:absolute;left:0;color:#b94a48;font-weight:900}
.seesaw .no{background:#fbf7f7;border-color:#f0e2e1}

@media(max-width:900px){
 .hub-hero-inner{grid-template-columns:1fr;gap:34px;align-items:start}
 .hub-hero-aside{border-left:0;border-top:1px solid rgba(255,255,255,.12);padding-left:0;padding-top:24px}
 .fork{grid-template-columns:1fr}
 .persona-inner{grid-template-columns:1fr;gap:28px}
 .persona-inner.flip{grid-template-columns:1fr}
 .persona-inner.flip .persona-copy{order:0}
 .chain{grid-template-columns:1fr;gap:24px}
 .chain article:not(:last-child):after{content:"↓";right:auto;left:24px;top:auto;bottom:-19px;transform:none}
 .seesaw{grid-template-columns:1fr}
 .role-strip .profile-pill{margin-left:0;margin-top:12px}
}

/* DUE PROSPETTIVE — la stessa pagina raccontata da chi lavora e da chi
   amministra. Un interruttore, non due pagine gemelle da confrontare. */
.viewswitch{max-width:1180px;margin:auto}
.viewswitch-tabs{display:inline-flex;gap:4px;background:#e9eef1;border-radius:14px;padding:4px;margin-bottom:26px}
.viewswitch-tabs button{border:0;background:transparent;border-radius:11px;padding:11px 18px;font-size:13.5px;font-weight:800;color:#5c6b78;cursor:pointer}
.viewswitch-tabs button[aria-selected="true"]{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(7,21,34,.09)}
.viewswitch-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,4vw,54px);align-items:start}
.viewswitch-panel h3{font-size:clamp(26px,3vw,40px);letter-spacing:-.025em;line-height:1.05;margin:0 0 14px}
.viewswitch-panel>div>p{font-size:15.5px;line-height:1.65;color:#5e6f7c;margin:0 0 12px}
.screenlist{display:grid;gap:8px}
.screenrow{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 16px}
.screenrow i{font-style:normal;width:32px;height:32px;border-radius:10px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;font-size:15px}
.screenrow b{font-size:14px;display:block}
.screenrow p{font-size:12.5px;color:#7b8994;margin:3px 0 0;line-height:1.45}
.screenrow>span{font-size:11px;color:#8b97a1;white-space:nowrap}

/* LA MEMORIA SI VEDE — una linea nel tempo, perche' il valore di Pro e'
   esattamente che le cose restano collegate fra un mese e l'altro. */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:96px 1fr;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}
.timeline li:first-child{border-top:0}
.timeline span{font-size:12px;font-weight:900;letter-spacing:.06em;color:#7aa0ff;padding-top:2px}
.timeline b{font-size:16px;display:block;margin-bottom:4px}
.timeline p{font-size:14px;line-height:1.55;color:#9fb0bc;margin:0}
.timeline li.now b{color:#d8ff73}

@media(max-width:900px){
 .viewswitch-panel{grid-template-columns:1fr}
 .viewswitch-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .viewswitch-tabs button{padding:12px 10px;font-size:13px}
 .timeline li{grid-template-columns:1fr;gap:5px}
}

/* Eroe con il prodotto accanto: le pagine che hanno qualcosa da mostrare
   lo mostrano subito, invece di descriverlo per tre paragrafi. */
.hub-hero.with-product .hub-hero-inner{grid-template-columns:1fr 1fr;align-items:center}
.hub-hero.with-product h1{font-size:clamp(38px,4.6vw,68px)}
.hub-hero .company-console{color:var(--ink)}
.hub-hero .status-line{margin-top:26px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:13px;color:#8ba0af;line-height:1.5}
.seesaw.plain .yes li:before{content:"●";color:#0f8b82;font-size:9px;top:3px}
.seesaw.plain .no li:before{content:"○";color:#96601a;font-size:11px;top:1px}
@media(max-width:900px){.hub-hero.with-product .hub-hero-inner{grid-template-columns:1fr}}

/* Il colore del testo dell'eroe scuro tracimava dentro la scheda di prodotto,
   che ha il fondo bianco: `.hub-hero p` e `.company-console p` hanno la stessa
   specificita', e vinceva l'ultima scritta. Risultato: testo grigio-azzurro
   chiaro su bianco, sotto 2:1. Qui la scheda si riprende i suoi colori. */
.hub-hero .company-console p{color:#5e6f7c}
.hub-hero .company-console .console-feed p{color:#42525f}
.hub-hero .company-console .console-top span{color:var(--muted-forte)}

/* CONTRASTO — misurato, non stimato. Questi grigi stavano fra 2,8:1 e 4,5:1
   su fondo chiaro: leggibili per chi li ha scelti, non per tutti. WCAG 2.2 AA
   chiede 4,5:1 sotto i 18,66px, e questi testi sono tutti piu' piccoli. */
.privacy-note{color:#5d6b78!important}
.console-stats span,.console-stats small{color:#5d6b78}
.screenrow p{color:#5d6b78}
.screenrow>span{color:#5d6b78}
.chain p{color:#5d6b78}
.chain small{color:#5d6b78}
.navpanel a span{color:#5d6b78}

/* Le stesse pastiglie di stato su fondo scuro. I colori pensati per il
   bianco (#0f8b82, #96601a) su un fondo quasi nero scendono sotto 4:1 —
   la variante chiara e' la stessa semantica, non un'altra tavolozza. */
.hub-hero-aside .status-pill.is-live,.eyebrow.light .status-pill.is-live{background:rgba(24,183,170,.18);color:#4bdccf}
.hub-hero-aside .status-pill.is-pilot,.eyebrow.light .status-pill.is-pilot{background:rgba(122,160,255,.18);color:#adc6ff}
.hub-hero-aside .status-pill.is-soon,.eyebrow.light .status-pill.is-soon{background:rgba(215,170,80,.16);color:#eec174}

/* ==========================================================================
   WORKSPACE — Oggi, Lavoro, Strumenti, Bandi, Azienda
   ==========================================================================
   Il criterio di questo blocco: la gerarchia la fa il peso, non il colore.
   Un cruscotto dove ogni riquadro ha il suo bordo colorato non ha priorita',
   ha decorazioni. Qui il colore compare in tre punti soltanto — il ritardo,
   la scadenza di oggi, il verdetto di un bando — e ovunque altro il contrasto
   lo fanno dimensione e spazio.
   ========================================================================== */

/* --- Oggi ---------------------------------------------------------------- */
.oggi-testata{margin:0 0 22px}
.oggi-testata h1{font-size:clamp(24px,3.4vw,34px);letter-spacing:-.014em;margin:0 0 6px;text-wrap:balance}
.oggi-testata p{margin:0;color:#5d6b78;font-size:15px;max-width:62ch}

.oggi-priorita{display:grid;gap:10px;margin-bottom:34px}
.pri{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;
  background:#fff;border:1px solid #e0e7eb;border-radius:15px;padding:15px 17px}
.pri-late{border-color:#f0cdcd;background:#fffafa}
.pri-today{border-color:#e6d8b4}
.pri-flag{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
  color:#5d6b78;background:#f1f5f7;border-radius:999px;padding:5px 9px;white-space:nowrap;margin-top:2px}
.pri-late .pri-flag{background:#fbe6e6;color:#9c3232}
.pri-today .pri-flag{background:#fbf0d6;color:#7d5a10}
.pri-body b{display:block;font-size:15.5px;line-height:1.35}
.pri-body small{display:block;font-size:11.5px;color:var(--muted-forte);margin-top:3px}
.pri-why{margin:6px 0 0;font-size:13px;color:#5d6b78;max-width:58ch}
.pri-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.oggi-altro{display:inline-block;margin-top:4px;font-size:13px;font-weight:800;color:var(--blue);text-decoration:none}

.oggi-sezione{margin:0 0 34px}
.oggi-sezione h2{font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  color:#5d6b78;margin:0 0 12px}
.oggi-sezione h2 small{font-weight:700;letter-spacing:0;text-transform:none}

.quadro{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quadro-voce{background:#fff;border:1px solid #e0e7eb;border-radius:14px;padding:15px;
  text-decoration:none;color:inherit;display:grid;gap:2px}
.quadro-voce b{font-size:26px;font-variant-numeric:tabular-nums;letter-spacing:-.014em}
.quadro-voce span{font-size:12px;color:#5d6b78}
.quadro-voce.allarme b{color:#9c3232}
.quadro-voce:hover{border-color:#c7d3da}

.riprendi,.seguiti{display:grid;gap:8px}
.riprendi-voce,.seguito{background:#fff;border:1px solid #e0e7eb;border-radius:13px;padding:13px 15px;
  text-decoration:none;color:inherit;display:grid;gap:2px}
.riprendi-voce b,.seguito b{font-size:14px}
.riprendi-voce span,.seguito span{font-size:12px;color:#5d6b78}

.avvio{padding:26px}
.avvio-azioni{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.avvio-passo{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;
  border:1px solid #e0e7eb;border-radius:13px;padding:14px}
.avvio-passo:hover{border-color:#c7d3da;background:#fbfcfd}
.avvio-passo i{font-style:normal;font-size:17px;color:var(--blue);line-height:1.2}
.avvio-passo b{display:block;font-size:14px}
.avvio-passo span{display:block;font-size:12px;color:#5d6b78;margin-top:2px}

/* --- Lavoro -------------------------------------------------------------- */
.ambiti{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 16px;border-bottom:1px solid #e0e7eb}
.ambiti a{padding:9px 13px;font-size:13px;font-weight:800;color:#5d6b78;text-decoration:none;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.ambiti a.attivo{color:var(--ink);border-bottom-color:var(--blue)}

.nuova-att{padding:14px}
.nuova-att input[name=title]{width:100%;border:0;outline:0;background:#f7f9fa;border-radius:10px;
  padding:13px;font-size:15px;color:var(--ink)}
.nuova-att-riga{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:10px}
.nuova-att-riga label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#5d6b78}
.nuova-att-riga select,.nuova-att-riga input[type=date]{border:1px solid #dce4e9;background:#fff;
  border-radius:9px;padding:9px;font-size:13px;color:var(--ink)}
.nuova-att-riga .app-checkbox{flex-direction:row;align-items:center;gap:6px}
.nuova-att-riga button{margin-left:auto}

.att-elenco{display:grid;gap:8px;margin-top:16px}
.att{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:start;
  background:#fff;border:1px solid #e0e7eb;border-radius:14px;padding:14px 16px}
.att-ritardo{border-color:#f0cdcd}
.att-fatta{opacity:.6}
.att-fatta .att-corpo b{text-decoration:line-through}
.att-spunta{width:22px;height:22px;border-radius:7px;border:1.5px solid #c7d3da;background:#fff;
  cursor:pointer;font-size:13px;font-weight:900;color:var(--blue);line-height:1;margin-top:1px}
.att-spunta:hover{border-color:var(--blue)}
.att-corpo b{display:block;font-size:15px;line-height:1.35}
.att-corpo p{margin:4px 0 0;font-size:13px;color:#5d6b78}
.att-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.att-tag{font-size:11px;font-weight:800;color:#5d6b78;background:#f1f5f7;border-radius:999px;padding:4px 8px}
.att-alta{background:#fbf0d6;color:#7d5a10}
.att-scaduta{background:#fbe6e6;color:#9c3232}
.att-orfana{background:#eef1f3;color:#5d6b78;font-style:italic}
.att-origine{background:#e8f1fb;color:#28568a}
.att-quieto{background:transparent;color:#5d6b78;padding-left:0}
.att-stato{border:1px solid #dce4e9;background:#fff;border-radius:9px;padding:7px 8px;font-size:12px;color:#4a5a67}

/* --- Strumenti ----------------------------------------------------------- */
/* --- STRUMENTI — §20-27: non sei quadrati intercambiabili --------------- */
.strum-testata{max-width:56ch}
.strum-testata .app-lede{margin-top:2px}

.strum-fissati{margin-bottom:6px}
.strum-fissati-etichetta{display:block;font-size:11px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted-forte);margin:0 0 10px}
.strum-righe{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--r3);overflow:hidden}
.strum-riga{background:var(--paper);display:grid;grid-template-columns:34px 1fr auto auto;
  align-items:center;gap:13px;padding:12px 14px}
.strum-riga-icona{width:30px;height:30px;border-radius:var(--r1);background:var(--tinta-blu);
  color:var(--blu-testo);display:grid;place-items:center;font-size:14px}
.strum-riga-testo{display:grid;min-width:0}
.strum-riga-testo b{font-size:13.5px;font-weight:600;letter-spacing:-.007em}
.strum-riga-testo span{font-size:12px;color:var(--muted-forte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strum-riga-apri{font-size:12.5px;font-weight:600;color:var(--blu-testo);text-decoration:none;
  padding:6px 10px;border-radius:var(--r1);white-space:nowrap}
.strum-riga-apri:hover{background:var(--tinta-blu)}
.strum-riga-pin{border:0;background:none;color:var(--amber);font-size:15px;line-height:1;
  cursor:pointer;padding:6px;border-radius:var(--r1)}
.strum-riga-pin:hover{background:var(--tinta-ambra)}

.strum-catalogo{margin-top:22px}
.strum-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px}

/* La scheda: rilievo minimo, non un'ombra per card. La gerarchia la fa il
   contenuto — icona, poi "cosa ricevi" come corpo primario — non il bordo. */
.strum{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r3);
  padding:18px 18px 16px;display:grid;grid-template-rows:auto auto auto 1fr auto auto;gap:5px;
  transition:border-color var(--t1) var(--curva),box-shadow var(--t1) var(--curva)}
.strum:hover{border-color:var(--filo-forte);box-shadow:var(--e1)}
.strum-icona{width:34px;height:34px;border-radius:var(--r2);background:var(--tinta-blu);
  color:var(--blu-testo);display:grid;place-items:center;font-size:16px;margin-bottom:5px}
.strum-pin{position:absolute;top:14px;right:14px;border:0;background:none;color:var(--filo-forte);
  font-size:16px;line-height:1;cursor:pointer;padding:5px;border-radius:var(--r1);
  transition:color var(--t1) var(--curva)}
.strum-pin:hover{color:var(--amber);background:var(--tinta-ambra)}
.strum-pin[aria-pressed="true"]{color:var(--amber)}
.strum-bisogno{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted-forte)}
.strum-titolo{font-size:16px;font-weight:600;letter-spacing:-.008em}
.strum-ricevi{margin:0;font-size:13.5px;color:var(--ink-medio);line-height:1.5;font-weight:500}
.strum-quando{margin:0;font-size:12px;color:var(--muted-forte);line-height:1.5}
.strum-apri{justify-self:start;margin-top:8px;display:inline-flex;align-items:center;gap:6px;
  border:0;background:var(--blue);color:#fff;border-radius:var(--r2);padding:9px 14px;
  font-size:13px;font-weight:600;text-decoration:none;transition:transform var(--t1) var(--curva)}
.strum-apri i{transition:transform var(--t1) var(--curva)}
.strum-apri:hover i{transform:translateX(2px)}

@media(max-width:640px){
  .strum-riga{grid-template-columns:30px 1fr auto auto}
  .strum-riga-testo span{white-space:normal}
}

/* --- Integrazioni ---------------------------------------------------------
   Tre righe, non tre card: qui la gerarchia e' l'elenco stesso, non un
   contenitore per riga. Lo stato si legge da un colore di testo, non da un
   riquadro pieno — stessa disciplina cromatica del resto del guscio 2.0. */
.int-elenco{display:grid;gap:0;padding:6px}
.int-riga{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 10px;border-bottom:1px solid var(--line)}
.int-riga:last-child{border-bottom:0}
.int-riga-testo{display:flex;flex-direction:column;gap:3px;min-width:0}
.int-riga-testo b{font-size:14.5px;letter-spacing:-.007em}
.int-riga-testo .app-note{margin:2px 0 0}
.int-stato{font-size:11.5px;font-weight:700;letter-spacing:.01em}
.int-stato-ok{color:var(--verde-testo)}
.int-stato-errore{color:var(--red)}
.int-stato-assente{color:var(--muted)}
/* L'esito dell'ultima sincronizzazione: marca di colore sulla stessa
   tavolozza di .int-stato-*, non un riquadro colorato. */
.int-esito{padding:0 14px;font-size:12.5px;line-height:1.45;color:var(--muted-forte)}
.int-esito-ok{color:var(--verde-testo)}
.int-esito-errore{color:var(--red)}
.int-riga-azioni{display:flex;gap:8px;flex-shrink:0}
.int-riga-non-disponibile .int-riga-testo b{color:var(--muted-forte)}

.app-banner{margin:0 0 18px;padding:12px 16px;border-radius:var(--r2);font-size:13.5px;font-weight:600}
.app-banner-ok{background:var(--tinta-verde);color:var(--verde-testo)}
.app-banner-errore{background:var(--tinta-rossa);color:var(--red)}

@media(max-width:640px){
  .int-riga{flex-direction:column;align-items:flex-start;gap:10px}
  .int-riga-azioni{width:100%}
}

/* --- Economia -------------------------------------------------------------
   Marca di colore, non riempimento: --verde-testo per i ricavi, --red per i
   costi, sulla stessa tavolozza gia' usata da .int-stato-*. */
.eco-grafico{display:flex;align-items:flex-end;gap:6px;height:140px;padding:4px 2px 0}
.eco-mese{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;min-width:0}
.eco-barre{flex:1;width:100%;max-width:26px;display:flex;align-items:flex-end;justify-content:center;gap:3px}
.eco-barra{flex:1;min-height:2px;border-radius:3px 3px 0 0}
.eco-barra-ricavi{background:var(--verde-testo)}
.eco-barra-costi{background:var(--red)}
.eco-mese-etichetta{font-size:10.5px;color:var(--muted);white-space:nowrap}
.eco-legenda{display:flex;gap:16px;margin-top:14px;font-size:12px;color:var(--muted-forte)}
.eco-legenda-voce{display:inline-flex;align-items:center;gap:6px}
.eco-swatch{width:9px;height:9px;border-radius:3px;display:inline-block}
.eco-swatch-ricavi{background:var(--verde-testo)}
.eco-swatch-costi{background:var(--red)}

.eco-elenco{display:flex;flex-direction:column}
.eco-riga{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:13px 2px;border-bottom:1px solid var(--line)}
.eco-riga:last-child{border-bottom:0}
.eco-riga-testo{display:flex;flex-direction:column;gap:3px;min-width:0}
.eco-riga-testo b{font-size:14px;letter-spacing:-.007em}
.eco-riga-meta{font-size:12px;color:var(--muted)}
.eco-riga-importo{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;
  color:var(--verde-testo);flex-shrink:0}
.eco-riga-importo.eco-costo{color:var(--ink2)}
.eco-riga-importo.eco-nota-credito{color:var(--red)}

@media(max-width:640px){
  .eco-riga{flex-direction:column;align-items:flex-start;gap:6px}
}

/* --- Bandi --------------------------------------------------------------- */
.catalogo-riga{font-size:12px;color:#4f5d69;margin:0 0 18px;padding:10px 13px;background:#eef2f4;border-radius:10px}
.catalogo-vecchio{color:#9c3232;font-weight:800}
.catalogo-assente{padding:22px}
.catalogo-assente b{display:block;font-size:16px;margin-bottom:6px}
.catalogo-assente p{margin:0 0 6px;font-size:14px;color:#5d6b78;max-width:66ch}
.manca-profilo{padding:18px;background:#fdfbf4;border-color:#e8ddc0}
.manca-profilo b{display:block;font-size:14px;margin-bottom:4px}
.manca-profilo p{margin:0 0 10px;font-size:13px;color:#5d6b78;max-width:66ch}

.bandi{display:grid;gap:10px}
.bando{background:#fff;border:1px solid #e0e7eb;border-radius:15px;padding:17px}
.bando>header{display:flex;justify-content:space-between;gap:16px;align-items:start}
.bando h3{margin:4px 0 2px;font-size:16.5px;letter-spacing:-.007em;line-height:1.3}
.bando small{font-size:11.5px;color:#5d6b78}
.bando-verdetto{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
  color:#5d6b78;background:#f1f5f7;border-radius:999px;padding:4px 8px}
.bando-good_apparent_fit .bando-verdetto{background:#e4f4ef;color:#125a4d}
.bando-potentially_relevant .bando-verdetto{background:#e8f1fb;color:#28568a}
.bando-not_applicable{opacity:.75}
.bando-scadenza{text-align:right;white-space:nowrap}
.bando-scadenza b{display:block;font-size:14px}
.bando-scadenza span{font-size:11px;color:#5d6b78}
.bando details{margin-top:11px}
.bando summary{font-size:12.5px;font-weight:800;color:var(--blue);cursor:pointer}
.ragioni{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:5px}
.ragione{display:flex;gap:8px;font-size:13px;color:#4a5a67}
.ragione i{font-style:normal;font-weight:900;width:14px;flex:none}
.ragione-yes i{color:#125a4d}
.ragione-no i{color:#9c3232}
.ragione-unknown i{color:#8b98a2}
.ragione-unknown{color:#5d6b78}
.bando-avviso{margin:11px 0 0;font-size:12px;color:#5d6b78;font-style:italic;max-width:62ch}
.bando-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:13px}

/* --- Azienda / Amministrazione ------------------------------------------- */
.aree{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 30px}
.area{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid #e0e7eb;
  border-radius:14px;padding:16px;text-decoration:none;color:inherit}
.area:hover{border-color:#c7d3da}
.area i{font-style:normal;font-size:18px;color:var(--blue);line-height:1.1}
.area b{display:block;font-size:15px}
.area span{display:block;font-size:12.5px;color:#5d6b78;margin-top:3px}

/* --- il pulsante Nuovo --------------------------------------------------- */
.wb-nuovo{position:relative}
.wb-nuovo-apri{border:0!important;background:var(--blue)!important;color:#fff!important;
  border-radius:9px;padding:7px 11px!important;font-size:12px;font-weight:850;cursor:pointer}
.wb-nuovo-menu{position:absolute;top:calc(100% + 7px);right:0;z-index:30;min-width:250px;
  background:#fff;border:1px solid #dce4e9;border-radius:13px;padding:6px;
  box-shadow:0 18px 44px rgba(11,32,51,.16);display:grid;gap:1px}
.wb-nuovo-menu a,.wb-nuovo-menu button{display:flex;align-items:center;gap:9px;width:100%;
  border:0;background:transparent;border-radius:9px;padding:9px 10px;font-size:13px;
  color:var(--ink);text-decoration:none;text-align:left;cursor:pointer}
.wb-nuovo-menu a:hover,.wb-nuovo-menu button:hover{background:#f2f6f8}
.wb-nuovo-menu i{font-style:normal;color:#5d6b78;width:16px}
.wb-nuovo-menu small{margin-left:auto;font-size:10.5px;color:#5d6b78}
.wb-nuovo-sep{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#5d6b78;padding:9px 10px 5px}
a.wb-org{text-decoration:none;color:inherit}

.primary-action.small,.secondary-action.small{padding:8px 11px;font-size:12px}
/* Un'azione disattivata deve sembrarlo. Senza questo un bottone che non
   risponde al clic e' indistinguibile da uno rotto — e il motivo per cui e'
   spento (scritto qui accanto) sembra non c'entrare niente. */
.primary-action:disabled,.secondary-action:disabled{opacity:.45;cursor:not-allowed}
a.primary-action,a.secondary-action{display:inline-block;text-decoration:none;text-align:center}

/* --- adattamento --------------------------------------------------------- */
@media (max-width:1000px){
  .quadro{grid-template-columns:1fr 1fr}
  .aree,.avvio-azioni{grid-template-columns:1fr}
}
@media (max-width:720px){
  .pri{grid-template-columns:1fr;gap:9px}
  .pri-actions{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}
  .att{grid-template-columns:auto 1fr}
  .att-stato{grid-column:2;justify-self:start;margin-top:8px}
  .bando>header{flex-direction:column;gap:8px}
  .bando-scadenza{text-align:left}
  .nuova-att-riga button{margin-left:0;width:100%}
  .wb-nuovo-apri span{display:none}
}

/* --- correzioni dopo il primo giro in un browser vero --------------------- */

/* Il sottotitolo di una pagina non e' un avviso. .app-note e' una scatola
   tinta di verde: usarla per la frase che spiega cosa fa una schermata
   trasformava ogni pagina in una segnalazione, e quando tutto e' una
   segnalazione niente lo e' piu'. */
.app-lede{margin:0 0 20px;font-size:14.5px;line-height:1.6;color:#5d6b78;max-width:66ch}
.avvio .app-lede{margin:8px 0 0}

/* .app-card a colora di blu ogni collegamento dentro una scheda, ed e' giusto
   per un collegamento in mezzo al testo. Queste sono righe intere cliccabili:
   se il titolo diventa blu sottolineato la riga sembra un elenco di link
   invece di un pulsante largo. */
.app-card .avvio-passo,.app-card .avvio-passo b{color:var(--ink);font-weight:inherit}
.app-card .avvio-passo b{font-weight:800}
.app-card .avvio-passo span{color:#5d6b78;font-weight:400}

/* Le azioni di una priorita' stanno su una riga: incolonnate a destra
   sembravano tre ripensamenti uno sotto l'altro. */
.pri-actions{flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}

/* Su mobile la barra laterale spariva in una striscia che scorreva di lato,
   con le stesse voci gia' presenti in fondo allo schermo: due navigazioni per
   lo stesso posto, e la seconda tagliata a meta' dal bordo. §88 chiede quattro
   o cinque ingressi immediati e il resto sotto "Altro", non la barra del
   desktop compressa. */
@media (max-width:720px){
  .wb-sidebar{display:none}
}

/* "Altro": il resto della navigazione, per chi sta su un telefono. */
.wk-altro{position:fixed;inset:auto 0 0 0;z-index:60;background:#fff;
  border-top:1px solid #dce4e9;border-radius:16px 16px 0 0;padding:10px 10px 78px;
  box-shadow:0 -14px 40px rgba(11,32,51,.16);display:grid;gap:2px}
.wk-altro a{display:flex;align-items:center;gap:11px;padding:12px 12px;border-radius:11px;
  text-decoration:none;color:var(--ink);font-size:14.5px;font-weight:700}
.wk-altro a:hover{background:#f2f6f8}
.wk-altro i{font-style:normal;color:#5d6b78;width:18px}
.wk-altro-testa{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#5d6b78;padding:6px 12px 2px}
.wk-bottomnav button{border:0;background:transparent;font:inherit;cursor:pointer}

/* Cinque ingressi, non quattro: la barra in fondo era a quattro colonne fisse
   e il pulsante "Altro" finiva su una seconda riga, allineato a sinistra come
   un errore di impaginazione. */
@media (max-width:720px){
  .wk-bottomnav{grid-template-columns:repeat(5,1fr)}
  .wk-bottomnav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;color:#5d6b78}
  .wk-bottomnav button.active{color:var(--blue)}
}

/* ============================================================================
   IL GUSCIO DELL'AREA RISERVATA — 2.0
   ----------------------------------------------------------------------------
   Che cosa c'era prima, e perche' sembrava un pannello di amministrazione.

   1. La testata attraversava tutto lo schermo con il marchio al centro, e
      sotto ricominciava la colonna scura. Sopra la colonna, per settantadue
      pixel, non c'era niente: il primo terzo della testata restava vuoto.
   2. Ogni voce della barra aveva una piastrella arrotondata 30x30 con lo
      sfondo traslucido. Otto quadrati grigi identici in fila: e' il segno
      inconfondibile di un modello di cruscotto.
   3. La voce attiva diventava una pillola bianca piena. Un blocco bianco
      dentro una colonna blu notte urla invece di indicare.
   4. La testata portava quattro comandi accesi in fila — cerca, + Nuovo,
      nome, Esci — di cui uno distruttivo.

   Ora: il telaio e' una colonna sola da cima a fondo, la voce attiva si
   solleva invece di accendersi, le piastrelle non ci sono piu', e
   l'intestazione dice una cosa sola — su quale impresa stai lavorando.
   ========================================================================== */

.guscio{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:100%;flex-direction:unset}
.wb-colonna{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}

/* --- il telaio ------------------------------------------------------------ */
.wb-rail{width:250px;background:var(--shell);color:#fff;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;border-right:1px solid rgba(0,0,0,.4)}
.wb-marchio{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;
  padding:0 18px;height:68px;border-bottom:1px solid var(--filo-scuro)}
.wb-marchio b{font-size:15px;font-weight:700;letter-spacing:-.014em}
.wb-marchio .brand-mark{background:#fff;color:var(--shell)}
.wb-nav{overflow:auto;min-height:0;padding:14px 12px 18px;display:flex;flex-direction:column;align-items:stretch;gap:1px}

/* La voce: niente piastrella, il segno e' il glifo. Il filo di accento a
   sinistra dice "sei qui" senza accendere un blocco bianco. */
.wb-rail .wb-nav a{position:relative;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:center;
  text-decoration:none;color:#93a7b6;font-size:13.5px;font-weight:500;letter-spacing:-.007em;
  border-radius:var(--r2);padding:9px 11px;transition:background var(--t1) var(--curva),color var(--t1) var(--curva)}
.wb-rail .wb-nav a i{font-style:normal;font-size:15px;line-height:1;text-align:center;color:#6d8496;
  transition:color var(--t1) var(--curva)}
.wb-rail .wb-nav a:hover{background:rgba(255,255,255,.055);color:#fff}
.wb-rail .wb-nav a:hover i{color:#a9bccb}
.wb-rail .wb-nav a.active{background:var(--shell-alto);color:#fff;font-weight:600}
.wb-rail .wb-nav a.active i{color:var(--blu-su-scuro)}
.wb-rail .wb-nav a.active::before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;
  border-radius:0 3px 3px 0;background:var(--blu-su-scuro)}
.wb-rail .side-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#6d8496;
  font-weight:600;padding:10px 11px 6px}
.wb-rail .side-label-alt{margin-top:16px;padding-top:17px;border-top:1px solid var(--filo-scuro)}
.wb-rail .wb-back{display:flex;align-items:center;gap:8px;justify-self:stretch;font-size:12.5px;font-weight:500;
  color:#7b91a2;padding:14px 23px;border-top:1px solid var(--filo-scuro);text-decoration:none;
  border-radius:0;background:transparent;grid-template-columns:none}
.wb-rail .wb-back:hover{color:#fff;background:transparent}

/* --- l'intestazione: il contesto, poi i comandi --------------------------- */
.wb-testata{height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:0 clamp(16px,2.4vw,28px);background:var(--paper);border-bottom:1px solid var(--line)}
.wb-contesto{min-width:0;display:grid;gap:1px}
.wb-contesto b{font-size:14.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:min(420px,32vw);display:block}
.wb-contesto small{font-size:11.5px;color:var(--muted-forte);font-weight:500}
.wb-comandi{display:flex;align-items:center;gap:9px;flex:none}

/* --- il conto ------------------------------------------------------------- */
.wb-conto{position:relative}
.wb-conto-apri{display:flex;align-items:center;gap:3px;border:1px solid transparent;background:transparent;
  border-radius:var(--r-pill);padding:3px 6px 3px 3px;cursor:pointer;transition:border-color var(--t1) var(--curva),background var(--t1) var(--curva)}
.wb-conto-apri:hover{border-color:var(--line);background:var(--paper-incasso)}
.wb-conto-apri i{font-style:normal;font-size:11px;color:var(--muted-forte);line-height:1}
.wb-avatar{width:31px;height:31px;border-radius:var(--r-pill);background:var(--shell);color:#fff;
  display:grid;place-items:center;font-size:11.5px;font-weight:600;letter-spacing:.02em;flex:none}
.wb-conto-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-menu);min-width:238px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r3);box-shadow:var(--e2);padding:6px}
.wb-conto-testa{padding:10px 11px 11px;border-bottom:1px solid var(--line);margin-bottom:5px;display:grid;gap:2px}
.wb-conto-testa b{font-size:13.5px;font-weight:600}
.wb-conto-testa small{font-size:11.5px;color:var(--muted-forte);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wb-conto-menu a,.wb-conto-menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
  border:0;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--ink);text-decoration:none;
  border-radius:var(--r1);padding:9px 11px;cursor:pointer}
.wb-conto-menu a:hover,.wb-conto-menu button:hover{background:var(--paper-incasso)}
.wb-conto-menu i{font-style:normal;color:var(--muted-forte);width:15px;font-size:13px;text-align:center}
.wb-conto-piattaforma{border-top:1px solid var(--line);margin-top:5px;padding-top:11px!important}
.wb-conto-menu [data-logout]{color:#96413f}
.wb-conto-menu [data-logout] i{color:#b0605e}

/* --- il piano di lavoro ---------------------------------------------------
   Prima il contenuto stava in una colonna fissa da 720px, centrata dentro un
   piano largo 1200: quattrocentottanta pixel di vuoto, meta' per parte, su
   ogni schermata. Il vuoto non era intenzionale, era un residuo.

   Ora il contenitore riempie il piano e sono i singoli blocchi a dichiarare
   quanto sono larghi: un testo che si legge si ferma alla misura di lettura,
   una griglia che si usa arriva fino in fondo. */
.guscio .app-content-inner{max-width:var(--canvas-max)}
.guscio .app-content-inner>p,
.guscio .app-lede,
.guscio .app-content-inner>.app-empty,
.guscio .oggi-testata p{max-width:var(--misura)}
.guscio .app-card>p:not(.auth-error){max-width:var(--misura)}
@media(min-width:1600px){.guscio .app-content-inner{max-width:var(--canvas-max)}}

/* --- telefono e tavoletta ------------------------------------------------- */
@media(max-width:1000px){
  .guscio{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .guscio .wb-rail{display:none}
  .wb-testata{height:60px;gap:10px;padding:0 12px}
  .wb-contesto b{max-width:34vw;font-size:13.5px}
  .wb-contesto small{display:none}
  .wb-comandi{gap:7px;min-width:0;flex:1;justify-content:flex-end}
  .guscio .wk-search{flex:1;max-width:230px;min-width:0}
}
@media(max-width:430px){
  .wb-contesto b{max-width:26vw}
  .guscio .wk-search{max-width:none}
}
