#aiConversationGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:24px}
.ai-chat-model-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:6px;flex-shrink:0;min-width:0}.ai-chat-model-controls :is(select,input,button){width:100%;min-width:0;max-width:100%;margin:0;font-size:14px;min-height:36px;box-sizing:border-box}.ai-chat-model-controls p{grid-column:1/-1;margin:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.ai-chat-model-controls [hidden]{display:none!important}
.ai-chat-card{min-width:0;height:440px;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--border,#394354);border-radius:20px;background:var(--card-bg,#131b25);color:inherit;box-sizing:border-box}
.ai-chat-card[hidden],.ai-chat-card [hidden],.ai-chat-archive-toggle[hidden]{display:none!important}
.ai-chat-card-header{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0}.ai-chat-card-heading{flex:1;min-width:0}.ai-chat-card-title{display:block;font-size:var(--fs-md,18px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-card-configuration{display:block;margin-top:4px;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-card-configuration:empty{display:none}
.ai-chat-card .ai-chat-card-icon-button,.ai-chat-card-menu summary{display:inline-flex;align-items:center;justify-content:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:8px;margin:0;border:0;border-radius:50%;background:transparent;color:var(--text,#eef6ff);box-shadow:none}.ai-chat-card-icon-button svg{display:block;width:20px;height:20px}.ai-chat-card .ai-chat-card-handle{width:24px;min-width:24px;padding:4px;color:var(--muted,#a4adbd);cursor:grab;touch-action:none}.ai-chat-card-icon-button:hover,.ai-chat-card-menu summary:hover{background:#ffffff0d}.ai-chat-card :is(button,summary,textarea):focus-visible{outline:2px solid var(--cyan,#7bcaff);outline-offset:2px}
.ai-chat-card-badges{display:flex;gap:4px;font-size:var(--fs-sm,14px);white-space:nowrap}.ai-chat-card-badges span{padding:3px 6px;border-radius:6px;color:var(--muted,#a4adbd);background:#ffffff06}.ai-chat-card-badges [data-bound=true]{color:var(--cyan,#7bcaff);background:#3ed7d018}
.ai-chat-card-menu{position:relative}.ai-chat-card-menu summary{cursor:pointer;font-size:22px;list-style:none}.ai-chat-card-menu summary::-webkit-details-marker{display:none}.ai-chat-card-menu>div{position:absolute;right:0;top:calc(100% + 6px);width:160px;min-width:0;z-index:5;display:grid;padding:4px;gap:2px;background:var(--card-bg,#18202d);border:1px solid var(--border,#394354);border-radius:12px;box-shadow:0 10px 28px #0006}.ai-chat-card-menu>div select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-card-menu button{margin:0;min-height:36px;padding:6px 10px;text-align:left;white-space:normal;font-size:var(--fs-sm,14px)}
.ai-chat-card-messages{flex:1;min-height:0;overflow:auto;overscroll-behavior:none;display:flex;flex-direction:column;gap:16px;padding:8px 2px;scrollbar-width:thin}.ai-chat-card-message{flex:0 0 auto;min-width:0;max-width:100%;font-size:var(--fs-sm,14px);line-height:1.65}.ai-chat-card-message-role{display:block;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);margin-bottom:4px}.ai-chat-card-message-content{white-space:pre-wrap;overflow-wrap:anywhere}.ai-chat-card-message[data-role=user]{align-self:flex-end;max-width:88%;padding:10px 14px;border-radius:16px 16px 4px 16px;background:#7bcaff18}.ai-chat-card-message[data-role=assistant]{padding:0 4px}
.ai-chat-card-empty{margin:auto 0;padding:12px 4px;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);line-height:1.65}.ai-chat-card-empty p{margin:0 0 14px}.ai-chat-card .ai-chat-card-suggestion{padding:7px 10px;margin:0 6px 6px 0;min-height:34px;font-size:var(--fs-sm,14px);background:transparent;border:1px solid var(--border,#394354);border-radius:10px;color:inherit;box-shadow:none}
.ai-chat-card-status{flex-shrink:0;max-height:4.5em;overflow:auto;margin:0;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);line-height:1.5;overflow-wrap:anywhere}.ai-chat-card-status:empty{display:none}
.ai-chat-card-composer{flex-shrink:0;min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border,#394354);border-radius:18px;background:#ffffff04}.ai-chat-card-composer:focus-within{border-color:var(--cyan,#7bcaff)}.ai-chat-card-composer textarea{width:100%;min-width:0;min-height:56px;max-height:120px;resize:none;padding:4px 6px;margin:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;font-size:var(--fs-base,16px);line-height:1.5;box-shadow:none}.ai-chat-card-composer textarea:focus{outline:none}.ai-chat-card-toolbar{display:flex;align-items:center;gap:8px}.ai-chat-card-toolbar>.ai-chat-card-add-image{margin-right:auto}.ai-chat-card-toolbar>button[type=submit]{background:var(--cyan,#7bcaff);color:#07111f}.ai-chat-card-toolbar>button:disabled{opacity:.4;cursor:default}.ai-chat-card-composer>.ai-chat-card-discard-images{align-self:flex-start;margin:0;min-height:32px;padding:4px 8px;font-size:var(--fs-sm,14px)}
.ai-chat-card-previews{display:flex;gap:8px;overflow:auto;overscroll-behavior:none}.ai-chat-card-previews:empty{display:none}.ai-chat-card-previews-item{position:relative;flex:0 0 auto}.ai-chat-card-previews img{display:block;width:64px;height:56px;object-fit:cover;border-radius:8px}.ai-chat-card .ai-chat-card-preview-remove{position:absolute;top:0;right:0;width:24px;min-width:24px;height:24px;min-height:24px;padding:3px;background:#07111fe6}.ai-chat-card-preview-remove svg{width:16px;height:16px}.ai-chat-card-saved-image{display:block;max-width:100%;max-height:160px;margin-top:8px;border-radius:8px;object-fit:contain}.ai-chat-card-image-load{display:block;font-size:var(--fs-sm,14px);padding:6px 10px;margin:8px 0 0}
.ai-chat-card-job-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.ai-chat-card-job-actions button{margin:0;padding:5px 8px;min-height:32px;font-size:var(--fs-sm,14px)}
/* The dashboard's shared form theme has ID specificity. The composer owns
   the single visible input border and its focus indicator. */
#dashboard .ai-chat-card .ai-chat-card-composer textarea,
#dashboard .ai-chat-card .ai-chat-card-composer textarea:is(:focus,:focus-visible){border:0;border-radius:0;outline:none;box-shadow:none;background:transparent}
#dashboard .ai-chat-card .ai-chat-card-icon-button{border:0;border-radius:50%}
@media(max-width:760px){.ai-chat-card{height:500px;padding:12px;gap:12px;border-radius:18px}.ai-chat-card-badges{gap:3px}.ai-chat-card-badges span{padding:3px 4px}.ai-chat-card .ai-chat-card-icon-button,.ai-chat-card-menu summary{min-height:40px;height:40px}.ai-chat-card .ai-chat-card-preview-remove{min-height:24px;height:24px}}

/* Shared overview card geometry; conversation state remains in its controller. */
#dashboard .ai-chat-card{min-width:0;min-height:var(--overview-card-min-height,640px);height:var(--overview-card-min-height,640px)}
#dashboard #aiConversationGrid{grid-template-columns:repeat(auto-fill,minmax(var(--overview-card-min-width,min(100%,420px)),1fr))}
#dashboard .ai-chat-card-messages{flex:1 1 0;min-height:0}
.ai-chat-card-plus-menu{position:relative;flex:0 0 auto}
.ai-chat-card-plus-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:36px;height:36px;cursor:pointer;border-radius:50%;font-size:24px}
.ai-chat-card-plus-menu>summary::-webkit-details-marker{display:none}
.ai-chat-card-plus-actions{position:absolute;z-index:12;bottom:calc(100% + 8px);left:0;min-width:180px;max-width:min(260px,80vw);display:grid;gap:4px;padding:8px;background:var(--surface,#131e30);border:1px solid var(--border);border-radius:10px}
.ai-chat-card-plus-menu:not([open])>.ai-chat-card-plus-actions{display:none!important}
.ai-chat-reference-group{position:relative;min-width:0;width:100%;font-size:var(--qw-body-size,14px);color:var(--text,#e7edf6)}
.ai-chat-reference-group>button,.ai-chat-reference-submenu>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:8px;text-align:left;font:inherit;background:transparent;border:0;color:inherit;border-radius:6px}
.ai-chat-reference-group svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
.ai-chat-reference-submenu{position:static;box-sizing:border-box;min-width:0;width:100%;max-width:100%;max-height:260px;overflow:auto;background:var(--surface,#131e30);color:var(--text,#e7edf6);border:1px solid var(--border);border-radius:10px;padding:8px;font-size:inherit}
.ai-chat-card-plus-actions{box-sizing:border-box;width:180px;max-height:none;overflow:visible}
.ai-chat-card-plus-actions:has(.ai-chat-reference-submenu:not([hidden])){width:440px;max-width:calc(100vw - 64px)}
.ai-chat-card-plus-actions .ai-chat-reference-submenu{max-height:clamp(176px,calc(100dvh - 240px),260px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.ai-chat-reference-submenu>button{box-sizing:border-box;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.ai-chat-reference-submenu[hidden],.ai-chat-reference-draft[hidden],.ai-chat-reference-options[hidden]{display:none!important}
.ai-chat-reference-submenu small{display:block;padding:4px 8px;color:var(--muted,#a4adbd);font-size:12px}
.ai-chat-reference-chips{display:flex;flex-wrap:wrap;gap:6px}.ai-chat-reference-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border);border-radius:12px;font-size:12px}.ai-chat-reference-chip button{padding:0 4px;background:transparent;border:0;color:inherit}
.ai-chat-reference-options{max-height:180px;overflow:auto}.ai-chat-reference-options button{display:block;width:100%;text-align:left;font:inherit;overflow-wrap:anywhere}.ai-chat-reference-options [aria-selected=true]{background:var(--surface-hover,#26354b)}
@media(max-width:600px){.ai-chat-reference-submenu{position:static;min-width:0;max-width:100%;margin:4px 0}}
#dashboard .ai-chat-card-plus-actions>button{display:flex;align-items:center;gap:10px;width:100%;height:auto;min-height:36px;text-align:left;border-radius:6px;padding:8px;font-size:var(--qw-body-size,14px)}

.ai-chat-card-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:10px;color:#7bcaff;background:#2579ef24;border:1px solid #7bcaff55;box-sizing:border-box}.ai-chat-card-avatar svg{display:block;width:24px;height:24px}

/* Pure presentation; preserves card DOM and draft ownership. */
.ai-chat-card-title{background:transparent;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0}.ai-chat-card-rename{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.ai-chat-card-rename input{min-width:0;width:100%;box-sizing:border-box}.ai-chat-card-message-actions{display:flex;gap:6px;margin-top:4px}.ai-chat-card.is-presentation-fullscreen{position:fixed;inset:var(--desktop-titlebar-height,0px) 0 0;z-index:9000;width:auto!important;height:auto!important;max-width:none;max-height:none;margin:0;box-sizing:border-box}.ai-chat-card.is-presentation-fullscreen .ai-chat-card-messages{min-height:0;flex:1;overflow:auto}

.ai-chat-card button.ai-chat-card-title{background:transparent;box-shadow:none;font-weight:700;min-height:0;border-radius:0}.ai-chat-card-header>.ai-chat-card-icon-button{flex:0 0 30px;width:30px;height:30px;min-width:30px;min-height:30px;padding:5px}

/* Function bindings project the original collection owner; details share its picker. */
.ai-chat-card-badges{display:flex;gap:4px;flex:0 0 auto}
.ai-chat-card-badges .ai-chat-function{position:relative;display:inline-flex;padding:0;border:1px solid var(--border,#394354);border-radius:8px;background:transparent}
.ai-chat-card-badges .ai-chat-function button{min-width:0;min-height:32px;height:32px;margin:0;padding:4px 6px;border:0;border-radius:7px;box-shadow:none;background:transparent;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);white-space:nowrap}
.ai-chat-card-badges .ai-chat-function-toggle[aria-pressed=true]{background:#7bcaff22;color:var(--cyan,#7bcaff)}
.ai-chat-card-badges .ai-chat-function .ai-chat-function-expand{padding:3px 4px;font-size:20px;border-left:1px solid var(--border,#394354);border-radius:0 7px 7px 0}
.ai-chat-function-help{display:none;position:absolute;z-index:50;top:calc(100% + 6px);right:0;width:230px;max-width:70vw;padding:10px;border:1px solid var(--border,#394354);border-radius:8px;background:var(--surface,#131e30);color:var(--text,#eef6ff);font-size:13px;line-height:1.5;white-space:normal;box-sizing:border-box}
.ai-chat-function:is(:hover,:focus-within)>.ai-chat-function-help{display:block}
.ai-chat-settings-dialog .ai-model-picker-row[hidden]{display:none!important}
.ai-chat-settings-dialog .ai-model-picker-settings>summary{display:none}
.ai-chat-settings-dialog [data-function-tier]>summary{cursor:pointer;padding:8px 0;font-weight:600}
.ai-chat-settings-dialog [data-function-tier]>summary:focus-visible{outline:2px solid var(--cyan,#7bcaff)}
@media(max-width:420px){.ai-chat-card-header{gap:4px}.ai-chat-card-badges{gap:2px}.ai-chat-card-badges .ai-chat-function button{padding:4px}.ai-chat-card-badges .ai-chat-function .ai-chat-function-expand{padding:3px}.ai-chat-card-avatar{width:28px;flex-basis:28px}.ai-chat-card-avatar svg{width:22px}}

/* Local presentation; original card draft and collection scope own all state. */
.ai-chat-discussion-draft{position:relative;min-width:0;font-size:var(--fs-sm,14px)}
.ai-chat-discussion-draft[hidden],.ai-chat-discussion-options[hidden]{display:none}
.ai-chat-discussion-chip{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;overflow-wrap:anywhere}
.ai-chat-discussion-chip:empty{display:none}
.ai-chat-discussion-chip>span{flex:1;min-width:0;line-height:1.4}
.ai-chat-discussion-chip>button{flex:0 0 32px;min-width:32px;min-height:32px;padding:0}
.ai-chat-discussion-chip>small{flex-basis:100%;font-size:inherit;color:var(--muted,#a4adbd)}
.ai-chat-discussion-options{position:absolute;inset-inline:0;bottom:calc(100% + 4px);z-index:36;display:grid;gap:2px;max-height:176px;overflow:auto;overscroll-behavior:contain;padding:4px;border:1px solid var(--border,#394354);border-radius:12px;background:var(--card-bg,#131b25);box-shadow:0 8px 24px #0006}
.ai-chat-discussion-options>button{min-width:0;min-height:36px;padding:6px 10px;font-size:var(--fs-sm,14px);text-align:start;white-space:normal;overflow-wrap:anywhere}
.ai-chat-discussion-options>button[aria-selected=true]{outline:1px solid var(--cyan,#7bcaff);outline-offset:-1px;background:var(--surface-2,#193449)}
.ai-chat-discussion-receipt{padding:8px 2px;font-size:var(--fs-sm,14px);line-height:1.5;overflow-wrap:anywhere}
.ai-chat-discussion-receipt p{margin:0 0 4px}
.ai-chat-discussion-receipt>button{font-size:inherit;min-height:36px}
.ai-chat-card .ai-chat-card-compact{color:var(--muted,#a4adbd);background:transparent}
.ai-chat-card-compact.is-running svg{animation:ai-chat-compact-turn 1.1s linear infinite}
@keyframes ai-chat-compact-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ai-chat-card-compact.is-running svg{animation:none}}
@media(pointer:coarse){.ai-chat-discussion-chip>button,.ai-chat-discussion-options>button,.ai-chat-discussion-receipt>button{min-height:44px}}
.ai-chat-card-message-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-bottom:12px;min-width:0}
.ai-chat-card-message-row[data-role=user]{align-items:flex-end}
.ai-chat-card-message-row>.ai-chat-card-message{margin-bottom:0;max-width:100%}
.ai-chat-card-message-row>.ai-chat-card-message-actions{display:flex;gap:4px;padding:0 6px;background:transparent}
.ai-chat-card-message-row>.ai-chat-card-message-actions button{box-sizing:border-box;width:26px;min-width:26px;max-width:26px;flex:0 0 26px;height:26px;min-height:26px;padding:4px;background:transparent;border:0;border-radius:6px;color:var(--muted,#a6b3c7)}
.ai-chat-card-message-row>.ai-chat-card-message-actions .ai-chat-message-delete{color:#ff7185}
.ai-chat-card-message-row>.ai-chat-card-message-actions button:disabled{opacity:.35}
.ai-chat-function{position:relative}
.ai-chat-function-details{position:absolute;right:0;top:calc(100% + 6px);width:min(320px,calc(100vw - 32px));padding:12px;background:var(--panel-bg,#121a2a);border:1px solid #3a495b;border-radius:12px;z-index:30;box-shadow:0 8px 24px #0008;white-space:normal;text-align:left}
.ai-chat-function-details[hidden]{display:none}
.ai-chat-function:has(>.ai-chat-function-details:not([hidden]))>.ai-chat-function-help{display:none}
.ai-chat-card-header{position:relative}
.ai-chat-card-badges .ai-chat-function:has(>.ai-chat-function-details:not([hidden])){position:static}
.ai-chat-function-details{box-sizing:border-box}
.ai-chat-function-details label{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;line-height:1.5}
.ai-chat-function-details input{flex:0 0 auto;margin-top:3px}
.ai-chat-card-badges .ai-chat-function-details input[type=checkbox]{width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;max-height:18px;padding:0;flex:0 0 18px}
.ai-chat-card-badges .ai-chat-function-details label{display:flex;min-width:0;white-space:normal;text-align:left}
.ai-chat-function-details p{font-size:12px;line-height:1.5;margin:8px 0 0}
.ai-chat-instruction-receipt {
  display: block;
  margin-top: 7px;
  color: var(--muted, #a6b5c8);
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Keep the four action hit targets stationary while a reference panel opens. */
.ai-chat-card-plus-menu[open]>.ai-chat-card-plus-actions{width:440px;max-width:calc(100vw - 32px);grid-template-columns:180px;align-content:start}
.ai-chat-card-plus-actions:has(.ai-chat-reference-submenu:not([hidden])){max-width:calc(100vw - 32px)}
.ai-chat-card-plus-actions>.ai-chat-reference-group{position:static;width:180px}
.ai-chat-card-plus-actions>.ai-chat-reference-group>.ai-chat-reference-submenu{position:absolute;left:196px;right:8px;top:8px;width:auto;max-width:none;margin:0;max-height:clamp(176px,calc(100dvh - 240px),260px)}
.ai-chat-card-plus-actions>.ai-chat-reference-group>.ai-chat-reference-submenu>button{white-space:normal;overflow-wrap:anywhere;display:block}
#dashboard .ai-chat-card-plus-actions>button{width:180px}

@media(max-width:600px){.ai-chat-card-plus-menu[open]>.ai-chat-card-plus-actions{grid-template-columns:144px}.ai-chat-card-plus-actions>.ai-chat-reference-group,#dashboard .ai-chat-card-plus-actions>button{width:144px}.ai-chat-card-plus-actions>.ai-chat-reference-group>.ai-chat-reference-submenu{left:160px}}

.ai-chat-card-plus-menu[open]>.ai-chat-card-plus-actions{grid-auto-rows:44px;height:206px}.ai-chat-card-plus-actions>.ai-chat-reference-group{height:44px}

/* Fullscreen keeps the resident navigation's existing reserved space. */
#dashboard .ai-chat-card.is-presentation-fullscreen{min-height:0!important;gap:6px;padding:8px}
#dashboard .ai-chat-card.is-presentation-fullscreen .ai-chat-card-header{min-height:0;flex-shrink:1;overflow:auto}
#dashboard .ai-chat-card.is-presentation-fullscreen .ai-chat-card-composer{min-height:0;padding:6px;gap:4px}
@media(max-width:760px){#dashboard .ai-chat-card.is-presentation-fullscreen{bottom:calc(var(--qw-mobile-dock-h) + var(--qw-mobile-dock-bottom) + 12px)}}
/* One chooser above the composer; category changes never move a nested panel. */
.ai-chat-card-composer{position:relative}
.ai-chat-card-plus-actions{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:44px!important;width:220px!important;max-width:calc(100vw - 32px)!important;height:auto!important;overflow-y:auto!important;max-height:calc(100dvh - 32px)}
.ai-chat-reference-options,.ai-chat-discussion-options{position:absolute;inset-inline:0;bottom:calc(100% + 8px);z-index:40;max-height:min(320px,calc(100dvh - 160px));overflow:auto;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:12px;padding:8px;box-shadow:0 8px 28px #0002;text-align:left}
.ai-chat-reference-options[hidden],.ai-chat-discussion-options[hidden]{display:none!important}
.ai-chat-reference-options button,.ai-chat-discussion-options button{width:100%;min-height:36px;text-align:left;white-space:normal;overflow-wrap:anywhere;font-size:14px}
.ai-chat-reference-options button{display:flex;align-items:center;gap:8px}
.ai-chat-chooser-name{flex:0 1 44%;overflow-wrap:anywhere}
.ai-chat-chooser-summary{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted,#777);font-size:12px}
.ai-chat-chooser-badge{flex:none;font-size:11px;padding:2px 5px;border-radius:4px;background:var(--surface-secondary,#eee)}
/* Keep the original status owner in a fixed slot; text changes never resize messages. */
.ai-chat-card-status,.ai-chat-card-status:empty{display:block;box-sizing:border-box;height:24px;min-height:24px;max-height:24px;flex:0 0 24px;margin:0;overflow:auto;line-height:20px}
.ai-chat-chooser-group{display:block;padding:6px 8px;font-size:12px;color:var(--muted,#777)}
.ai-chat-chooser-conflict{position:sticky;top:0;z-index:1;display:block;box-sizing:border-box;min-width:0;padding:8px;border-radius:6px;background:var(--surface,#fff);color:var(--text,#182434);font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.ai-chat-card-avatar{padding:0}
.ai-chat-card-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.ai-chat-card-avatar img[hidden],.ai-chat-card-avatar svg[hidden]{display:none!important}

/* Keep four actions reachable without squeezing text or moving the fixed status slot. */
@media(max-width:600px){
#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated){display:grid;grid-template-columns:repeat(4,44px);column-gap:4px;row-gap:4px;justify-content:space-between;align-items:center;min-width:0}
#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated)>.ai-chat-card-plus-menu{grid-row:2;grid-column:1}
#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated)>button{grid-row:2;box-sizing:border-box;width:100%;min-width:0;min-height:44px;height:44px;margin:0;padding:4px;font-size:14px}
#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated)>button[type=submit]{grid-column:4;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;border-radius:50%;justify-self:end}
#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated)>.ai-chat-card-plus-menu>summary{box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:4px}
}

@media(max-width:600px){#dashboard .ai-chat-card-toolbar:has(>.ai-provider-separated)>button.ai-chat-card-cancel{grid-row:2;grid-column:4;width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;border-radius:50%;justify-self:end}}

/* One fixed status owner for text, compaction receipts and existing result actions. */
.ai-chat-card-status-area{box-sizing:border-box;display:flex;align-items:stretch;gap:8px;flex:0 0 44px;height:44px;min-height:44px;max-height:44px;min-width:0;overflow:hidden}
.ai-chat-card-status-text{flex:1 1 0;min-width:0;overflow:auto;overscroll-behavior:contain}
.ai-chat-card-status-area .ai-chat-card-status,.ai-chat-card-status-area .ai-chat-card-status:empty,.ai-chat-card-status-area .ai-chat-card-compact-receipt{box-sizing:border-box;height:auto;min-height:0;max-height:none;flex:none;margin:0;padding:0;overflow:visible;line-height:20px}
.ai-chat-card-status-area .ai-chat-card-status:empty{display:none}
.ai-chat-card-status-area .ai-chat-card-job-actions{flex:0 1 auto;min-width:0;max-width:55%;height:44px;min-height:44px;max-height:44px;flex-wrap:nowrap;overflow:auto;overscroll-behavior:contain}
.ai-chat-card-status-area .ai-chat-card-job-actions>button{box-sizing:border-box;height:44px;min-height:44px;max-height:44px;flex:none;white-space:nowrap}

/* Collection status occupies its own fixed blank slot, never the card grid. */
.ai-chat-host-status-slot{position:relative;box-sizing:border-box;height:28px;min-height:28px;max-height:28px;flex:0 0 28px;min-width:0;overflow:hidden}
.ai-chat-host-status-slot>.ai-chat-host-status{position:absolute;inset:0;margin:0;padding:0;line-height:24px;max-height:28px;overflow:auto;color:var(--muted,#a4adbd);font-size:var(--fs-sm,14px);overflow-wrap:anywhere}

/* Existing header owns collection status; reserve original management space. */
#dashboard #aiCollectionControls>.overview-collection-meta{display:flex;flex-direction:column;min-width:0;width:220px;max-width:220px;height:48px}
#dashboard #aiCollectionControls>.overview-collection-meta>.dashboard-collection-count{flex:0 0 20px;line-height:20px}
#dashboard #aiCollectionControls>.overview-collection-meta>.ai-chat-host-status-slot{width:100%;max-width:100%}
@container(max-width:520px){
#dashboard #aiCollectionControls>.overview-collection-meta{width:calc(100% - 48px);max-width:220px;justify-self:stretch}
#dashboard #aiCollectionControls .overview-collection-menu{left:auto;right:0}
}

/* Compact provider trigger keeps its accessible name; labels belong in the menu. */
#dashboard .ai-provider-separated .ai-composer-provider-field{flex:0 0 44px;width:44px;max-width:44px}
.ai-provider-separated .ai-composer-provider-field .platform-picker-trigger .platform-picker-text{display:none}
.ai-provider-separated .ai-composer-provider-field .platform-picker-trigger{justify-content:center}
.ai-composer-effort-panel .ai-effort-control.end{grid-column:3;grid-row:1}
.ai-composer-effort-panel .ai-effort-popover-heading strong{grid-column:2;grid-row:1}

.ai-chat-model-controls{position:relative}
.ai-chat-model-controls[data-configuration-pending=true]::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border:2px solid #89929f55;border-top-color:#89929f;border-radius:50%;pointer-events:none;animation:ai-configuration-pending .8s linear infinite}
@keyframes ai-configuration-pending{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ai-chat-model-controls[data-configuration-pending=true]::after{animation:none}}

.ai-chat-function-toggle.is-pending{position:relative;color:var(--muted,#89929f)}
.ai-chat-function-toggle.is-pending::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border:2px solid #89929f55;border-top-color:#89929f;border-radius:50%;pointer-events:none;animation:ai-configuration-pending .8s linear infinite}
