/* Chat widget, shared by both proposals. Same markup and chat.js as web/;
   each proposal themes it through the --chat-* variables. */
.chat-launcher,.chat-panel{
  --c-ink:var(--navy,#142C5C);
  --c-accent:var(--sky,#6CB4E8);
  --c-bg:var(--chat-bg,#F6F5F1);
  --c-line:var(--chat-line,rgba(20,44,92,.18));
  --c-radius:var(--chat-radius,18px);
  --c-border:var(--chat-border,0);
  font-family:var(--body,system-ui,sans-serif);
}
.chat-launcher{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;display:flex;align-items:center;gap:.6rem;background:var(--c-ink);color:#fff;border:var(--c-border);border-radius:var(--chat-pill,999px);padding:.85rem 1.25rem;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:var(--chat-shadow,0 12px 28px rgba(13,31,68,.28))}
.chat-launcher:hover{transform:translateY(-2px)}
.chat-launcher svg{width:20px;height:20px;fill:var(--c-accent)}
.chat-launcher[hidden]{display:none}

.chat-panel{position:fixed;right:1.25rem;bottom:1.25rem;z-index:70;width:min(390px,calc(100vw - 2rem));height:min(600px,calc(100vh - 2.5rem));background:#fff;color:var(--c-ink);border:var(--c-border);border-radius:var(--c-radius);box-shadow:var(--chat-shadow,0 24px 60px rgba(13,31,68,.35));display:flex;flex-direction:column;overflow:hidden;line-height:1.5}
.chat-panel[hidden]{display:none}
.chat-head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;background:var(--c-ink);color:#fff}
.chat-avatar{width:36px;height:36px;border-radius:50% 50% 50% 50% / 62% 62% 40% 40%;background:var(--c-accent);color:var(--c-ink);display:grid;place-items:center;font-weight:700}
.chat-title{display:grid;line-height:1.3}
.chat-title strong{font-weight:600}
.chat-title span{font-size:.75rem;color:#CFE6F7;display:flex;align-items:center;gap:.35rem}
.chat-title .dot{width:7px;height:7px;border-radius:50%;background:#49d17a;display:inline-block}
.chat-close{margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.chat-log{flex:1;overflow-y:auto;padding:1rem;background:var(--c-bg);display:flex;flex-direction:column;gap:.65rem}
.msg{max-width:88%;padding:.65rem .85rem;border-radius:14px;font-size:.92rem;white-space:pre-wrap}
.msg a{color:inherit}
.msg ul{margin:.4rem 0 0;padding-left:1.1rem}
.msg li{margin-bottom:.2rem}
.msg-bot{background:#fff;border:1px solid var(--c-line);border-bottom-left-radius:4px;align-self:flex-start}
.msg-user{background:var(--c-ink);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.typing{display:flex;gap:4px;align-self:flex-start;background:#fff;border:1px solid var(--c-line);padding:.7rem .85rem;border-radius:14px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--c-accent);animation:chat-bounce 1s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes chat-bounce{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-4px);opacity:1}}
.chat-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .8rem 0;background:var(--c-bg)}
.chat-chips:empty{display:none}
.chat-chips-label{flex-basis:100%;font:500 .72rem var(--body,system-ui);color:var(--c-muted,#5b6473);text-transform:uppercase;letter-spacing:.04em}
.chat-chips button{background:#fff;border:1px solid var(--c-ink);color:var(--c-ink);border-radius:999px;padding:.35rem .7rem;font:500 .8rem var(--body,system-ui);cursor:pointer}
.chat-chips button:hover{background:var(--c-ink);color:#fff}
.chat-form{display:flex;gap:.5rem;padding:.75rem .8rem;background:var(--c-bg);border-top:1px solid var(--c-line)}
.chat-form input{flex:1;min-width:0;font:inherit;font-size:.92rem;color:inherit;padding:.6rem .8rem;border:1px solid var(--c-line);border-radius:999px;background:#fff}
.chat-form input:focus{outline:2px solid var(--c-accent);border-color:var(--c-ink)}
.chat-form button{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:var(--c-ink);cursor:pointer;display:grid;place-items:center}
.chat-form svg{width:18px;height:18px;fill:#fff}
.chat-foot{margin:0;padding:.35rem .8rem .7rem;background:var(--c-bg);font-size:.72rem;text-align:center}
.chat-link{font:inherit;font-weight:600;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@media(max-width:480px){
  .chat-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;border:0}
  .chat-launcher span{display:none}
  .chat-launcher{padding:1rem;border-radius:50%}
}
