*{box-sizing:border-box}
body{margin:0;background:var(--ca-role-bg);color:var(--ca-role-fg);font-family:'Instrument Sans',sans-serif;font-size:13px}
button,textarea,input{font:inherit;color:inherit}
button{min-height:32px;padding:6px 10px;border:1px solid var(--ca-role-border-strong);border-radius:6px;background:var(--ca-role-surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px}
button:hover{background:var(--ca-role-bg)}
button:disabled{opacity:.5;cursor:not-allowed}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ca-role-accent);outline-offset:2px}
a{color:var(--ca-role-accent);text-decoration:none}
h1,h2,h3,p{margin:0}
p{line-height:1.45}
.micro,.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.4;color:var(--ca-role-fg-muted)}
.eyebrow{display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.04em}
.context{color:var(--ca-role-on-soft-context)}
.attention{color:var(--ca-role-on-soft-attention)}

/* —— Shell —— */
.app-shell{display:grid;grid-template-columns:188px 280px minmax(0,1fr);height:100dvh;min-height:680px}
.app-shell.rail-open{grid-template-columns:188px 260px minmax(0,1fr) var(--v62-rail-width)}
.app-shell.rail-closed{grid-template-columns:188px 280px minmax(0,1fr)}

/* —— Rail —— */
.app-rail{display:flex;flex-direction:column;gap:14px;padding:16px 12px 12px;border-right:1px solid var(--ca-role-border);overflow:auto}
.brand{display:flex;align-items:center;gap:6px;font-size:14px;flex-wrap:wrap}
.brand small{width:100%;margin:-6px 0 0 24px;font-size:11px;color:var(--ca-role-fg-muted)}
.brand-mark{display:flex;color:var(--ca-role-on-soft-context)}
.workspace-name{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--ca-role-border);font-size:12px}
.rail-section{display:grid;gap:2px}
.rail-section .eyebrow{margin-bottom:4px}
.rail-section button{justify-content:flex-start;border-color:transparent;background:transparent;min-height:30px;padding:4px 8px;font-size:12px}
.rail-section button.selected{background:var(--ca-color-action-soft);color:var(--ca-role-on-soft-action)}
.rail-section button .count{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ca-role-fg-muted)}
.rail-section button.selected .count{color:inherit}
.view-row{display:flex;align-items:center;gap:7px;width:100%}
.folder-stub{display:flex;align-items:center;gap:7px;padding:4px 8px;font-size:12px;color:var(--ca-role-fg-muted)}
.new-folder{justify-content:flex-start;border-style:dashed;border-color:var(--ca-role-border);background:transparent;min-height:28px;padding:3px 8px;font-size:11px;color:var(--ca-role-fg-muted)}
.rail-bottom{display:grid;gap:8px;margin-top:auto}
.rail-bottom>a{display:flex;align-items:center;gap:7px;color:var(--ca-role-fg);font-size:12px}
.rail-bottom>button{justify-content:flex-start;border-color:transparent;background:transparent;min-height:30px;font-size:12px}
.rail-bottom summary{cursor:pointer;color:var(--ca-role-fg-muted);font-size:11px}
.rail-bottom details button{width:100%;justify-content:flex-start;min-height:28px;padding:4px 6px;font-size:11px}

/* —— Queue —— */
.queue{border-right:1px solid var(--ca-role-border);background:var(--ca-role-surface);overflow:auto;display:flex;flex-direction:column}
.queue-toolbar{display:grid;gap:8px;padding:12px var(--v6-pad-x);border-bottom:1px solid var(--ca-role-border)}
.queue-toolbar h1{font-size:16px;letter-spacing:-.02em}
.queue-tools{display:flex;gap:6px;align-items:center}
.queue-tools input{flex:1;min-width:0;height:30px;padding:0 8px;border:1px solid var(--ca-role-border-strong);border-radius:6px;background:var(--ca-role-bg);font-size:12px}
.queue-tools .stub-btn{min-height:30px;padding:4px 8px;font-size:11px;color:var(--ca-role-fg-muted)}
.queue-sort{display:flex;justify-content:space-between;align-items:center;padding:6px var(--v6-pad-x);border-bottom:1px solid var(--ca-role-border);color:var(--ca-role-fg-muted);font-size:11px}
.queue-list{flex:1;overflow:auto}
.queue-item{padding:var(--v6-queue-pad-y) var(--v6-pad-x);border-bottom:1px solid var(--ca-role-border);cursor:pointer;display:grid;gap:4px}
.queue-item:hover{background:var(--ca-role-bg)}
.queue-item[aria-current="true"]{background:var(--ca-color-action-subtle);border-left:3px solid var(--ca-role-accent);padding-left:calc(var(--v6-pad-x) - 3px)}
.queue-top{display:flex;align-items:center;gap:7px}
.queue-top strong{font-size:13px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.queue-top .micro{flex:none}
.avatar{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--ca-color-context-soft);color:var(--ca-role-on-soft-context);font-size:10px;font-weight:600;flex:none}
.avatar.sm{width:22px;height:22px;font-size:9px}
.avatar.self{background:var(--ca-color-action-soft);color:var(--ca-role-on-soft-action)}
.avatar.note{background:var(--v6-note-bg);color:var(--v6-note-fg)}
.queue-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--ca-role-fg-muted);font-size:12px;line-height:1.35}
.queue-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;font:10px/1.3 'IBM Plex Mono',monospace;border:1px solid transparent}
.pill.open{background:var(--v6-open-pill-bg);color:var(--v6-open-pill-fg)}
.pill.unread{background:var(--v6-unread-pill-bg);color:var(--v6-unread-pill-fg)}
.pill.sla{background:var(--v6-sla-bg);color:var(--v6-sla-fg);border-color:var(--v6-sla-border)}
.pill.lead{background:var(--v6-lead-high-bg);color:var(--v6-lead-high-fg);border-color:var(--v6-lead-high-border)}
.pill.page{background:var(--ca-role-bg);color:var(--ca-role-fg-muted);border-color:var(--ca-role-border)}
.tag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;background:var(--ca-role-bg);font:10px/1.3 'IBM Plex Mono',monospace}
.tag.context{background:var(--ca-color-context-soft);color:var(--ca-role-on-soft-context)}
.tag.agent{background:var(--ca-color-agent-soft);color:var(--ca-role-on-soft-agent)}
.tag.attention{background:var(--ca-color-attention-soft);color:var(--ca-role-on-soft-attention)}

/* —— Workspace —— */
.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--ca-role-surface);overflow:hidden}
.workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px var(--v6-pad-x-lg);border-bottom:1px solid var(--ca-role-border);flex:none;flex-wrap:wrap}
.header-identity{display:flex;align-items:center;gap:10px;min-width:0}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--ca-color-context-base);flex:none;box-shadow:0 0 0 3px var(--ca-color-context-soft)}
.status-dot.warn{background:var(--ca-color-attention-base);box-shadow:0 0 0 3px var(--ca-color-attention-soft)}
.status-dot.ai{background:var(--ca-color-agent-base);box-shadow:0 0 0 3px var(--ca-color-agent-soft)}
.header-identity h2{font-size:15px;letter-spacing:-.02em}
.header-identity p{color:var(--ca-role-fg-muted);font-size:11px;margin-top:1px}
.header-identity .header-sla{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--v61-sla-header-bg);color:var(--v61-sla-header-fg);border:1px solid var(--v61-sla-header-border);font:600 11px/1.2 'IBM Plex Mono',monospace;vertical-align:middle}
.header-right{display:flex;align-items:center;gap:6px;flex:1 1 auto;flex-wrap:wrap;min-width:0;justify-content:flex-end}
.channel-tabs{display:flex;gap:2px;padding:2px;border-radius:7px;background:var(--ca-role-bg)}
.channel-tabs button{min-height:28px;padding:3px 9px;border:0;background:transparent;font-size:11px;color:var(--ca-role-fg-muted)}
.channel-tabs button.selected{background:var(--ca-role-surface);color:var(--ca-role-fg);box-shadow:0 0 0 1px var(--ca-role-border)}
.channel-tabs .tab-count{font-family:'IBM Plex Mono',monospace;font-size:10px;opacity:.75;margin-left:3px}
.icon-button{border-color:transparent;background:transparent;padding:6px;min-height:32px}
.primary{border-color:var(--ca-role-accent);background:var(--ca-role-accent);color:var(--ca-role-fg-on-accent)}
.primary:hover{background:var(--ca-role-accent-hover)}
.quiet-button{border-color:transparent;background:transparent;color:var(--ca-role-accent);padding-inline:4px;min-height:28px;font-size:12px}
.ghost{border-color:var(--ca-role-border);background:transparent;min-height:30px;font-size:12px}

/* Collision banner */
.collision-banner{display:flex;align-items:center;gap:8px;padding:7px var(--v6-pad-x-lg);background:var(--v6-collision-bg);color:var(--v6-collision-fg);border-bottom:1px solid var(--v6-collision-border);font-size:12px;flex:none}
.collision-banner .avatars{display:flex}
.collision-banner .avatars .avatar{margin-left:-6px;border:2px solid var(--v6-collision-bg)}
.collision-banner .avatars .avatar:first-child{margin-left:0}

/* Next move — denser */
.next-move{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px var(--v6-pad-x-lg);background:var(--ca-color-context-subtle);border-bottom:1px solid var(--ca-role-border);flex:none}
.next-move strong{display:block;margin-top:2px;font-size:13px}
.next-move p{margin-top:1px;color:var(--ca-role-fg-muted);font-size:11px}

/* Source post / ad — compact strip + Manual expanded panel */
.source-panel{border-bottom:1px solid var(--ca-role-border);flex:0 1 auto;background:var(--ca-role-surface);min-height:0}
.source-panel.expanded{max-height:min(32vh,280px);overflow:auto}
/* Manual: denser cap so expanded post never crushes the thread (~24px bug). */
.source-panel.manual.expanded{background:var(--ca-color-context-subtle);max-height:min(28vh,240px)}
.workspace.manual-mode .source-panel.expanded{max-height:min(28vh,240px)}
.source-strip{display:flex;align-items:center;gap:10px;padding:8px var(--v6-pad-x-lg)}
.creative.thumb{flex:none;display:flex;flex-direction:column;justify-content:space-between;padding:5px;background:var(--v61-creative-portrait);border:1px solid var(--ca-color-context-border);color:#1a3a32;border-radius:4px;overflow:hidden;position:relative}
.creative.thumb.aspect-wide{background:var(--v61-creative-wide);color:#f5f0e8}
.creative.thumb.aspect-portrait{width:44px;height:55px}
.creative.thumb.aspect-wide{width:72px;height:40px}
.creative.thumb span{font-size:5px;line-height:1.15}
.creative.thumb strong{font-size:8px;line-height:1.05;letter-spacing:-.03em}
.creative.thumb small{font:4px 'IBM Plex Mono',monospace}
.source-copy{min-width:0;flex:1}
.source-copy h3{margin:1px 0;font-size:12px}
.source-copy p{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;color:var(--ca-role-fg-muted);font-size:11px}
.ratio-chip{display:inline-flex;align-items:center;margin-left:6px;padding:1px 5px;border-radius:3px;background:var(--v6-ratio-chip-bg);color:var(--v6-ratio-chip-fg);font:10px 'IBM Plex Mono',monospace;vertical-align:middle}

/* Expanded in-thread post preview */
.source-expanded{padding:10px var(--v6-pad-x-lg) 12px;display:flex;flex-direction:column;gap:8px}
.source-expanded-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.source-expanded-actions{display:flex;align-items:center;gap:6px}
.source-expanded-body{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.post-preview{position:relative;flex:none;max-width:100%;border-radius:var(--v6-post-preview-radius);border:1px solid var(--ca-color-context-border);overflow:hidden;color:#14352c;box-shadow:var(--ca-shadow-float,0 4px 14px rgb(0 0 0/.08))}
.post-preview.aspect-portrait{width:min(100%,var(--v6-post-preview-max));aspect-ratio:4/5;background:var(--v61-creative-portrait)}
.post-preview.aspect-wide{width:min(100%,var(--v6-post-preview-max-wide));aspect-ratio:16/9;background:var(--v61-creative-wide);color:#f7f2ea}
.post-preview::before{content:"";position:absolute;inset:0;background:var(--v61-creative-grain);pointer-events:none;z-index:0}
.post-preview.dialog-preview{margin:10px 0 4px}
.post-preview-inner{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px;z-index:1}
.post-preview.aspect-wide .post-preview-inner{padding:12px 16px}
.post-brand{font:600 11px/1.2 'IBM Plex Sans',system-ui,sans-serif;letter-spacing:.08em;opacity:.92;white-space:pre-line;text-shadow:0 1px 2px rgb(0 0 0/.12)}
.post-preview.aspect-wide .post-brand{font-size:12px;letter-spacing:.06em}
.post-headline{font:700 22px/1.1 'IBM Plex Sans',system-ui,sans-serif;letter-spacing:-.03em;max-width:12ch;text-shadow:0 1px 3px rgb(0 0 0/.15)}
.post-preview.aspect-wide .post-headline{font-size:20px;max-width:18ch}
.post-cta{align-self:flex-start;padding:5px 10px;border-radius:999px;background:rgb(255 255 255/.9);color:#1a3a32;font:600 11px/1 'IBM Plex Sans',system-ui,sans-serif;border:1px solid rgb(255 255 255/.55);box-shadow:0 1px 4px rgb(0 0 0/.12)}
.post-preview.aspect-wide .post-cta{color:#1e2838}
.dark .post-cta{background:rgb(0 0 0/.45);border-color:rgb(255 255 255/.15);color:inherit}
.post-ratio{position:absolute;top:10px;right:10px;font:10px 'IBM Plex Mono',monospace;padding:2px 6px;border-radius:3px;background:rgb(255 255 255/.78);color:#1a3a32;z-index:2}
.post-preview.aspect-wide .post-ratio{color:#1e2838}
.dark .post-ratio{background:rgb(0 0 0/.45);color:inherit}
.play-affordance{position:absolute;inset:0;margin:auto;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--v61-play-bg);color:#fff;pointer-events:none;box-shadow:0 2px 14px rgb(0 0 0/.35);border:2px solid rgb(255 255 255/.35);z-index:2}
.play-affordance svg{margin-left:3px}
.play-ring{position:absolute;inset:0;margin:auto;width:72px;height:72px;border-radius:50%;border:1px solid rgb(255 255 255/.25);pointer-events:none;z-index:2}
.source-meta{min-width:0;flex:1;max-width:360px;display:flex;flex-direction:column;gap:4px;padding-top:2px}
.source-meta h3{margin:0;font-size:14px}
.source-meta p{margin:0;color:var(--ca-role-fg-muted);font-size:12px;line-height:1.45}
.source-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.cta-chip{display:inline-flex;padding:2px 8px;border-radius:999px;border:1px solid var(--ca-color-context-border);background:var(--ca-color-context-soft);color:var(--ca-role-on-soft-context);font-size:11px}
.attr-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;padding-top:6px;border-top:1px dashed var(--ca-role-border);color:var(--v61-attr-fg);font-size:11px}
.attr-line .attr-step{display:inline-flex;align-items:center;gap:4px;font:11px/1.3 'IBM Plex Mono',monospace}
.attr-line .attr-arrow{opacity:.45;font-size:10px}
.source-panel.manual.expanded .post-preview.aspect-portrait{width:min(100%,160px)}
.source-panel.manual.expanded .post-preview.aspect-wide{width:min(100%,280px)}
.source-panel:not(.manual).expanded .post-preview.aspect-portrait{width:min(100%,260px)}
.source-panel:not(.manual).expanded .post-preview.aspect-wide{width:min(100%,400px)}

/* Conversation */
.conversation{display:flex;flex-direction:column;gap:10px;padding:12px var(--v6-pad-x-lg);overflow:auto;flex:1 1 auto;min-height:180px}
/* Keep thread usable when Manual post expands — never allow collapse toward ~24px. */
.workspace.manual-mode .conversation{min-height:max(180px,28vh);flex:1 1 auto}
.date-rule{text-align:center;color:var(--ca-role-fg-muted);font:10px 'IBM Plex Mono',monospace;margin:2px 0}
.message-row{display:flex;gap:8px;max-width:86%;align-items:flex-start}
.message-row.outbound{align-self:flex-end;flex-direction:row-reverse}
.message{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--ca-role-border);border-radius:8px;background:var(--ca-role-authored-other)}
.message.outbound{background:var(--ca-role-authored-self);color:var(--ca-role-on-authored-self);border-color:transparent}
.message.public{border-left:3px solid var(--ca-color-context-border)}
.message.note{background:var(--v6-note-bg);color:var(--v6-note-fg);border-color:var(--v6-note-border);border-left:3px solid var(--v6-note-stripe)}
.message.reply-target{outline:2px solid var(--v6-reply-target-ring);outline-offset:2px;background:var(--v6-reply-target-bg)}
.message-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:var(--ca-role-fg-muted);font-size:10px}
.message.outbound .message-meta,.message.outbound .micro,.message.outbound .delivery{color:inherit;opacity:.85}
.message.note .message-meta{color:var(--v6-note-fg);opacity:.8}
.message p{margin:4px 0;font-size:13px}
.message-actions{display:flex;gap:2px;margin:2px 0 -4px}
.message-actions button{min-height:28px;padding:2px 4px;border:0;background:transparent;color:var(--ca-role-fg-muted);font-size:11px}
.delivery{display:inline-flex;align-items:center;gap:3px;font:10px 'IBM Plex Mono',monospace;margin-top:2px}
.delivery.failed{color:var(--ca-role-on-soft-attention)}
.delivery.unknown{color:var(--v6-delivery-unknown-fg);background:var(--v6-delivery-unknown-bg);padding:1px 5px;border-radius:3px;width:fit-content}
.delivery-fail-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;padding:6px 8px;border-radius:6px;background:var(--v61-fail-bg);color:var(--v61-fail-fg);border:1px solid var(--v61-fail-border);font-size:11px}
.message.outbound .delivery-fail-bar{background:rgb(255 255 255/.18);border-color:rgb(255 255 255/.28);color:inherit}
.delivery-fail-bar .fail-label{display:inline-flex;align-items:center;gap:4px;font:600 11px/1.2 'IBM Plex Mono',monospace}
.delivery-fail-bar .fail-actions{display:flex;gap:4px;margin-left:auto}
.delivery-fail-bar .fail-actions button{min-height:26px;padding:2px 8px;font-size:11px;border-color:currentColor;background:transparent;color:inherit}
.delivery-fail-bar .fail-actions button.primary-fail{background:var(--ca-role-surface);color:var(--v61-fail-fg);border-color:var(--v61-fail-border)}
.media-thumb{display:block;width:140px;max-width:100%;aspect-ratio:4/5;margin:6px 0 2px;border-radius:6px;border:1px solid var(--ca-color-context-border);background:var(--v61-creative-portrait);position:relative;overflow:hidden}
.media-thumb.aspect-portrait{width:140px;aspect-ratio:4/5;background:var(--v61-creative-portrait)}
.media-thumb.aspect-wide{width:min(100%,220px);aspect-ratio:16/9;background:var(--v61-creative-wide);color:#f5f0e8}
.media-thumb span{position:absolute;inset:auto 6px 6px 6px;font:9px 'IBM Plex Mono',monospace;color:#1a3a32;background:rgb(255 255 255 /.75);padding:2px 5px;border-radius:3px;z-index:1}
.media-thumb.aspect-wide span{color:#1e2838}
.media-thumb .media-play{position:absolute;inset:0;margin:auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--v61-play-bg);color:#fff;pointer-events:none;z-index:2}
.dark .media-thumb span{background:rgb(0 0 0 /.45);color:inherit}

/* AI proposal card */
.proposal{margin:2px 0 0 34px;max-width:calc(86% - 34px);padding:10px 12px;border:1px solid var(--v6-proposal-border);border-radius:8px;background:var(--v6-proposal-bg);color:var(--v6-proposal-fg)}
.proposal.outbound-side{margin-left:auto;margin-right:0}
.proposal-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.proposal p{font-size:13px;margin:4px 0 8px;color:var(--ca-role-fg)}
.proposal-actions{display:flex;gap:6px;flex-wrap:wrap}
.proposal-actions button{min-height:28px;font-size:11px}

/* Typing */
.typing{display:flex;align-items:center;gap:8px;padding:2px 0;color:var(--ca-role-fg-muted);font-size:11px}
.typing-dots{display:inline-flex;gap:3px}
.typing-dots i{width:5px;height:5px;border-radius:50%;background:var(--ca-role-fg-muted);opacity:.45;display:block;animation:blink 1.2s infinite}
.typing-dots i:nth-child(2){animation-delay:.2s}
.typing-dots i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.3}40%{opacity:1}}

/* Open questions */
.open-loops{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px var(--v6-pad-x-lg);border-top:1px solid var(--ca-role-border);border-bottom:1px solid var(--ca-role-border);flex:none}
.open-loops strong{display:block;margin-top:1px;font-size:12px}
.open-loops>.micro{max-width:55%;text-align:right}

/* Composer — V6.1 richer Manual */
.composer,.autonomous-panel{padding:10px var(--v6-pad-x-lg) 12px;background:var(--ca-role-surface);border-top:1px solid var(--ca-role-border);flex:none}
.composer.manual-rich{padding-top:8px}
.composer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.audiences{display:flex;gap:3px}
.audiences button{min-height:26px;border-color:transparent;padding:3px 7px;font-size:11px}
.audiences button.selected{background:var(--ca-color-action-soft);color:var(--ca-role-on-soft-action)}
.reply-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--ca-color-action-subtle);border:1px solid var(--ca-color-action-border);font-size:11px;color:var(--ca-role-on-soft-action);max-width:100%}
.reply-chip .reply-chip-label{font:10px/1 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em;opacity:.75}
.reply-chip .reply-chip-target{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reply-chip button{min-height:22px;min-width:22px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}
.reply-chip button:hover{background:var(--ca-color-action-soft)}
.composer-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin:0 0 6px;padding:4px;border-radius:7px;background:var(--v61-composer-tools-bg);border:1px solid var(--ca-role-border)}
.composer-tools button{min-height:28px;padding:3px 9px;font-size:11px;border-color:transparent;background:transparent;color:var(--ca-role-fg-muted)}
.composer-tools button:hover{background:var(--ca-role-surface);color:var(--ca-role-fg)}
.composer-tools .tool-sep{width:1px;height:16px;background:var(--ca-role-border);margin:0 2px}
.composer-tools button.ai-generate{min-width:28px;padding:3px 7px;color:var(--ca-role-accent, #6366f1)}
.composer-tools button.ai-generate:hover{color:var(--ca-role-fg);background:var(--ca-color-context-subtle, var(--ca-role-surface))}
textarea{display:block;width:100%;min-height:56px;max-height:120px;resize:vertical;padding:8px 10px;border:1px solid var(--ca-role-border-strong);border-radius:7px;background:var(--ca-role-surface);line-height:1.45;font-size:13px}
.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;flex-wrap:wrap}
.composer-left,.composer-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hint{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--ca-role-fg-muted)}
.stale{padding:6px 8px;margin:0 0 6px;border-radius:5px;background:var(--ca-color-warning-soft,#fff3d6);color:var(--ca-role-on-soft-warning,#5c3d00);font-size:11px;border:1px solid var(--ca-color-warning-border,#e0c36a)}
.autonomous-panel h3{margin:4px 0 8px;font-size:14px}
.receipt-grid{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:6px}
.receipt-grid span{display:flex;align-items:center;gap:4px;font-size:12px}

.notice{position:fixed;left:200px;bottom:12px;z-index:30;font-size:12px}
.notice:not(:empty){padding:8px 10px;border:1px solid var(--ca-role-border);border-radius:6px;background:var(--ca-role-surface);box-shadow:var(--ca-shadow-float)}
dialog{width:min(520px,92vw);max-width:92vw;max-height:85vh;padding:18px;border:1px solid var(--ca-role-border);border-radius:10px;background:var(--ca-role-surface);color:var(--ca-role-fg);box-shadow:var(--ca-shadow-float);overflow:auto}
dialog::backdrop{background:rgb(0 0 0/.28)}
dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
dialog h2{margin-top:2px;font-size:16px}
dialog h3{margin:14px 0 4px;font-size:13px}
dialog p,dialog li{line-height:1.5;font-size:13px}
dialog .quiet-button{margin-top:12px}

@media(max-width:1200px){
  .app-shell.rail-open{grid-template-columns:168px 230px minmax(0,1fr) min(260px,var(--v62-rail-width))}
  .app-shell.rail-closed{grid-template-columns:168px 250px minmax(0,1fr)}
}
@media(max-width:1100px){
  .app-shell.rail-closed{grid-template-columns:168px 250px minmax(0,1fr)}
  .app-shell.rail-open{grid-template-columns:156px 210px minmax(0,1fr) 240px}
}

/* V6.3 — narrow: Manual stays compact via JS; expanded panel stays capped (no crush). */
@media(max-width:900px){
  .source-panel.expanded,.source-panel.manual.expanded,.workspace.manual-mode .source-panel.expanded{max-height:min(26vh,220px)}
  .workspace.manual-mode .conversation{min-height:max(160px,26vh)}
  .workspace-header{align-items:stretch}
  .header-identity{flex:1 1 140px}
  .header-right{flex:1 1 200px}
}

@media(max-width:800px){
  .app-shell,.app-shell.rail-open,.app-shell.rail-closed{display:block;height:auto;min-height:100vh}
  .app-rail{height:auto;display:flex;flex-direction:row;align-items:center;overflow:auto;padding:8px 12px;gap:10px;flex-wrap:wrap}
  .brand small,.workspace-name,.rail-bottom{display:none}
  /* Keep Operating mode switcher on phones; hide Views/Folders only */
  .app-rail .rail-section{display:none}
  .app-rail .rail-section.mode-rail{display:flex;flex-direction:row;align-items:center;gap:4px;margin:0}
  .app-rail .rail-section.mode-rail .eyebrow{display:none}
  .app-rail .rail-section.mode-rail button{min-height:28px;padding:4px 8px;font-size:11px;border:1px solid var(--ca-role-border);background:var(--ca-role-surface)}
  .app-rail .rail-section.mode-rail button.selected{background:var(--ca-color-action-soft);color:var(--ca-role-on-soft-action)}
  .queue{min-height:180px;border-right:0;border-bottom:1px solid var(--ca-role-border)}
  .contact-rail{border-left:0;border-top:1px solid var(--ca-role-border);max-height:320px}
  .workspace{overflow:visible}
  .conversation,.workspace.manual-mode .conversation{min-height:220px}
  /* Keep a hard cap — uncapped expanded post previously crushed the thread (~24px). */
  .source-panel.expanded,.source-panel.manual.expanded,.workspace.manual-mode .source-panel.expanded{max-height:min(34vh,260px);overflow:auto}
  .message-row{max-width:94%}
  .proposal{margin-left:0;max-width:94%}
  .notice{left:12px}
  .composer-tools{display:none}
}
@media(prefers-reduced-motion:reduce){
  .typing-dots i{animation:none}
}


/* —— V6.2 Contact right rail —— */
.icon-button.rail-toggle-active{background:var(--ca-color-action-soft);color:var(--ca-role-on-soft-action)}
.contact-rail{
  display:flex;flex-direction:column;min-width:0;min-height:0;
  border-left:1px solid var(--ca-role-border);
  background:var(--ca-role-surface);
  overflow:hidden;
}
.contact-rail-profile{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:16px 14px 14px;border-bottom:1px solid var(--ca-role-border);flex:none;text-align:center;
}
.rail-avatar{width:52px;height:52px;font-size:16px;margin-bottom:4px}
.rail-name{font-size:14px;letter-spacing:-.02em}
.rail-handle-row,.rail-platform-row{
  display:inline-flex;align-items:center;gap:4px;color:var(--ca-role-fg-muted);font-size:11px;
}
.rail-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:8px}
.contact-rail-scroll{flex:1;min-height:0;overflow:auto}
.rail-section-block{border-bottom:1px solid var(--ca-role-border)}
.rail-section-trigger{
  width:100%;justify-content:flex-start;gap:6px;min-height:36px;padding:8px 12px;
  border:0;border-radius:0;background:transparent;color:var(--ca-role-fg-muted);
  font:600 10px/1.2 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.05em;
}
.rail-section-trigger:hover{background:var(--ca-role-bg)}
.rail-section-icon{display:inline-flex;color:var(--ca-role-fg-muted)}
.rail-section-title{flex:1;text-align:left}
.rail-chevron{flex:none;transition:transform .15s ease;opacity:.7}
.rail-chevron.rotated{transform:rotate(90deg)}
.rail-section-body{padding:0 12px 12px;display:grid;gap:2px}
.contact-rail.dense .rail-section-body{padding-bottom:14px}
.detail-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0}
.detail-row-label{
  display:flex;align-items:center;gap:5px;min-width:78px;flex:none;
  color:var(--ca-role-fg-muted);font-size:11px;font-weight:500;
}
.detail-row-icon{display:inline-flex}
.detail-row-value{min-width:0;flex:1;font-size:12px}
.rail-value-btn{
  justify-content:flex-start;min-height:24px;padding:2px 4px;border:0;border-radius:4px;
  background:transparent;font-size:12px;color:var(--ca-role-fg);text-align:left;width:100%;
}
.rail-value-btn:hover{background:var(--ca-role-bg)}
.rail-tag-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.rail-add-tag{
  min-height:22px;padding:1px 6px;font-size:10px;border-style:dashed;
  border-color:var(--ca-role-border);background:transparent;color:var(--ca-role-fg-muted);
}
.hook-card{display:grid;gap:4px;padding:2px 0 0}
.hook-card strong{font-size:12px}
.hook-line{color:var(--ca-role-fg-muted);font-size:11px;line-height:1.4;margin:0}
.hook-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.hook-why{margin-top:6px;padding-top:6px;border-top:1px dashed var(--ca-role-border)}
.rail-timeline{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rail-timeline li{display:grid;grid-template-columns:42px 1fr;gap:8px;align-items:start}
.rail-timeline strong{display:block;font-size:11px}
.rail-timeline p{margin:1px 0 0;color:var(--ca-role-fg-muted);font-size:11px;line-height:1.35}
.rail-note-stub{
  display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:8px;
  border-radius:6px;background:var(--v6-note-bg);color:var(--v6-note-fg);
  border:1px solid var(--v6-note-border);
}
.rail-note-stub p{margin:2px 0 0;font-size:11px;line-height:1.35}
.rail-empty{padding:4px 0}
.rail-action-row{display:flex;gap:6px;flex-wrap:wrap;padding-top:2px}
@media(prefers-reduced-motion:reduce){
  .rail-chevron{transition:none}
}
