.neo-panel,
.neo-panel * { box-sizing:border-box; }
.neo-panel {
  position:absolute;
  right:0;
  bottom:66px;
  width:min(430px,calc(100vw - 24px));
  height:min(74vh,720px);
  display:grid;
  grid-template-rows:auto 1fr auto auto;
  background:var(--neo-surface,#fff);
  color:var(--neo-text,#183449);
  border:1px solid var(--neo-border,#dce6ed);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 22px 62px rgba(31,58,78,.18);
}
.neo-panel__header {
  min-height:72px;
  padding:11px 13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--neo-border,#dce6ed);
  background:rgba(255,255,255,.97);
}
.neo-panel__titlewrap { display:flex;gap:11px;align-items:center;min-width:0; }
.neo-panel__avatar { width:46px;height:46px;border-radius:11px;background:var(--neo-accent-soft,#EAF3F7);display:grid;place-items:center;overflow:hidden;flex:0 0 auto;border:1px solid #d7e5eb; }
.neo-panel__avatar--image img { width:100%;height:100%;object-fit:cover;display:block; }
.neo-panel__title { font-weight:820;font-size:15px;color:var(--neo-title,#102f46);line-height:1.2; }
.neo-panel__subtitle { margin-top:3px;color:var(--neo-muted,#667d8e);font-size:11.5px;line-height:1.35; }
.neo-panel__close { width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--neo-border,#dce6ed);border-radius:9px;background:#f8fafc;font-size:21px;line-height:1;cursor:pointer;color:#5f7687;transition:.15s; }
.neo-panel__close:hover { background:var(--neo-accent-soft,#EAF3F7);border-color:var(--neo-accent-line,#A7C3D0);color:var(--neo-accent-hover,#25596E); }
.neo-panel__messages { padding:15px;overflow:auto;display:flex;flex-direction:column;gap:10px;background:var(--neo-bg,#f3f7fa);scrollbar-width:thin; }
.neo-bubble { max-width:88%;padding:11px 13px;border-radius:13px;box-shadow:0 3px 10px rgba(31,58,78,.035); }
.neo-bubble--neo { background:#fff;border:1px solid var(--neo-border,#dce6ed);align-self:flex-start;color:var(--neo-text,#183449); }
.neo-bubble--user { background:var(--neo-accent,#2F6F89);border:1px solid var(--neo-accent,#2F6F89);color:#fff;align-self:flex-end; }
.neo-bubble__name { font-size:11px;font-weight:800;margin-bottom:3px;opacity:.82;text-transform:uppercase;letter-spacing:.04em; }
.neo-bubble__text { font-size:13.5px;line-height:1.5; }
.neo-bubble__cta { display:inline-flex;margin-top:8px;padding:7px 9px;border-radius:8px;background:var(--neo-accent-soft,#EAF3F7);border:1px solid var(--neo-accent-line,#A7C3D0);color:var(--neo-accent-hover,#25596E);font-weight:780;text-decoration:none;font-size:12px; }
.neo-panel__suggestions { padding:10px 13px;display:flex;gap:6px;overflow:auto;border-top:1px solid var(--neo-border,#dce6ed);background:#fff;scrollbar-width:none; }
.neo-panel__suggestions::-webkit-scrollbar { display:none; }
.neo-suggestion,.neo-tag { border:1px solid var(--neo-border,#dce6ed);background:#f8fafc;color:#4e6a7b;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap;transition:.15s; }
.neo-suggestion:hover,.neo-tag:hover { background:var(--neo-accent-soft,#EAF3F7);border-color:var(--neo-accent-line,#A7C3D0);color:var(--neo-accent-hover,#25596E); }
.neo-panel__composer { display:flex;gap:7px;padding:11px 12px 12px;background:#fff;border-top:1px solid var(--neo-border,#dce6ed); }
.neo-panel__input { flex:1;min-width:0;min-height:42px;border:1px solid var(--neo-border-strong,#c9d8e2);border-radius:10px;padding:9px 11px;font-size:13px;color:var(--neo-text,#183449);background:#fff;outline:0; }
.neo-panel__input:focus { border-color:var(--neo-accent-line,#A7C3D0);box-shadow:0 0 0 3px rgba(47,111,137,.10); }
.neo-panel__send { min-width:76px;border:1px solid var(--neo-accent,#2F6F89);border-radius:10px;padding:0 13px;background:var(--neo-accent,#2F6F89);color:#fff;font-weight:780;cursor:pointer;transition:.15s; }
.neo-panel__send:hover { background:var(--neo-accent-hover,#25596E);border-color:var(--neo-accent-hover,#25596E); }
.neo-quickask { display:flex;gap:8px;align-items:stretch;width:100%;padding:8px;border:1px solid var(--neo-border,#dce6ed);border-radius:12px;background:#fff; }
.neo-quickask__input { flex:1;min-width:0;min-height:42px;border:1px solid var(--neo-border-strong,#c9d8e2);border-radius:9px;padding:8px 11px;color:var(--neo-text,#183449);background:#fff; }
.neo-quickask__button { min-height:42px;border:1px solid var(--neo-accent,#2F6F89);border-radius:9px;padding:0 13px;background:var(--neo-accent,#2F6F89);color:#fff;font-weight:780;cursor:pointer; }
.neo-quickask__button:hover { background:var(--neo-accent-hover,#25596E); }
@media (max-width:767px) {
  .neo-panel { position:fixed;right:8px;left:8px;bottom:74px;width:auto;height:min(80svh,740px);border-radius:18px; }
  .neo-panel__header { min-height:67px;padding:10px 11px; }
  .neo-panel__avatar { width:42px;height:42px; }
  .neo-panel__subtitle { max-width:230px; }
}

/* Météo360 1.8.0 — protection complémentaire si le panneau est rendu hors du wrapper. */
.neo-panel .neo-panel__send,
.neo-quickask .neo-quickask__button {
  background:#2F6F89 !important;
  background-color:#2F6F89 !important;
  border-color:#2F6F89 !important;
  color:#fff !important;
}
.neo-panel .neo-panel__send:hover,
.neo-quickask .neo-quickask__button:hover {
  background:#25596E !important;
  background-color:#25596E !important;
  border-color:#25596E !important;
}

/* Météo360 1.10.0 — feedback de qualité dans le panneau conversationnel */
.neo-bubble__feedback{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid rgba(47,111,137,.16);font-size:12px;color:#667682}
.neo-bubble__feedback button{appearance:none;border:1px solid #cbdde4!important;background:#fff!important;color:#2F6F89!important;border-radius:8px!important;padding:5px 8px!important;font:inherit;font-weight:700!important;cursor:pointer}
.neo-bubble__feedback button:hover{border-color:#2F6F89!important;background:#f3f7fa!important;color:#25596E!important}
.neo-bubble__feedback button:disabled{opacity:.55;cursor:default}
