/* Chat-centred workspace shell. Colours, typography and surfaces come from agent.html. */
body{display:flex;flex-direction:column;min-height:0;}
body>#banner,body>header{flex:0 0 auto;}
body>header{flex-wrap:wrap;}
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
#workspace-shell{
  display:grid;grid-template-columns:220px minmax(320px,1fr) minmax(350px,var(--work-panel-width,560px));gap:14px;
  flex:1;min-height:0;padding:14px;position:relative;z-index:2;
}
#case-rail,#chat-panel,#form-panel{min-width:0;min-height:0}
#case-rail{width:auto;display:flex;transition:width .2s,transform .2s;}
.rail-heading,.work-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--hairline);}
.rail-heading h2,.work-heading h2{margin:0;padding:0;border:0;font-size:14px;}
#case-list-host{display:flex;flex-direction:column;gap:9px;padding:13px;}
#case-items{display:flex;flex-direction:column;gap:5px;overflow:auto;min-height:0;}
.case-rail-empty{margin:0;padding:8px 10px;color:var(--muted);font-size:13px;}
#new-case{width:100%;}
.icon-control,.shell-control{padding:5px 10px;line-height:1.2;}
.icon-control{min-width:34px;min-height:34px;font-size:18px;}
.rail-return-label{display:none;}
.rail-collapse-symbol{display:inline-block;}
#chat-panel{flex:initial;display:flex;}
#chat-panel>h2{flex:0 0 auto;}
#chat-panel>h2>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#chat-panel #sync-status{margin-left:auto;}
#form-panel{flex:initial;display:flex;}
#work-resize{position:absolute;z-index:5;left:0;top:12%;height:76%;width:12px;cursor:col-resize;touch-action:none;background:transparent;}
#work-resize::after{content:"";position:absolute;left:3px;top:42%;height:16%;width:4px;border-radius:4px;background:var(--edge);}
#work-resize:hover::after,#work-resize:focus-visible::after{background:var(--fern);}
#workspace-tabs{grid-template-columns:repeat(4,minmax(0,1fr));}
.workspace-tab{padding:7px 5px;white-space:nowrap;}
.documents-title{display:inline-flex;align-items:center;gap:8px;}
.documents-title .document-icon{width:20px;height:20px;color:var(--pine);}
.documents-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:130px;text-align:center;border:1px dashed rgba(63,160,109,.35);border-radius:12px;}
.documents-empty .document-icon{width:28px;height:28px;color:var(--pine);opacity:.75;}
.documents-status:empty{display:none;}
.documents-status:not(:empty){margin-top:10px;}
.document-file-icon{grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:42px;height:48px;border-radius:9px;color:#a33a36;background:#fbebea;}
.document-file-icon svg{width:20px;height:20px;}
.document-file-icon span{font-size:9px;font-weight:800;letter-spacing:.04em;}
.document-file-icon.type-docx{color:#245a9b;background:#e8f0fa;}
.document-file-icon.type-txt{color:#536b77;background:#eaf0f1;}
.document-file-icon.type-image{color:#7a5499;background:#f2ebf7;}
.document-file-icon.type-other{color:var(--pine);background:rgba(63,160,109,.1);}
.document-info{min-width:0;}
#form-panel>.body{min-height:0;}
#documents-section{min-height:100%;}
#b1-preview-block:not([hidden]){display:flex;flex-direction:column;height:calc(100vh - 285px);min-height:490px;margin-bottom:18px;}
.b1-preview-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;margin-bottom:8px;font-size:12px;color:var(--muted);}
.b1-preview-heading strong{color:var(--ink);font-size:14px;}
#b1-preview-frame{display:block;flex:1;width:100%;min-height:0;border:1px solid var(--line);border-radius:8px;background:#fff;}
#draft-canvas[hidden]{display:none!important;}
#documents-host:empty::before{content:"";}
.chat-return{display:none;margin:8px 12px 12px;}
#workspace-shell.rail-collapsed{grid-template-columns:48px minmax(320px,1fr) minmax(350px,var(--work-panel-width,560px));}
#workspace-shell.rail-collapsed #case-rail #case-list-host,
#workspace-shell.rail-collapsed #case-rail .rail-heading h2{display:none;}
#workspace-shell.rail-collapsed #case-rail .rail-heading{justify-content:center;padding:8px 4px;border:0;}
#workspace-shell.rail-collapsed .rail-collapse-symbol{transform:rotate(180deg);}
#workspace-shell.panel-closed{grid-template-columns:220px minmax(320px,1fr) 0;}
#workspace-shell.panel-closed #form-panel{display:none;}
#workspace-shell.panel-closed.rail-collapsed{grid-template-columns:48px minmax(320px,1fr) 0;}
.shell-control[hidden]{display:none;}
#rail-open[hidden],#panel-open[hidden]{display:none;}
@media(max-width:1000px){
  #workspace-shell,#workspace-shell.rail-collapsed,#workspace-shell.panel-closed,#workspace-shell.panel-closed.rail-collapsed{
    display:flex;flex-direction:column;padding:10px;gap:10px;overflow:hidden;
  }
  #chat-panel{order:1;flex:1;min-height:0;}
  #form-panel{order:2;display:none;flex:1;min-height:0;}
  #case-rail{order:3;display:none;}
  #rail-toggle{font-size:12px;}
  #rail-toggle .rail-collapse-symbol{display:none;}
  #rail-toggle .rail-return-label{display:inline;}
  #workspace-shell.mobile-work-open #chat-panel{display:none;}
  #workspace-shell.mobile-work-open #form-panel{display:flex;}
  #workspace-shell.mobile-rail-open #chat-panel{display:none;}
  #workspace-shell.mobile-rail-open #case-rail{display:flex;}
  #workspace-shell.mobile-rail-open #form-panel{display:none;}
  #workspace-shell #form-panel .chat-return{display:block;}
  #chat-panel{min-width:0;min-height:0;}
  #work-resize{display:none;}
  #messages{min-height:0;}
  #workspace-tabs{grid-template-columns:repeat(4,minmax(0,1fr));}
  .workspace-tab{font-size:12px;}
  header{gap:8px;padding:8px 12px;}
  header .sub{display:none;}
}
@media(max-width:560px){
  #workspace-shell,#workspace-shell.rail-collapsed,#workspace-shell.panel-closed,#workspace-shell.panel-closed.rail-collapsed{padding:7px;gap:7px;}
  #banner{font-size:11px;}
  header{padding:7px 9px;}
  header .logo{font-size:15px;}
  header code{font-size:11px;padding:2px 5px;}
  header button{padding:5px 8px;font-size:12px;}
  #workspace-tabs{padding:5px;gap:2px;}
  .workspace-tab{padding:7px 2px;font-size:11px;}
  #form-panel>.body{padding:12px;}
}
@media(prefers-reduced-motion:reduce){
  #case-rail{transition:none;}
}
#case-list-host .case-rail-item{
  width:100%;display:block;text-align:left;padding:8px 10px;border-color:transparent;
  background:rgba(255,255,255,.26);box-shadow:none;font-size:13px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#case-list-host .case-rail-item:hover{background:rgba(255,255,255,.54);box-shadow:none;}
#case-list-host .case-rail-item.selected,
#case-list-host .case-rail-item[aria-current="true"]{
  color:var(--pine);background:rgba(255,255,255,.72);border-color:rgba(63,160,109,.22);font-weight:700;
}
#workspace-shell.rail-collapsed #rail-open,
#workspace-shell.panel-closed #panel-open{display:inline-flex;}

/* Documents: Files / Bundles views and the bundle editor */
.documents-views{display:inline-flex;gap:2px;padding:3px;margin:0 0 12px;border-radius:10px;background:rgba(23,34,43,.06);}
.documents-views button{min-height:30px;padding:4px 12px;border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--muted);font-size:12.5px;font-weight:600;}
.documents-views button[aria-pressed="true"]{background:rgba(255,255,255,.85);color:var(--ink);box-shadow:0 1px 3px rgba(23,34,43,.12);}
.document-select{display:inline-flex;align-items:center;gap:5px;margin-right:auto;font-size:11px;color:var(--muted);cursor:pointer;}
.document-select input{width:15px;height:15px;margin:0;accent-color:var(--fern);}
.selection-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.82);border:1px solid rgba(63,160,109,.28);font-size:12.5px;}
.selection-bar span{font-weight:600;margin-right:auto;}
.selection-bar button{min-height:30px;padding:4px 10px;font-size:12px;}
.bundles-view{display:flex;flex-direction:column;gap:12px;min-width:0;}
.bundle-picker{display:flex;gap:8px;align-items:center;}
.bundle-picker select{flex:1;min-width:0;min-height:34px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.7);padding:4px 8px;font:inherit;font-size:13px;}
.bundle-picker button{margin-left:auto;min-height:32px;padding:4px 12px;font-size:12px;}
.bundle-title-label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--muted);}
.bundle-title-label input,.bundle-row input{width:100%;min-width:0;min-height:32px;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:rgba(255,255,255,.72);font:inherit;font-size:13px;color:var(--ink);}
.bundle-title-label input{font-size:15px;font-weight:600;}
.bundle-state{font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;}
.bundle-state.current{color:var(--pine);background:rgba(63,160,109,.1);}
.bundle-state.outdated{color:#7a4b00;background:rgba(214,168,74,.2);}
.bundle-state.draft{color:var(--muted);background:rgba(23,34,43,.05);}
.bundle-rows{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.bundle-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:start;padding:8px;border:1px solid var(--hairline);border-radius:10px;background:rgba(255,255,255,.5);}
.bundle-row.heading{background:rgba(63,160,109,.08);border-color:rgba(63,160,109,.22);}
.bundle-row.heading input{font-weight:700;}
.bundle-row.dragging{opacity:.45;}
.bundle-row.drop-target{border-color:var(--fern);box-shadow:0 -2px 0 var(--fern);}
.bundle-handle{cursor:grab;color:var(--muted);font-size:13px;line-height:32px;user-select:none;text-align:center;}
.bundle-row-body{display:flex;flex-direction:column;gap:5px;min-width:0;}
.bundle-row-title{display:flex;gap:7px;align-items:center;min-width:0;}
.bundle-tab{flex:none;min-width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--pine);background:rgba(63,160,109,.12);}
.bundle-row-meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:11px;color:var(--muted);min-width:0;overflow-wrap:anywhere;}
.bundle-row-meta .bundle-date{width:130px;min-height:28px;font-size:12px;}
.bundle-row-meta .missing{color:#7a1616;font-weight:600;}
.bundle-row-controls{display:flex;gap:3px;}
.bundle-move{width:28px;height:28px;min-height:28px;padding:0;border-radius:7px;font-size:12px;box-shadow:none;background:rgba(255,255,255,.6);border:1px solid var(--hairline);color:var(--ink);}
.bundle-move:disabled{opacity:.35;}
.bundle-empty{padding:18px;text-align:center;font-size:12.5px;color:var(--muted);border:1px dashed rgba(63,160,109,.35);border-radius:10px;}
.bundle-add{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;}
.bundle-add>button{min-height:30px;padding:4px 10px;font-size:12px;}
.bundle-available{flex:1 1 220px;padding:6px 10px;border-radius:10px;border:1px solid var(--hairline);background:rgba(255,255,255,.45);font-size:12.5px;}
.bundle-available summary{cursor:pointer;font-weight:600;color:var(--pine);}
.bundle-available label{display:flex;gap:6px;align-items:center;padding:3px 0;overflow-wrap:anywhere;}
.bundle-available button{margin-top:6px;min-height:30px;font-size:12px;}
.bundle-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.bundle-actions a{display:inline-flex;align-items:center;min-height:34px;padding:5px 12px;border-radius:9px;border:1px solid rgba(63,160,109,.3);background:rgba(255,255,255,.6);color:var(--pine);text-decoration:none;font-size:12.5px;font-weight:600;}
.bundle-actions button{min-height:34px;font-size:12.5px;}
.bundle-actions .bundle-delete{margin-left:auto;color:#7a1616;}
.bundle-status{font-size:12px;color:var(--muted);}
.bundle-status:empty{display:none;}
.bundle-status.error{color:#7a1616;}
.bundle-status.success{color:var(--pine);}
.bundle-warnings{padding:9px 12px;border-radius:10px;background:rgba(214,168,74,.16);border:1px solid rgba(214,168,74,.45);font-size:12px;}
.bundle-warnings ul{margin:5px 0 0;padding-left:18px;}
.bundle-preview{display:block;width:100%;height:calc(100vh - 330px);min-height:420px;border:1px solid var(--line);border-radius:8px;background:#fff;}
.update-card a.undo{text-decoration:none;display:inline-flex;align-items:center;color:var(--ink);border:1px solid rgba(255,255,255,.65);background:var(--glass-strong);box-shadow:0 1px 4px rgba(23,34,43,.06);}
.cite-link{display:inline;padding:0 3px;margin:0;min-height:0;height:auto;border:0;border-radius:4px;background:rgba(63,160,109,.12);box-shadow:none;color:var(--pine);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline dotted;}
.cite-link:hover,.cite-link:focus-visible{background:rgba(63,160,109,.22);}
.document-tag.pending{color:#7a4b00;}
.document-tag.failed{color:#7a1616;}
.drafting-empty:not([hidden]){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:190px;padding:22px;text-align:center;border:1px dashed rgba(63,160,109,.35);border-radius:14px;}
.drafting-empty svg{width:30px;height:30px;color:var(--pine);opacity:.8;}
.drafting-empty h3{margin:0;font-size:16px;color:var(--ink);}
.drafting-suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;}
.drafting-suggestions button{min-height:32px;padding:5px 12px;font-size:12.5px;color:var(--pine);border-color:rgba(63,160,109,.3);}

#drafting-actions:not([hidden]){display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
#drafting-actions button{min-height:32px;padding:5px 12px;font-size:12.5px;}
#b1-preview-block{margin-top:24px;}
#b1-draft-section.arrive,#draft-canvas.arrive,#b1-preview-block.arrive{animation:field-pulse 2.4s ease;}
