#answer:empty{display:none}
#answer{padding:6px 0 2px}
.chatbar{display:none;position:sticky;top:0;z-index:3;align-items:center;gap:10px;
  padding:11px 16px 9px;background:rgba(252,254,255,.97);
  border-bottom:1px solid rgba(15,32,40,.07)}
.dock.chat .chatbar{display:flex}
.dock.chat .filters,
.dock.chat #results{display:none}
.backb{display:inline-flex;align-items:center;gap:7px;height:29px;padding:0 13px 0 10px;
  border-radius:999px;font-size:11.5px;font-weight:600;color:var(--ink-2);
  background:rgba(15,32,40,.045);
  transition:color .4s var(--ease), background-color .4s var(--ease), transform .4s var(--ease)}
.backb:before{content:'';width:7px;height:7px;border-left:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin-left:2px}
.backb:hover{color:var(--accent);background:rgba(47,125,140,.10);transform:translateX(-2px)}
.chatlab{margin-left:auto;font-size:9.5px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3)}
.msg-me{display:flex;justify-content:flex-end;margin:8px 14px}
.msg-me span{max-width:82%;padding:10px 16px;border-radius:16px 16px 4px 16px;
  font-size:12.5px;line-height:1.5;font-weight:500;color:#f2f7f8;background:#16323c;
  box-shadow:var(--sh-s);animation:meIn .45s var(--ease)}
@keyframes meIn{from{opacity:0;transform:translateY(8px) scale(.97)}}
.answer{display:flex;gap:12px;align-items:flex-start;margin:8px 14px 4px;padding:13px 16px;
  border-radius:16px 16px 16px 4px;
  background:linear-gradient(135deg,rgba(213,237,241,.72),rgba(255,255,255,.88));
  border:1px solid var(--line);box-shadow:var(--sh-s);
  animation:ansIn .5s var(--ease)}
@keyframes ansIn{from{opacity:0;translate:0 8px}}
.answer .ai{width:28px;height:28px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);box-shadow:var(--sh-s)}
.answer .ai svg{width:15px;height:15px;stroke:var(--accent)}
.answer p{font-size:12.5px;line-height:1.6;color:var(--ink);padding-top:4px}
.answer p b{font-weight:600;color:var(--accent)}
.answer .dots{display:inline-flex;gap:5px;padding:4px 2px}
.answer .dots i{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.3;
  animation:dot 1.15s var(--ease-soft) infinite}
.answer .dots i:nth-child(2){animation-delay:.16s}
.answer .dots i:nth-child(3){animation-delay:.32s}
@keyframes dot{28%{opacity:.95;transform:translateY(-3px)}}
.achips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.achip{height:28px;padding:0 13px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;
  font-size:11.5px;font-weight:600;color:var(--accent);
  background:#fff;border:1px solid var(--line);box-shadow:var(--sh-s);
  transition:transform .45s var(--ease), box-shadow .45s var(--ease), background-color .45s var(--ease)}
.achip:hover{transform:translateY(-2px);box-shadow:var(--sh-m)}
.achip svg{width:11px;height:11px;stroke:currentColor}
.qchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.qchip{padding:6px 13px;border-radius:13px;font-size:11.5px;font-weight:500;color:var(--ink-2);
  background:rgba(255,255,255,.55);border:1px solid var(--line);
  transition:color .4s var(--ease), background-color .4s var(--ease), transform .4s var(--ease)}
.qchip:hover{color:var(--accent);background:#fff;transform:translateY(-1px)}

.rispota-tab{margin-top:10px;border-radius:14px;overflow:hidden;
  border:1px solid var(--line);background:rgba(255,255,255,.72);box-shadow:var(--sh-s)}
.rispota-tab table{width:100%;border-collapse:collapse;font-size:11.5px}
.rispota-tab th{text-align:left;font-size:9px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3);padding:8px 11px 6px;
  background:rgba(255,255,255,.55);border-bottom:1px solid var(--line);white-space:nowrap}
.rispota-tab td{padding:8px 11px;border-top:1px solid rgba(15,32,40,.055);
  color:var(--ink);vertical-align:top;line-height:1.45}
.rispota-tab tr:first-child td{border-top:0}
.rispota-tab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.rispota-tab td b{font-weight:600;color:var(--ink)}
.rispota-tab .pill-s{display:inline-block;padding:2px 8px;border-radius:999px;font-size:9.5px;
  font-weight:600;letter-spacing:.02em;background:rgba(47,125,140,.12);color:var(--accent);
  white-space:nowrap}
.rispota-tab .pill-s.att{background:rgba(196,146,52,.14);color:#8a6410}
.rispota-tab .pill-s.no{background:rgba(180,68,63,.13);color:#a33a35}
.rispota-tab .pill-s.si{background:rgba(74,148,113,.15);color:#2f6b4d}
.rispota-nota{margin-top:7px;font-size:10.5px;color:var(--ink-3);line-height:1.5}

/* «Scarica in Excel» sotto ogni elenco: discreto, si accende al passaggio.
   Sta sotto la tabella perche' prima si guarda, poi semmai si porta via. */
.scarica{margin-top:9px;display:inline-flex;align-items:center;gap:7px;
  height:29px;padding:0 13px;border-radius:9px;cursor:pointer;
  font-size:11px;font-weight:600;letter-spacing:-.01em;color:var(--ink-2);
  background:rgba(255,255,255,.66);border:1px solid var(--line);
  transition:transform .35s var(--ease,cubic-bezier(.2,.8,.2,1)),
             background .35s ease, color .35s ease, box-shadow .35s ease}
.scarica::before{content:"";width:13px;height:13px;flex:none;opacity:.62;
  background:currentColor;
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='7 10 12 15 17 10'/%3E%3Cline x1='12' y1='15' x2='12' y2='3'/%3E%3C/svg%3E")}
.scarica:hover{transform:translateY(-1px);color:var(--ink);
  background:rgba(255,255,255,.86);box-shadow:var(--sh-s)}
.scarica:active{transform:translateY(0) scale(.985)}

.mese{margin-top:10px;padding:11px 12px 12px;border-radius:16px;
  border:1px solid var(--line);background:rgba(255,255,255,.72);box-shadow:var(--sh-s)}
.mese h5{font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:9px;text-align:center}
.mese .griglia{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.mese .dow{font-size:8.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3);text-align:center;padding-bottom:3px}
.mese .g{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;
  font-size:10.5px;font-weight:500;color:var(--ink-2);
  font-variant-numeric:tabular-nums;background:rgba(255,255,255,.5)}
.mese .g.vuoto{background:none}
.mese .g.wknd{color:var(--ink-3);background:rgba(15,32,40,.035)}
.mese .g.oggi{box-shadow:inset 0 0 0 1.5px var(--accent);font-weight:600}
.mese .g.via{background:var(--accent);color:#fff;font-weight:600;box-shadow:var(--sh-s)}
.mese .g.mezza{background:linear-gradient(135deg,var(--accent) 0 50%,rgba(255,255,255,.7) 50% 100%);
  color:var(--ink)}
.mese .g.mal{background:#b4443f;color:#fff;font-weight:600}
.mese .leg{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;justify-content:center}
.mese .leg span{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;color:var(--ink-3)}
.mese .leg i{width:9px;height:9px;border-radius:3px;display:block}
.mese .leg i.via{background:var(--accent)}
.mese .leg i.mezza{background:linear-gradient(135deg,var(--accent) 0 50%,rgba(15,32,40,.12) 50% 100%)}
.mese .leg i.mal{background:#b4443f}

@media (max-width:680px){
  .chatbar{padding:10px 12px 8px}
  .backb{height:34px}
  .answer{margin:8px 10px 4px;padding:12px 13px}
  .msg-me{margin:8px 10px}
  .msg-me span{max-width:88%}
  .qchip{padding:9px 13px}
  .achip{height:32px}
  .rispota-tab table{font-size:11px}
  .rispota-tab th,.rispota-tab td{padding:7px 8px}
  .mese{padding:9px 8px 10px}
  .mese .g{font-size:10px;border-radius:8px}
}
