/* The Desk chat shell (plan 2026-10-17-004 U3, KTD10): left rail, header with Files / Preview / Details drawers,
   conversation strip, streaming thread and composer — the tenant chat's layout, Desk tokens (my-finney-refined.css) only.
   Below 900px the rail is an off-canvas drawer and the right drawers open full width over the thread; every control
   is at least 44px there. The .dac-* classes are the copy page's original chat classes, kept so its tests and the
   adapter's details rail keep working. */
.dcs-host{display:block;min-width:0;width:100%;max-width:none}
.dac-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dac-muted{margin:0;color:var(--sub)}
.dac-meta{color:var(--muted);font-size:12px}
.dac-btn{min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.dac-btn:hover{border-color:var(--accent)}
.dac-btn:disabled,.dac-btn[aria-disabled="true"]{opacity:.55;cursor:default}
.dac-btn:focus-visible,.dac-back:focus-visible,.dac-link:focus-visible,.dac-send:focus-visible,.dac-copy:focus-visible,.dac-jump:focus-visible,.dac-rail-close:focus-visible,.dac-thread:focus-visible,
.dcs-icon:focus-visible,.dcs-rail-open:focus-visible,.dcs-tab:focus-visible,.dcs-tab-btn:focus-visible,.dcs-attach:focus-visible,.dcs-chip-btn:focus-visible,.dcs-files-tab:focus-visible,.dcs-pill-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.dcs-small{min-height:32px;min-width:32px;padding:0 10px;font-size:12px;border-radius:8px}
.dac-primary{border:0;background:var(--accent);color:var(--on-accent,#fff)}
.dac-danger{border-color:#c2410c;color:#c2410c}
.dac-danger:hover{background:#c2410c;color:#fff}
.dac-back{justify-self:start;min-height:44px;padding:0 4px;border:0;background:none;color:var(--accent);font-weight:600;cursor:pointer;white-space:nowrap}
.dac-actions,.dac-banner-actions{display:flex;flex-wrap:wrap;gap:8px}
.dac-notice-region:empty{display:none}
.dac-notice-region{display:grid;gap:8px}
.dac-banners{display:grid;gap:8px}
.dac-banners:empty{display:none}
.dac-banner{margin:0;padding:10px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:14px;line-height:1.45}
.dac-banner-sub{margin:0;color:var(--sub);font-size:13px}
.dac-warn{background:#fff4e5;color:#7a3e00}
.dac-error{background:#fdecea;color:#8a1c12}
.dac-ok{background:var(--accent-soft)}
.dac-confirm{display:grid;gap:8px;padding:14px;border:1px solid #c2410c;border-radius:12px;background:var(--surface)}
.dac-confirm-title{margin:0;font-weight:700}
.dac-confirm-body{margin:0;color:var(--sub);line-height:1.45}
.dac-skeleton{display:grid;gap:10px;padding:16px}
.dac-skeleton span{height:14px;border-radius:7px;background:var(--line-soft,rgba(23,32,51,.06))}
.dac-skeleton span:nth-child(odd){width:60%}
.dcs-state{display:grid;gap:10px;justify-items:start;padding:16px}
.dcs-icon{display:inline-grid;place-items:center;min-width:36px;min-height:36px;border:1px solid transparent;border-radius:10px;background:none;color:var(--sub);font-size:18px;cursor:pointer}
.dcs-icon:hover{border-color:var(--line-strong);color:var(--text)}
.dcs-icon:disabled{opacity:.4;cursor:default}
.dcs-dot{display:inline-block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dac-pulse 1s ease-in-out infinite}
.dcs-dot[hidden]{display:none}

/* Frame: rail | main */
.dcs-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;min-width:0;min-height:calc(100dvh - 140px)}
.dcs-shell.dcs-rail-collapsed{grid-template-columns:72px minmax(0,1fr)}
.dcs-main{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:0}
.dcs-scrim{display:none}

/* Rail */
.dcs-rail{display:flex;flex-direction:column;gap:8px;min-width:0;max-height:calc(100dvh - 140px);padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.dcs-rail-head{display:flex;align-items:center;justify-content:space-between;gap:6px}
.dcs-rail-title{margin:0 4px;font:700 14px var(--sans)}
.dcs-rail-search{min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;min-width:0}
.dcs-rail-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;align-content:start;overflow-y:auto;min-height:0}
.dcs-rail-open{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text);text-align:left;cursor:pointer}
.dcs-rail-open:hover{background:var(--subtle,rgba(23,32,51,.04))}
.dcs-rail-open.dcs-active{border-color:var(--accent);background:var(--accent-soft)}
.dcs-rail-avatar{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--brand-fill-ink,#fff);font:700 12px var(--sans)}
.dcs-rail-what{display:grid;gap:2px;min-width:0}
.dcs-rail-top{display:flex;align-items:baseline;gap:6px;min-width:0}
.dcs-rail-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px}
.dcs-rail-ago{flex:0 0 auto;color:var(--muted);font-size:11px}
.dcs-rail-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub);font-size:12px}
.dcs-rail-state{display:grid;gap:8px;justify-items:start;padding:10px 6px}
.dcs-rail-collapsed .dcs-rail-title,.dcs-rail-collapsed .dcs-rail-search,.dcs-rail-collapsed .dcs-rail-what,.dcs-rail-collapsed .dcs-rail-state p{display:none}
.dcs-rail-collapsed .dcs-rail{padding:10px 6px}
.dcs-rail-collapsed .dcs-rail-head{justify-content:center}
.dcs-rail-collapsed .dcs-rail-open{grid-template-columns:36px;justify-content:center;position:relative;padding:6px}
.dcs-rail-collapsed .dcs-rail-open .dcs-dot{position:absolute;top:6px;right:6px}
.dcs-rail-btn{display:none}

/* Header: rail button (phones), back, avatar + name + who shared it, usage chip, drawer buttons */
.dac-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:0 0 12px;border-bottom:1px solid var(--line)}
.dcs-lead{display:flex;align-items:center;gap:4px}
.dac-who{display:flex;align-items:center;gap:12px;min-width:0}
.dac-title{display:grid;gap:2px;min-width:0}
.dac-title h1{margin:0;font:700 18px var(--sans);overflow-wrap:anywhere}
.dac-title h1:focus{outline:none}
.dac-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;color:var(--sub);font-size:12px}
.dac-top-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.dcs-drawer-btn{min-height:36px;padding:0 12px}
.dcs-drawer-btn[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.dac-usage-chip{padding:4px 10px;border:1px solid var(--line);border-radius:999px;color:var(--sub);font-size:12px;white-space:nowrap}
.dac-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--on-accent,#fff);font:700 12px var(--sans)}
.dac-avatar-lg{width:56px;height:56px;font-size:18px}

/* Conversation strip: one tab per conversation, scrolls sideways, "+" at the end */
.dcs-strip-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
.dcs-strip{display:flex;flex:1 1 0;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:2px}
.dcs-strip-wrap .dac-confirm{flex-basis:100%}
.dcs-tab-wrap{display:flex;align-items:center;flex:0 0 auto;max-width:240px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.dcs-tab-wrap.dcs-selected{border-color:var(--accent);background:var(--accent-soft)}
.dcs-tab{display:inline-flex;align-items:center;gap:6px;min-width:0;min-height:36px;padding:0 4px 0 10px;border:0;background:none;color:var(--text);font:600 13px var(--sans);cursor:pointer}
.dcs-tab-title{min-width:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcs-tab-btn{min-width:28px;min-height:36px;border:0;background:none;color:var(--muted);cursor:pointer;opacity:.7}
.dcs-tab-btn:hover{color:var(--text);opacity:1}
.dcs-rename{min-height:34px;width:160px;padding:0 8px;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}

/* Layout: the conversation, with one drawer beside it on wide screens */
.dac-layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;min-height:0;flex:1 1 auto}
.dac-layout.dcs-with-files,.dac-layout.dcs-with-details{grid-template-columns:minmax(0,1fr) 320px}
.dac-layout.dcs-with-preview{grid-template-columns:minmax(0,1fr) minmax(300px,40%)}
.dac-chat{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto auto;min-width:0;min-height:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}
.dac-thread{display:flex;flex-direction:column;gap:18px;min-height:280px;max-height:calc(100dvh - 360px);overflow-y:auto;overflow-x:hidden;padding:20px clamp(12px,3vw,32px)}
.dac-empty-thread{display:grid;justify-items:center;gap:6px;margin:auto;padding:24px;text-align:center}
.dac-empty-name{margin:6px 0 0;font:700 16px var(--sans)}
.dcs-earlier{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}

/* Messages: you on the right, the agent on the left with its initials */
.dac-msg{display:flex;gap:10px;max-width:100%;line-height:1.55;overflow-wrap:anywhere}
.dac-user{justify-content:flex-end}
.dac-bubble{max-width:min(1100px,80%);padding:10px 14px;border-radius:14px 14px 4px 14px;background:var(--accent-soft);color:var(--text);white-space:pre-wrap}
.dac-agent{align-items:flex-start}
.dac-body{display:grid;gap:6px;min-width:0;max-width:100%;flex:1 1 auto}
.dac-text{color:var(--text);font-size:14px}
.dac-text:empty{display:none}
.dac-marker{margin:0;color:#7a3e00;font-size:12px;font-weight:600}
.dac-marker[hidden]{display:none}
.dac-model-ran{display:block;color:var(--muted,#6b7280);font-size:11px;overflow-wrap:anywhere}
.dac-msg-actions{display:flex;gap:6px;opacity:0;transition:opacity .15s}
.dac-msg:hover .dac-msg-actions,.dac-msg:focus-within .dac-msg-actions{opacity:1}
@media (hover:none){.dac-msg-actions{opacity:1}}
.dac-copy{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--sub);font-size:12px;cursor:pointer}
.dac-copy:hover{border-color:var(--accent);color:var(--accent)}
@media (pointer:coarse){.dac-copy{min-height:44px}}
.dac-tools,.dac-tools-slot{display:flex;flex-direction:column;gap:4px}
.dac-tools-slot:empty,.dcs-chips-slot:empty{display:none}
.dac-tool-card{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:var(--subtle,rgba(23,32,51,.03));color:var(--sub);font-size:12px}
.dac-tool-dot{width:7px;height:7px;border-radius:50%;background:var(--green,#16875d)}
.dac-tool-running .dac-tool-dot{background:var(--accent);animation:dac-pulse 1s ease-in-out infinite}
.dac-thinking{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.dac-thinking[hidden]{display:none}
.dac-dots{display:flex;gap:4px}
.dac-dots i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:dac-bounce 1.2s ease-in-out infinite}
.dac-dots i:nth-child(2){animation-delay:.15s}
.dac-dots i:nth-child(3){animation-delay:.3s}
@keyframes dac-bounce{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
@keyframes dac-pulse{0%,100%{opacity:.4}50%{opacity:1}}
.dac-jump{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;box-shadow:var(--shadow,0 2px 8px rgba(23,32,51,.12));cursor:pointer}
.dac-jump[hidden]{display:none}
.dac-link{color:var(--accent);text-decoration:underline;overflow-wrap:anywhere}

/* File chips and Connect cards under a reply */
.dcs-chips{display:flex;flex-wrap:wrap;gap:6px}
.dcs-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:12px}
.dcs-chip-name{min-width:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.dcs-chip-size{color:var(--muted)}
.dcs-chip-btn{min-height:28px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:none;color:var(--accent);font-size:12px;cursor:pointer}
.dcs-connects{display:grid;gap:8px}
.dcs-connect{display:grid;gap:6px;justify-items:start;padding:12px;border:1px solid var(--accent);border-radius:12px;background:var(--accent-soft)}

/* Composer: attach, auto-growing box, Queue while a reply runs, one round Send ↔ Stop button */
.dac-composer{display:grid;gap:6px;padding:12px clamp(12px,3vw,32px) 14px;border-top:1px solid var(--line);background:var(--surface)}
.dac-composer-box{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 6px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface)}
.dac-composer-box:focus-within{border-color:var(--accent)}
.dcs-attach{display:inline-grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--sub);font-size:18px;cursor:pointer}
.dcs-attach[aria-disabled="true"]{opacity:.5}
.dac-input{flex:1 1 auto;min-height:32px;max-height:200px;padding:6px 0;border:0;background:transparent;color:var(--text);font:inherit;line-height:1.45;resize:none;outline:none;box-sizing:border-box}
.dac-input:disabled{color:var(--muted)}
.dac-send{display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent,#fff);font-size:16px;font-weight:700;cursor:pointer}
.dac-send:disabled{opacity:.4;cursor:default}
.dac-send.dac-stop{background:#c2410c}
.dcs-queue-add[hidden]{display:none}
@media (pointer:coarse){.dac-send{width:44px;height:44px}}
.dac-hint{margin:0;color:var(--muted);font-size:11px}
.dac-hint[hidden]{display:none}
.dcs-pills{display:flex;flex-wrap:wrap;gap:6px}
.dcs-pills[hidden]{display:none}
.dcs-pill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;padding:4px 4px 4px 10px;border:1px solid var(--line-strong);border-radius:10px;font-size:12px}
.dcs-pill-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.dcs-pill-size,.dcs-pill-state{color:var(--sub)}
.dcs-pill-uploading .dcs-pill-state{animation:dac-pulse 1.2s ease-in-out infinite}
.dcs-pill-failed,.dcs-pill-over{border-color:#c2410c}
.dcs-pill-failed .dcs-pill-state,.dcs-pill-over .dcs-pill-state{color:#8a1c12}
.dcs-pill-remove{min-width:28px;min-height:28px;border:0;background:none;color:var(--sub);font-size:16px;cursor:pointer}
.dcs-drop{position:absolute;inset:8px;z-index:5;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:700}
.dcs-drop[hidden]{display:none}
.dcs-queue{display:grid;gap:6px;padding:8px clamp(12px,3vw,32px);border-top:1px solid var(--line);background:var(--subtle,rgba(23,32,51,.03))}
.dcs-queue[hidden]{display:none}
.dcs-queue-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.dcs-queue-paused{color:#7a3e00;font-size:12px;font-weight:600}
.dcs-queue-note{margin:0;color:var(--muted);font-size:11px}
.dcs-queue-list{display:grid;gap:4px;margin:0;padding-left:18px}
.dcs-queue-item{font-size:13px}
.dcs-queue-item>*{margin-right:6px}
.dcs-queue-text{display:inline-block;max-width:min(900px,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
.dcs-queue-where{color:var(--muted);font-size:11px}

/* Drawers (one at a time): Files, Preview, Details — Details keeps the original .dac-side rail classes */
.dcs-drawer{display:grid;align-content:start;gap:12px;min-width:0;max-height:calc(100dvh - 240px);padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow-y:auto}
.dac-rail-head{display:flex;align-items:center;justify-content:space-between}
.dac-rail-title{margin:0;font:700 14px var(--sans)}
.dac-rail-close{min-width:44px;min-height:44px;border:0;background:none;color:var(--sub);font-size:22px;cursor:pointer}
.dac-rail-body,.dcs-drawer-body{display:grid;gap:12px;align-content:start;min-width:0}
.dcs-files-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.dcs-files-tab{min-height:36px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--sub);font-weight:600;cursor:pointer}
.dcs-files-tab[aria-selected="true"]{border-bottom-color:var(--accent);color:var(--text)}
.dcs-files-tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dcs-files-search{flex:1 1 140px;min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;min-width:0}
.dcs-file-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.dcs-file{display:grid;gap:6px;padding:8px 0;border-bottom:1px solid var(--line)}
.dcs-file .dac-conn-what{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.dcs-file:last-child{border-bottom:0}
.dcs-file-secret{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.dcs-file-secret .dac-banner{margin:0;flex-basis:100%}
.dcs-files-state{display:grid;gap:8px;justify-items:start;padding:8px 0}
.dcs-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.dcs-preview-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dcs-preview-frame,.dcs-preview-frame-host iframe{display:block;width:100%;height:min(70vh,720px);border:1px solid var(--line);border-radius:10px;background:#fff}
.dcs-preview-text{max-height:min(70vh,720px);overflow:auto;padding:12px;border:1px solid var(--line);border-radius:10px}

@media (min-width:1000px){
  .dac-layout.dcs-with-preview{grid-template-columns:minmax(0,1fr) minmax(320px,45%)}
}
@media (max-width:899px){
  .dcs-shell,.dcs-shell.dcs-rail-collapsed{grid-template-columns:minmax(0,1fr)}
  .dcs-rail{position:fixed;inset:0 auto 0 0;z-index:70;width:min(320px,88vw);max-height:none;border-radius:0;visibility:hidden;transform:translateX(-105%);transition:transform .2s,visibility 0s .2s}
  .dcs-shell.dcs-rail-open .dcs-rail{visibility:visible;transform:none;transition:transform .2s,visibility 0s}
  .dcs-shell.dcs-rail-open .dcs-scrim{display:block;position:fixed;inset:0;z-index:65;background:rgba(15,23,42,.35)}
  .dcs-rail-collapsed .dcs-rail-title,.dcs-rail-collapsed .dcs-rail-search,.dcs-rail-collapsed .dcs-rail-what{display:revert}
  .dcs-rail-btn{display:inline-grid}
  .dac-layout.dcs-with-files,.dac-layout.dcs-with-details,.dac-layout.dcs-with-preview{grid-template-columns:minmax(0,1fr)}
  .dcs-drawer{position:fixed;inset:0;z-index:75;max-height:none;border-radius:0;padding:16px}
  .dcs-icon,.dcs-tab,.dcs-tab-btn,.dcs-rail-open,.dcs-drawer-btn,.dcs-small,.dcs-chip-btn,.dcs-files-tab,.dcs-attach,.dcs-pill-remove,.dcs-rail-search,.dcs-files-search,.dcs-rename{min-height:44px;min-width:44px}
  .dcs-attach{width:44px;height:44px}
}
@media (max-width:720px){
  .dac-top{grid-template-columns:auto minmax(0,1fr)}
  .dac-top-tools{grid-column:1 / -1;justify-content:flex-end}
  .dac-thread{max-height:calc(100dvh - 390px);padding:14px 12px}
  .dac-bubble{max-width:90%}
}
@media (prefers-reduced-motion:reduce){
  .dac-dots i,.dac-tool-running .dac-tool-dot,.dcs-dot,.dcs-pill-uploading .dcs-pill-state{animation:none;opacity:.8}
  .dcs-rail{transition:none}
}
