/* Panneau privé du bureau : même charte APE, sans dépendance UI. */
/* L'ancre de lecture est restaurée explicitement lors d'une réponse ou revalidation. */
.chat-scroll{overflow-anchor:none}
#chat-widget-root[hidden],#chat-widget-root [hidden]{display:none!important}
.chat-launcher{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:50;display:flex;align-items:center;gap:10px;min-height:54px;border:1px solid var(--purple);border-radius:100px;padding:13px 20px;background:var(--purple);color:white;font-weight:900;box-shadow:0 8px 24px #50176c35}.chat-launcher:hover{background:var(--violet)}
.chat-panel{position:fixed;z-index:51;right:24px;bottom:86px;width:min(440px,calc(100vw - 32px));height:min(690px,calc(100dvh - 110px));display:flex;flex-direction:column;min-height:240px;border:1px solid #d8c8df;border-top:5px solid var(--orange);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 16px 55px #35144740;overflow:hidden;font-size:.94rem}
.chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px 12px;background:#fffaf3;flex-shrink:0}.chat-header h2{font:700 1.55rem/1.1 Fredoka,Arial,sans-serif;color:var(--purple);margin:0}.chat-header p{font-size:.78rem;color:var(--muted);margin:5px 0 0}.chat-icon-button{min-width:44px;min-height:44px;flex:none;border:0;border-radius:12px;background:transparent;color:var(--purple);font-size:1.9rem;line-height:1}.chat-icon-button:hover{background:#f2e9f7}
.chat-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 12px;flex-shrink:0}.chat-toolbar>button,.chat-memory-help summary{min-height:44px;padding:9px 5px;border:0;background:none;color:var(--purple);font-size:.8rem;font-weight:900;cursor:pointer}.chat-memory-help{position:relative}.chat-memory-help p{position:absolute;z-index:2;right:0;top:26px;width:min(260px,65vw);padding:14px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow);font-size:.83rem}.chat-toolbar button:disabled{opacity:.5;cursor:default}
.chat-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px;scrollbar-gutter:stable}.chat-welcome{text-align:center;padding:16px 2px 20px}.chat-welcome-icon{display:grid;place-items:center;margin:auto;width:58px;height:58px;background:#f1e5f8;color:var(--purple);border-radius:19px}.chat-welcome h3{font:700 1.4rem Fredoka,Arial,sans-serif;color:var(--purple);margin:15px 0 7px}.chat-welcome>p{color:var(--muted);margin:0 0 18px}.chat-suggestions{display:grid;gap:8px}.chat-suggestions button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--purple);font-weight:800}.chat-suggestions button:hover{background:#f5eaf8}
#chat-messages{list-style:none;margin:0;padding:0;display:grid;gap:20px}.chat-exchange{display:grid;gap:10px;min-width:0}.chat-message{padding:12px 14px;border-radius:15px;overflow-wrap:anywhere;min-width:0}.chat-message>span{display:block;font-size:.74rem;font-weight:900;color:var(--purple)}.chat-message>p{white-space:pre-wrap;margin:6px 0 0;line-height:1.5}.chat-user{background:#f3e8f7;margin-left:24px}.chat-assistant{background:#f0fafb;border:1px solid #d3edf0;margin-right:9px}
.chat-sources{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:9px}.chat-source{background:#fff;padding:11px;border:1px solid #dce5e8;border-radius:10px;min-width:0}.chat-source strong,.chat-source small{display:block}.chat-source strong{font-size:.88rem;color:var(--purple)}.chat-source small{font-size:.73rem;color:var(--muted);margin:4px 0}.chat-source a{display:inline-flex;align-items:center;min-height:40px;font-weight:900;font-size:.83rem}.chat-source p{font-size:.8rem;margin:5px 0 0;white-space:pre-wrap}
.chat-composer{padding:6px 14px max(13px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff;flex-shrink:0}.chat-composer>small{display:block;font-size:.69rem;color:var(--muted);margin-top:7px}.chat-composer form{display:flex;align-items:flex-end;gap:8px}.chat-composer textarea{width:100%;min-width:0;min-height:52px;max-height:120px;resize:none;overflow:auto;line-height:1.4;padding:11px;border:1.5px solid #b6a8bf;border-radius:13px;background:#fffcf8;color:var(--ink);font-size:1rem}.chat-composer form button{flex:none;width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:14px;color:#fff;background:var(--purple)}.chat-composer form button:disabled{opacity:.5;cursor:default}.chat-composer form button:hover:not(:disabled){background:var(--violet)}#chat-status{font-size:.79rem;color:var(--muted);margin:0 0 5px;min-height:0}#chat-status:empty{display:none}
.chat-error{padding:9px 11px;margin:3px 0 8px;background:#fff2e8;border-left:3px solid var(--orange);border-radius:8px;font-size:.82rem}.chat-error p{margin:0}.chat-error button{border:0;background:none;color:var(--purple);font-weight:900;min-height:38px;padding:8px 0 0;text-decoration:underline}.chat-confirm{padding:10px 15px;background:#fff2e8;border-bottom:1px solid var(--line);flex-shrink:0}.chat-confirm p{margin:0 0 6px}.chat-confirm>div{display:flex;gap:10px}.chat-confirm button{min-height:42px;border:1px solid var(--purple);border-radius:100px;background:#fff;color:var(--purple);font-weight:900;padding:8px 15px}#chat-clear-yes{background:var(--purple);color:#fff}.chat-new-response{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--chat-composer-height,125px) + 8px);max-width:85%;min-height:40px;background:var(--purple);color:#fff;border:0;border-radius:100px;padding:7px 16px;font-size:.8rem;font-weight:900;box-shadow:var(--shadow)}.chat-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Réponses de l'agent : [n], blocs « À vérifier » et « Enregistré dans le BO », votes (L8). */
.chat-cite{font-weight:900;color:var(--purple);text-decoration:underline;text-underline-offset:2px;border-radius:4px;padding:0 1px}.chat-cite:hover{background:#f1e5f8}
.chat-flag{margin:8px 0 0;padding:7px 10px;background:#fff2e8;border-left:3px solid var(--orange);border-radius:8px;font-size:.8rem;line-height:1.4}
.chat-verify,.chat-bo{margin:12px 0 0;padding:10px 12px;border-radius:10px;min-width:0}.chat-verify h4,.chat-bo h4{margin:0 0 5px;font-size:.8rem;font-weight:900;letter-spacing:.01em}.chat-verify{background:#fffaf0;border:1px solid #f0d9b5}.chat-verify h4{color:#8a3a00}.chat-verify ul{margin:0;padding-left:18px;display:grid;gap:4px}.chat-verify li,.chat-bo>p{font-size:.86rem;line-height:1.45;white-space:pre-wrap;margin:0}
.chat-bo{background:#f7f0fb;border:1px solid #d8c8df;border-left:4px solid var(--purple)}.chat-bo h4{color:var(--purple)}.chat-bo .chat-sources{margin-top:9px}.chat-source.is-official{border-color:#d8c8df}
.chat-source-number{color:var(--muted);font-weight:900}.chat-source.is-highlighted{outline:3px solid var(--orange);outline-offset:2px;background:#fff8f2}
.chat-badge{display:inline-block;margin:6px 0 0;padding:2px 9px;border:1px solid;border-radius:100px;font-size:.72rem;font-weight:900;line-height:1.5}.chat-badge.is-published{background:#e7f5ea;color:#1d5c2a;border-color:#9ccaa6}.chat-badge.is-draft{background:#fff4dc;color:#6b4400;border-color:#dcb867}.chat-badge.is-cancelled{background:#fdecec;color:#a72725;border-color:#e3a3a2}.chat-badge.is-unknown{background:#f1eef3;color:#4a4057;border-color:#b9adc2}
.chat-votes{display:flex;gap:8px;margin-top:12px}.chat-vote{min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid #8f7a9c;border-radius:100px;background:#fff;font-size:1.15rem;line-height:1}.chat-vote:hover:not([aria-disabled="true"]){background:#f5eaf8}.chat-vote[aria-pressed="true"]{background:#f1e5f8;border-color:var(--purple);box-shadow:inset 0 0 0 2px var(--purple)}.chat-vote[aria-disabled="true"]{opacity:.6;cursor:progress}
.chat-pending{border-style:dashed}.chat-pending>p::before{content:'';display:inline-block;width:.75em;height:.75em;margin-right:8px;border:2px solid var(--purple);border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:chat-spin 1s linear infinite}@keyframes chat-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.chat-pending>p::before{animation:none;border-right-color:var(--purple)}}
@media(max-width:600px){.chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 16px}.chat-panel{top:var(--chat-view-top,0px);left:0;right:0;bottom:auto;width:100%;height:var(--chat-view-height,100dvh);max-height:100dvh;min-height:0;border:0;border-top:4px solid var(--orange);border-radius:0}.is-open .chat-launcher{display:none}.chat-header{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.chat-scroll{padding:13px}.chat-message{padding:11px 12px}.chat-user{margin-left:18px}.chat-assistant{margin-right:3px}.chat-composer{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){#chat-widget-root *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
