  /* ===== INFORMATIVA / CONSENSO (al primo accesso) ===== */
  #consent{position:fixed;inset:0;background:rgba(20,23,29,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:400;padding:24px}
  #consent.show{display:flex}
  #consent .box{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:30px 30px 24px;max-width:540px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  #consent .ch{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  #consent .ch img{width:40px;height:40px;border-radius:10px;background:var(--logo-pad);padding:2px}
  #consent h2{margin:0;font-family:var(--serif);font-weight:600;font-size:22px;color:var(--navy)}
  html[data-theme="dark"] #consent h2{color:#e9ecf5}
  #consent p{font-size:14px;line-height:1.65;color:var(--txt);margin:0 0 12px}
  #consent .muted{color:var(--mut);font-size:13px}
  #consent .crow{display:flex;gap:10px;margin-top:20px}
  #consent .crow button{flex:1;padding:12px;border-radius:11px;font-weight:600;cursor:pointer;font:inherit;transition:.12s;border:1px solid var(--line2)}
  #consent .acc{background:var(--accent-grad);border-color:transparent;color:var(--accent-ink,#fff)} #consent .acc:hover{filter:brightness(.93)}
  #consent .rej{background:transparent;color:var(--mut)} #consent .rej:hover{border-color:var(--orange);color:var(--orange)}

  /* ===== INFORMATIVA PRIVACY (testo integrale, riusato in consenso + impostazioni) ===== */
  .privacy-doc{font-size:13px;line-height:1.62;color:var(--txt)}
  .privacy-doc h3{font-family:var(--serif);font-size:16px;font-weight:600;color:var(--navy);margin:18px 0 6px}
  html[data-theme="dark"] .privacy-doc h3{color:#e9ecf5}
  .privacy-doc p{margin:0 0 9px}
  .privacy-doc ul{margin:0 0 10px;padding-left:18px}
  .privacy-doc li{margin:4px 0}
  .privacy-doc a{color:var(--teal-d)} html[data-theme="dark"] .privacy-doc a{color:var(--teal)}
  .privacy-doc .pv-meta{margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--mut);font-style:italic}
  #consentDoc{margin:2px 0 12px;max-height:40vh;overflow-y:auto;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--panel2)}
  .cmore{display:inline-block;font-size:13px;color:var(--teal-d);cursor:pointer;text-decoration:none}
  html[data-theme="dark"] .cmore{color:var(--teal)}
  .cmore:hover{text-decoration:underline}

  /* ===== IMPOSTAZIONI (stile Claude: sidebar + contenuto) ===== */
  #settings{position:fixed;inset:0;background:rgba(20,23,29,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:400;padding:24px}
  #settings.show{display:flex}
  #settings .sbox{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(880px,96vw);height:min(600px,90vh);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  #settings .snav{width:212px;flex:none;background:var(--panel2);border-right:1px solid var(--line);padding:18px 12px;overflow-y:auto}
  #settings .snav .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--mut2);font-weight:600;padding:2px 10px 9px}
  #settings .snav button{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;color:var(--txt);font:inherit;font-size:13.5px;padding:6.5px 10px;border-radius:13px;cursor:pointer;transition:.1s;margin-bottom:2px}
  #settings .snav button svg{width:17px;height:17px;color:var(--mut)}
  #settings .snav button:hover{background:var(--elev)}
  #settings .snav button.sel{background:var(--teal-ghost);color:var(--teal-d)}
  html[data-theme="dark"] #settings .snav button.sel{color:var(--teal)}
  #settings .snav button.sel svg{color:var(--teal)}
  /* icone Impostazioni: stessa animazione semantica all'hover delle sezioni (keyframe globali) */
  #settings .snav button[data-sec="account"]:hover svg{animation:navbounce .6s ease}
  #settings .snav button[data-sec="aspetto"]:hover svg{animation:navspin .6s ease}
  #settings .snav button[data-sec="privacy"]:hover svg{animation:navshield .6s ease}
  #settings .snav button[data-sec="utilizzo"] svg line{transform-box:fill-box;transform-origin:bottom}
  #settings .snav button[data-sec="utilizzo"]:hover svg line{animation:navgrow .55s ease}
  #settings .snav button[data-sec="utilizzo"]:hover svg line:nth-child(2){animation-delay:.07s}
  #settings .snav button[data-sec="utilizzo"]:hover svg line:nth-child(1){animation-delay:.14s}
  #settings .snav button[data-sec="limite"] svg line:nth-child(7),
  #settings .snav button[data-sec="limite"] svg line:nth-child(8),
  #settings .snav button[data-sec="limite"] svg line:nth-child(9){transform-box:fill-box}
  #settings .snav button[data-sec="limite"]:hover svg line:nth-child(7){animation:navslideup .55s ease}
  #settings .snav button[data-sec="limite"]:hover svg line:nth-child(8){animation:navslidedn .55s ease}
  #settings .snav button[data-sec="limite"]:hover svg line:nth-child(9){animation:navslideup .55s ease;animation-delay:.06s}
  @media (prefers-reduced-motion:reduce){ #settings .snav button svg,#settings .snav button svg *{animation:none!important} }
  #settings .smain{flex:1;position:relative;overflow-y:auto;padding:30px 34px}
  #settings .sclose{position:absolute;top:14px;right:16px;background:transparent;border:0;color:var(--mut);font-size:24px;line-height:1;cursor:pointer;padding:4px}
  #settings .sclose:hover{color:var(--txt)}
  #settings .stitle{font-size:18px;font-weight:600;color:var(--txt);margin:0 0 20px}
  #settings .srow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
  #settings .srow .k{font-size:14px;color:var(--txt)} #settings .srow .k small{display:block;color:var(--mut);font-size:12px;margin-top:3px;font-weight:400}
  #settings .srow .v{color:var(--mut);font-size:14px}
  #settings .ublock{margin-bottom:24px}
  #settings .uh{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--txt);margin-bottom:3px}
  #settings .uh .pct{color:var(--mut);font-size:13px}
  #settings .us{font-size:12.5px;color:var(--mut);margin-bottom:8px}
  #settings .sbar{height:8px;border-radius:5px;background:var(--elev);overflow:hidden}
  #settings .sbar i{display:block;height:100%;border-radius:5px;background:var(--teal);transition:width .3s}
  #settings .sbar.warn i{background:var(--orange)}
  #settings .plus{display:inline-block;margin-top:14px;color:var(--teal-d);font-weight:500;font-size:13px}
  html[data-theme="dark"] #settings .plus{color:var(--teal)}
  #settings .seg{display:inline-flex;gap:3px;background:var(--panel2);border:1px solid var(--line2);border-radius:10px;padding:3px}
  #settings .seg button{display:flex;align-items:center;gap:6px;background:transparent;border:0;color:var(--mut);font:inherit;font-size:13px;padding:6px 12px;border-radius:7px;cursor:pointer}
  #settings .seg button.on{background:var(--panel);color:var(--teal-d);box-shadow:var(--shadow)}
  html[data-theme="dark"] #settings .seg button.on{color:var(--teal)}
  #settings input[type=number]{width:80px;padding:8px 10px;border:1px solid var(--line2);border-radius:9px;background:var(--panel2);color:var(--txt);font:inherit;text-align:center;outline:none}
  #settings input[type=number]:focus{border-color:var(--teal)}
  #settings .toggle{width:44px;height:24px;border-radius:13px;background:var(--line2);position:relative;cursor:pointer;transition:.15s;border:0;flex:none}
  #settings .toggle.on{background:var(--teal)}
  #settings .toggle::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.15s}
  #settings .toggle.on::after{left:23px}
  #settings .preview{margin-top:16px;padding:11px 13px;background:var(--teal-ghost);border-radius:10px;font-size:13px;color:var(--teal-d)}
  html[data-theme="dark"] #settings .preview{color:var(--teal)}
  #settings .savebtn{margin-top:20px;padding:10px 22px;border:0;border-radius:10px;background:var(--accent-grad);color:var(--accent-ink,#fff);font-weight:600;cursor:pointer}
  #settings input[type=color].cpick{width:50px;height:32px;padding:2px;border:1px solid var(--line2);border-radius:9px;background:var(--panel);cursor:pointer}
  #settings .seg button.fz{min-width:38px;justify-content:center}
  #settings .seg button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}
  #settings .preset{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 7px;border:1px solid var(--line2);border-radius:20px;background:var(--panel);color:var(--txt);cursor:pointer;font-size:12.5px;transition:.12s;white-space:nowrap}
  #settings .preset:hover{border-color:var(--teal)}
  #settings .preset.on{border-color:var(--teal);color:var(--teal-d);box-shadow:0 0 0 1px var(--teal)}
  html[data-theme="dark"] #settings .preset.on{color:var(--teal)}
  #settings .preset .pv{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid rgba(0,0,0,.12);flex:none}
  #settings .preset .pa{width:10px;height:10px;border-radius:50%}
  #settings .preset .pd{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.14)}
  #settings .presetgrid{display:flex;flex-wrap:wrap;gap:9px}
  #settings .savebtn:hover{filter:brightness(.93)}

  /* ===== CONDIVISIONE PDF (stampa brandizzata) ===== */
  #printHead{display:none;align-items:center;gap:13px;padding:0 0 16px;margin:0 0 10px;border-bottom:3px solid #0ab39c}
  #printHead img{width:42px;height:42px;border-radius:10px}
  #printHead .ph-t{font-family:var(--serif);font-size:24px;font-weight:600;color:#405189}
  #printHead .ph-s{font-size:12px;color:#5d6b7a}
  .print-art{display:none}
  @media print{
    *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
    body{display:block;overflow:visible;background:#fff}
    #side,.topbar,.composer-wrap,#artpanel,.hello,.ai-actions,.followups,.reasoning,#profMenu,.lightbox,#login,.imgprev{display:none!important}
    main{display:block;overflow:visible}
    .view{display:none!important} .view.show{display:block!important;overflow:visible}
    .scroll{overflow:visible!important;padding:0!important;height:auto!important}
    .wrap{max-width:100%!important;padding:0!important}
    #printHead{display:flex!important}
    .artcard{display:none!important}
    .print-art{display:block!important;page-break-inside:avoid;margin:8px 0 16px}
    .qtitle{font-size:20px;page-break-after:avoid}
    .turn{border-top:1px solid #e4e8ee;padding:16px 0 6px}
    .msg.ai .body{font-size:13px;line-height:1.6}
    .srcrow .src{border:1px solid #d7dde6}
    .tablewrap .tbar{display:none!important}
    .chartcard{page-break-inside:avoid}
    a{color:#099885;text-decoration:none}
  }

  /* ===== CHI SIAMO (Italia ASCII + PromUp Group) ===== */
  #about{position:fixed;inset:0;background:rgba(20,23,29,.55);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:400;padding:24px}
  #about.show{display:flex}
  #about .abox{position:relative;display:flex;background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(880px,96vw);height:min(600px,90vh);overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.3)}
  #about .aclose{position:absolute;top:14px;right:16px;background:transparent;border:0;color:var(--mut);font-size:24px;line-height:1;cursor:pointer;padding:4px;z-index:3}
  #about .aclose:hover{color:var(--txt)}
  #about .amap{flex:1.15;min-width:0;background:var(--panel2);display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--line);position:relative;--md:#c6cfdb;--ml:var(--teal);--mc:var(--navy)}
  html[data-theme="dark"] #about .amap{--md:#2e3a4d}
  #about .amap::after{content:"PROMUP GROUP — HOUSE OF BRANDS";position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:2.5px;color:var(--mut2);font-weight:600;opacity:.85}
  /* onda di colore che segue l'accento del tema (--teal) e fa un giro completo senza scatti (gradiente simmetrico, 1 tile) */
  pre.italy{margin:0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:5px;line-height:5px;letter-spacing:0;white-space:pre;user-select:none;
    background:linear-gradient(118deg,var(--md) 0%,var(--ml) 30%,var(--mc) 50%,var(--ml) 70%,var(--md) 100%);background-size:200% 100%;
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
    animation:italyflow 16s linear infinite}
  @keyframes italyflow{from{background-position:0 0}to{background-position:200% 0}}
  @media (prefers-reduced-motion:reduce){ pre.italy{animation:none} }
  #about .atext{flex:1;min-width:0;overflow-y:auto;padding:40px 36px 34px}
  #about .akick{font-size:11px;text-transform:uppercase;letter-spacing:3px;color:var(--teal-d);font-weight:700;margin-bottom:7px}
  html[data-theme="dark"] #about .akick{color:var(--teal)}
  #about .atext h2{font-family:var(--serif);font-size:30px;font-weight:600;color:var(--navy);margin:0 0 16px}
  html[data-theme="dark"] #about .atext h2{color:#e9ecf5}
  #about .atext p{font-size:13.5px;line-height:1.62;color:var(--txt);margin:0 0 13px}
  #about .alabel{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--mut2);font-weight:600;margin:22px 0 10px}
  #about .aterr{font-size:13px;color:var(--txt)}
  #about .astats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 22px}
  #about .astats div{text-align:center;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:13px 6px}
  #about .astats b{display:block;font-size:20px;color:var(--navy);font-weight:700} html[data-theme="dark"] #about .astats b{color:#dfe5f3}
  #about .astats span{font-size:10px;color:var(--mut);display:block;margin-top:3px}
  #about .alink{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:11px;background:var(--accent-grad);color:var(--accent-ink,#fff);font-weight:600;font-size:13.5px;text-decoration:none;transition:.12s}
  #about .alink:hover{filter:brightness(.93)}
  #about .alink svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  @media (max-width:760px){
    #about .abox{flex-direction:column}
    #about .amap{flex:none;height:190px;border-right:0;border-bottom:1px solid var(--line)}
    pre.italy{font-size:3.4px;line-height:3.4px}
    #about .atext{padding:26px 22px}
    #about .astats{grid-template-columns:repeat(2,1fr)}
  }

  /* carosello loghi (Chi siamo): scorrimento orizzontale continuo, loghi su tessera bianca */
  #about .acar{overflow:hidden;position:relative;margin:0 -4px 4px;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  #about .acar-tr{display:flex;gap:12px;width:max-content;padding:2px 4px;animation:acarflow 34s linear infinite}
  #about .acar:hover .acar-tr{animation-play-state:paused}
  @keyframes acarflow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  #about .acar .blogo{flex:none;height:58px;border:1px solid var(--line);border-radius:11px;overflow:hidden;display:flex;box-shadow:var(--shadow)}
  #about .acar .blogo img{height:100%;width:auto;display:block}
  @media (prefers-reduced-motion:reduce){ #about .acar-tr{animation:none} }

