@layer chat-panel{.chat-panel{background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow-overlay);isolation:isolate;z-index:var(--z-chat);border:none;border-radius:16px;flex-direction:column;margin:0;padding:0;display:flex}.chat-panel::-ms-backdrop{background:var(--color-overlay-control);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chat-panel::backdrop{background:var(--color-overlay-control);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.chat-panel:not([open]){display:none}@media (min-width:768px){.chat-panel[open]{width:400px;height:min(72vh,640px);max-height:80dvh;position:fixed;top:auto;bottom:24px;left:auto;right:24px}:root.filters-open .chat-panel[open]{right:calc(var(--filters-panel-inline-size) + 24px);width:min(400px, calc(100% - var(--filters-panel-inline-size) - 48px))}}@media (min-width:768px) and (prefers-reduced-motion:no-preference){.chat-panel{transition:opacity .2s ease-out allow-discrete, transform .2s ease-out allow-discrete, display .2s ease-out allow-discrete, overlay .2s ease-out allow-discrete, right .25s ease, width .25s ease}}@media not (min-width:768px){.chat-panel[open]{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;position:fixed;top:0;bottom:0;left:0;right:0}body.chat-panel-open{overscroll-behavior:contain;overflow:hidden}body:has(.chat-panel[open]){overscroll-behavior:contain;overflow:hidden}}.chat-panel__header{border-bottom:1px solid var(--border-1);background:var(--surface-2);border-top-left-radius:16px;border-top-right-radius:16px;flex:none;align-items:center;gap:12px;padding:12px 16px;display:flex}@media not (min-width:768px){.chat-panel__header{padding-top:max(12px, env(safe-area-inset-top));border-radius:0}}.chat-panel__header-manager{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.chat-panel__header-avatar{background:linear-gradient(135deg, var(--color-action), var(--color-action-hover));width:40px;height:40px;color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);border-radius:50%;flex:none;align-items:center;justify-items:center;display:grid}.chat-panel__header-text{flex-direction:column;min-width:0;display:flex}.chat-panel__header-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-panel__header-status{font-size:var(--font-size-xs);color:var(--text-2)}.chat-typing-dots{vertical-align:middle;align-items:center;gap:3px;display:inline-flex}.chat-typing-dots>span{opacity:.35;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite chat-typing-pulse}.chat-typing-dots>span:nth-child(2){animation-delay:.2s}.chat-typing-dots>span:nth-child(3){animation-delay:.4s}@keyframes chat-typing-pulse{0%,60%,to{opacity:.3;transform:scale(.95)}30%{opacity:1;transform:scale(1.1)}}.chat-panel__close{cursor:pointer;width:36px;height:36px;color:var(--text-2);background:0 0;border:none;border-radius:50%;align-items:center;justify-items:center;display:grid}.chat-panel__close:hover{background:var(--surface-3)}.chat-panel__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__messages{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:8px;padding:16px;display:flex;overflow-y:auto}.chat-panel__messages-loading,.chat-panel__messages-empty{text-align:center;font-size:var(--font-size-sm);color:var(--text-2);padding:32px 16px}.chat-panel__messages-list{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex}.chat-bubble{max-width:80%;font-size:var(--font-size-sm);line-height:var(--line-height-body);overflow-wrap:break-word;border-radius:14px;padding:8px 12px;transition:opacity .2s ease-out,translate .2s ease-out;position:relative}@starting-style{.chat-bubble{opacity:0;translate:0 8px}}.chat-bubble--self{background:var(--color-action);color:var(--color-text-inverse);border-bottom-right-radius:4px;align-self:flex-end}.chat-bubble--other{background:var(--surface-2);color:var(--text-1);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble--system{font-size:var(--font-size-xs);color:var(--text-2);background:0 0;align-self:center;padding:4px 8px;font-style:italic}.chat-bubble__body{white-space:pre-wrap;margin:0}.chat-bubble[data-state=failed]{opacity:.85}.chat-bubble__send-status{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:4px;display:block}.chat-bubble__time{font-size:var(--font-size-xs);color:var(--color-text-inverse);margin-top:4px;display:block}.chat-bubble--other .chat-bubble__time,.chat-bubble--system .chat-bubble__time{color:var(--text-2)}.chat-bubble__file{color:inherit;background:var(--color-overlay-subtle);border-radius:8px;flex-direction:column;gap:2px;padding:8px;text-decoration:none;display:flex}.chat-bubble__file-name{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.chat-bubble__file-size{font-size:var(--font-size-xs);color:var(--text-2)}.chat-bubble__image{aspect-ratio:4/3;object-fit:cover;background:var(--surface-2);border-radius:8px;width:320px;max-width:100%;height:auto;max-height:60dvh;display:block}@media not (min-width:768px){.chat-bubble__image{width:100%}}.chat-bubble__object-card{background:color-mix(in srgb, var(--color-surface-default) 60%, transparent);border-radius:8px;flex-direction:column;gap:0;min-width:200px;max-width:280px;display:flex;overflow:hidden}.chat-bubble__object-card-image{aspect-ratio:320/180;object-fit:cover;background:var(--color-overlay-subtle);width:100%;height:auto;display:block}.chat-bubble__object-card-body{flex-direction:column;gap:4px;padding:8px 10px 10px;display:flex}.chat-bubble__object-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-ui);margin:0}.chat-bubble__object-card-subtitle{font-size:var(--font-size-xs);opacity:.7;line-height:var(--line-height-ui);margin:0}.chat-bubble__object-card-link{font-size:var(--font-size-xs);color:inherit;align-self:flex-start;margin-top:2px;text-decoration:underline}.chat-panel__input{border-top:1px solid var(--border-1);background:var(--surface-1);flex-direction:column;flex:none;gap:8px;padding:12px;display:flex}@media not (min-width:768px){.chat-panel__input{padding-bottom:max(12px, env(safe-area-inset-bottom))}}.chat-panel__quick-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-panel__attach-error{font-size:var(--font-size-sm);line-height:var(--line-height-ui);color:var(--color-danger-text);background:var(--color-danger-surface);border:1px solid var(--color-danger-border);border-radius:8px;padding:8px 10px}.chat-panel__attach-error[hidden]{display:none}.chat-panel__attach-error-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.chat-panel__attach-retry{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;flex:none;padding:3px 8px}.chat-panel__toasts{pointer-events:none;z-index:1;flex-direction:column;gap:6px;margin-top:auto;padding:4px 0 0;display:flex;position:sticky;bottom:0}.chat-panel__toast{pointer-events:auto;font-size:var(--font-size-sm);line-height:var(--line-height-ui);box-shadow:var(--shadow-popover);border-radius:8px;padding:8px 10px;animation:.16s ease-out chat-panel-toast-in}.chat-panel__toast--error{color:var(--color-danger-text);background:var(--color-danger-surface);border:1px solid var(--color-danger-border)}.chat-panel__toast--info{color:var(--text-1);background:var(--surface-2);border:1px solid var(--border-1)}@keyframes chat-panel-toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-panel__quick-action{font-size:var(--font-size-xs);border:1px solid var(--border-1);background:var(--surface-2);border-radius:var(--radius-full);cursor:pointer;min-height:32px;padding:8px 14px}.chat-panel__quick-action:hover{background:var(--surface-3)}.chat-panel__compose{align-items:flex-end;gap:8px;display:flex}.chat-panel__textarea{resize:none;border:1px solid var(--border-1);font-size:var(--font-size-sm);line-height:var(--line-height-body);background:var(--surface-1);color:inherit;border-radius:12px;outline:none;flex:auto;min-height:36px;max-height:120px;padding:8px 12px;font-family:inherit}.chat-panel__textarea:focus{border-color:var(--color-action)}.chat-panel__attach,.chat-panel__send{cursor:pointer;border:none;border-radius:50%;flex:none;align-items:center;justify-items:center;width:36px;height:36px;display:grid}.chat-panel__attach{background:var(--surface-2);color:var(--text-2)}.chat-panel__send{background:var(--color-action);color:var(--color-text-inverse)}.chat-panel__attach:hover,.chat-panel__send:hover{filter:brightness(.95)}.chat-panel__attach:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__send:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__quick-action:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__callback-cancel:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__callback-submit:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__callback-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__textarea:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px;border-color:var(--color-focus)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-panel__callback{border-top:1px solid var(--border-1);background:var(--surface-1);padding:12px}.chat-panel__callback[hidden]{display:none}.chat-panel__callback-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.chat-panel__callback-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.chat-panel__callback-close{cursor:pointer;width:32px;height:32px;color:var(--text-2);background:0 0;border:none;border-radius:50%}.chat-panel__callback-form{flex-direction:column;gap:10px;display:flex}.chat-panel__callback-field{flex-direction:column;gap:4px;display:flex}.chat-panel__callback-label{font-size:var(--font-size-xs);color:var(--text-2)}.chat-panel__callback-input{border:1px solid var(--border-1);font-size:var(--font-size-sm);background:var(--surface-1);color:inherit;box-shadow:none;border-radius:8px;padding:8px 12px;font-family:inherit}.chat-panel__callback-input:invalid{border-color:var(--border-1);box-shadow:none}.chat-panel__callback-input:user-invalid{border-color:var(--color-danger-solid)}.chat-panel__callback-input:user-valid{border-color:var(--color-success-solid)}.chat-panel__callback-input:focus{outline:2px solid var(--color-action);outline-offset:-1px;border-color:var(--color-action)}.chat-panel__callback-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.chat-panel__callback-cancel,.chat-panel__callback-submit{font-size:var(--font-size-sm);cursor:pointer;border:1px solid var(--border-1);background:var(--surface-2);border-radius:8px;padding:6px 14px}.chat-panel__callback-submit{background:var(--color-action);color:var(--color-text-inverse);border-color:var(--color-action)}.chat-panel__mute-toggle{cursor:pointer;width:36px;height:36px;color:var(--text-2);background:0 0;border:none;border-radius:50%;flex:none;align-items:center;justify-items:center;display:grid}.chat-panel__mute-toggle:hover{background:var(--surface-3)}.chat-panel__mute-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.chat-panel__new-messages-pill{background:color-mix(in srgb, var(--color-action) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;box-shadow:var(--shadow-popover);z-index:10;border:none;align-self:center;align-items:center;gap:6px;padding:8px 16px;transition:background-color .15s;animation:.4s cubic-bezier(.34,1.56,.64,1) chat-pill-bounce;display:flex;position:sticky;bottom:12px}.chat-panel__new-messages-pill:hover{background:var(--color-action)}@keyframes chat-pill-bounce{0%{opacity:0;transform:translateY(12px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.chat-bubble{transition:none}.chat-typing-dots>span{opacity:.7;animation:none}.chat-panel__new-messages-pill,.chat-panel,.chat-panel *{transition:none;animation:none}}.chat-bubble__edited{color:var(--color-text-secondary-alt);font-size:var(--font-size-xs);margin-right:4px}}