.file-library{--library-ink:var(--workspace-ink);--library-accent:var(--workspace-accent);--library-line:var(--workspace-border);padding:24px;min-width:0;background:var(--workspace-background);color:var(--workspace-ink);container-type:inline-size}
.app-shell.context-pane-layout[data-view=library].left-collapsed:not(.chat-only):not(.chat-related){grid-template-columns:0 10px minmax(0,1fr) 10px minmax(300px,var(--right-width))}
.app-shell.context-pane-layout[data-view=library].left-collapsed.right-collapsed:not(.chat-only):not(.chat-related){grid-template-columns:0 10px minmax(0,1fr) 10px 0}
@media(max-width:1100px){.app-shell.context-pane-layout[data-view=library]:not(.chat-only):not(.chat-related){grid-template-columns:minmax(180px,var(--left-width)) 10px minmax(0,1fr) 0 0}.app-shell.context-pane-layout[data-view=library]>.right,.app-shell.context-pane-layout[data-view=library]>.right-resizer{display:none}.app-shell.context-pane-layout[data-view=library].left-collapsed:not(.chat-only):not(.chat-related){grid-template-columns:0 10px minmax(0,1fr) 0 0}}
.file-library button,.file-library-dialog button{cursor:pointer;border:1px solid #c9dedb;border-radius:10px;background:var(--workspace-surface);color:var(--workspace-ink);padding:8px 12px;line-height:1.5;white-space:normal}
.file-library button:disabled,.file-library-dialog button:disabled{opacity:.55;cursor:wait}
.file-library button:focus-visible,.file-library-dialog :focus-visible,.library-drop:focus-visible{outline:3px solid #00a892;outline-offset:3px}
.file-library button.primary,.file-library-dialog button.primary{background:linear-gradient(110deg,#00b994,#04b5cd);color:#fff;border-color:transparent;font-weight:700}
.library-drop{display:flex;align-items:flex-start;gap:22px;padding:22px;border:1px dashed #86d5c5;border-radius:18px;background:var(--workspace-subtle)}
.library-drop.is-dragging{outline:3px solid #00af93;background:#dcf8ef}
.library-drop>img{width:94px;height:120px;object-fit:contain;flex-shrink:0}
.library-drop>div{min-width:0;flex:1}
.library-drop p{margin:10px 0 0;line-height:1.8;overflow-wrap:anywhere}
.library-drop .library-greeting{margin:0 0 12px;padding:10px 16px;border:1px solid #a1e5d7;border-radius:12px;background:#dff8ef;color:#006e5d}
.library-status{margin:12px 0;min-height:1.6em;overflow-wrap:anywhere}.is-error,[data-error]{color:#aa3434}
.library-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px}
.library-nav{border-right:1px solid var(--library-line);padding-right:18px;display:flex;flex-direction:column;gap:8px;align-self:stretch}
.library-nav button{display:flex;gap:10px;align-items:center;text-align:left;background:transparent;border-color:transparent;border-radius:24px}
.library-nav button>span:last-child{margin-left:auto}
.library-nav button[aria-pressed=true]{background:#cdf3e8;color:#00745e;font-weight:700}
.library-main{min-width:0}.library-search{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid #d9e4e7;background:var(--workspace-surface);border-radius:12px}
.file-library .library-nav button{min-width:0;overflow-wrap:anywhere}
.library-search input{width:100%;min-width:0;border:0;outline-offset:2px;background:transparent;color:inherit}
.library-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}.library-tags button{border-radius:20px;padding:3px 10px;overflow-wrap:anywhere;max-width:100%}
.library-tags button[aria-pressed=true],.library-tag-results button[aria-pressed=true]{background:#00b8a4;color:#fff;border-color:#00b8a4}.library-tags span{opacity:.7}
.library-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.library-toolbar>span{color:var(--workspace-muted)}
.library-table-wrap{max-width:100%;overflow:auto}.file-library table{border-collapse:collapse;width:100%;min-width:720px;table-layout:auto}
.file-library th,.file-library td{padding:12px 8px;border-bottom:1px solid var(--library-line);text-align:left;vertical-align:middle}
.file-library th{background:var(--workspace-surface);font-weight:500;white-space:nowrap}.file-library th button{border:0;background:transparent;padding:0}
.file-library th>button,.file-library .library-share-badge{white-space:nowrap}
.file-library td:not(:first-child){white-space:nowrap}.file-library tr[data-file-row] td:nth-child(2){min-width:230px;width:45%}.file-library td:last-child{white-space:nowrap;text-align:right}.file-library .library-more{width:44px;min-height:42px;margin-left:4px}
.file-library tr[data-file-row] td:nth-child(2) .library-file-icon{display:inline-flex;width:27px;height:31px;vertical-align:top;align-items:center;justify-content:center;border-radius:7px;margin-top:6px;background:#289584;color:#fff}
.library-file-icon.is-pdf{background:#d95153!important}.library-file-icon.is-image{background:#8960d2!important}.library-file-icon.is-office{background:#398fc1!important}
.file-library .library-open{display:inline-flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;max-width:calc(100% - 38px);border:0;background:transparent;padding:4px 8px;color:var(--workspace-ink);overflow-wrap:anywhere}
.library-open small{color:var(--workspace-muted);word-break:break-word}.file-library tr:hover{background:var(--workspace-menu-hover)}
.file-library .library-share-badge{border:0;background:#d7f6ee;color:#007c68;border-radius:24px;padding:3px 9px}
.file-library .library-star{border:0;background:transparent;padding:6px;color:#6a8586}.library-star[aria-pressed=true]{color:#b0841a!important}
.file-library .library-folder button[data-folder]{border:0;background:transparent;font-weight:700;color:#007c68}.library-count{padding:2px 7px;background:#d5f2e9;border-radius:12px;margin-left:8px}
.library-empty{padding:22px 4px;color:var(--workspace-muted);line-height:1.8}
.file-library-dialog{width:min(760px,calc(var(--workspace-viewport-width,100vw) - 32px));max-height:calc(var(--workspace-viewport-height,100vh) * 0.9);box-sizing:border-box;border:1px solid #c9dedb;border-radius:18px;padding:24px;color:var(--workspace-ink);background:var(--workspace-surface);box-shadow:0 18px 70px #092d3733;overflow:auto}
.file-library-dialog::backdrop{background:#163e3c88}.file-library-dialog>header{display:flex;align-items:flex-start;gap:12px;padding:0 0 16px;border-bottom:1px solid #e0ebe8;margin-bottom:18px}
.file-library-dialog h2{margin:0;overflow-wrap:anywhere;flex:1}.file-library-dialog>header>button{padding:2px 10px;flex:none}
.file-library-dialog label{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.file-library-dialog input:not([type=checkbox]),.file-library-dialog select,.file-library-dialog textarea{width:100%;box-sizing:border-box;min-width:0;border:1px solid #d5e3df;border-radius:9px;background:var(--workspace-surface);padding:10px;color:inherit}
.file-library-dialog .library-check,.file-library-dialog .library-recipient{flex-direction:row;align-items:center;gap:12px}.file-library-dialog input[type=checkbox]{width:20px;height:20px;accent-color:#00a789;flex-shrink:0}
.file-library-dialog footer{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}.file-library-dialog .library-danger{color:#ad3434}
.library-share-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.library-share-tabs button[aria-pressed=true]{background:#d9f5eb;border-color:#63c6ae}
.library-recipients{max-height:300px;overflow:auto;padding:12px 4px;border-bottom:1px solid #e3eae8}.library-recipient span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.library-recipient small{color:var(--workspace-muted)}
.file-library-dialog [hidden]{display:none!important}
.file-library-dialog.library-viewer{width:calc(var(--workspace-viewport-width,100vw) - 24px);max-width:none;height:calc(var(--workspace-viewport-height,100vh) - 24px);max-height:calc(var(--workspace-viewport-height,100vh) - 24px);padding:16px;background:var(--workspace-background)}
.file-library-dialog.library-viewer[open]{display:flex;flex-direction:column}.library-viewer>header,.library-viewer>footer,.library-view-toolbar{flex-shrink:0}.library-viewer>footer{margin-top:12px}.library-viewer>[data-error]:empty{display:none}.library-view-toolbar [data-retry]{margin-left:auto}
.library-view-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.library-view-toolbar [aria-pressed=true]{background:#d0f1e6}
.library-view-toolbar label{flex-direction:row;align-items:center;margin:0}.library-view-toolbar label select{width:auto;padding:7px}
.library-pdf-nav{display:flex;flex-shrink:0;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.library-pdf-nav[hidden]{display:none}
.library-pdf-nav button{min-height:40px}
.library-pdf-nav [data-page-status]{overflow-wrap:anywhere}
.library-view-layout{display:flex;align-items:stretch;gap:18px;flex:1;min-height:180px}.library-preview{flex:1;min-width:0;min-height:0;overflow:auto;background:var(--workspace-subtle);border-radius:12px;padding:16px;text-align:center}
.library-preview-image{display:block;width:100%;height:auto;max-width:none;object-fit:contain;margin:auto}.library-preview iframe{display:block;width:100%;height:100%;min-height:180px;border:0;background:var(--workspace-surface)}
.library-preview.is-fit{overflow:hidden}
.library-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;text-align:left;background:var(--workspace-surface);padding:20px;line-height:1.9}
.library-comments{width:300px;max-height:calc(var(--workspace-viewport-height,100vh) * 0.65);overflow:auto;flex-shrink:0}.library-comments article{background:var(--workspace-surface);padding:12px;margin:10px 0;border-radius:10px}.library-comments article small{display:block;color:var(--workspace-muted)}.library-comments p{white-space:pre-wrap;overflow-wrap:anywhere}
@container(max-width:900px){.library-layout{grid-template-columns:minmax(0,1fr)}.library-nav{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--library-line);padding:0 0 12px}.library-nav button{flex:1 1 auto}}
@container(max-width:420px){.library-drop{flex-direction:column}.library-drop>img{width:54px;height:64px}.library-drop>div{width:100%}.library-nav button{flex-basis:100%}.library-toolbar>button{max-width:100%;overflow-wrap:anywhere}}
@media(max-width:700px){.file-library{padding:14px}.library-drop{padding:16px;gap:12px}.library-drop>img{width:60px;height:80px}.library-view-layout{flex-direction:column}.library-comments{width:100%}.file-library-dialog.library-viewer{width:calc(var(--workspace-viewport-width,100vw) - 16px);padding:12px}}

.library-stat-icon{width:20px;height:20px;flex:none;vertical-align:middle}.library-view-stats,.library-view-stats>span{display:inline-flex;align-items:center;gap:6px}.library-view-stats{gap:12px}.file-library .library-stat-button,.file-library-dialog .library-stat-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:4px 8px}.file-library .library-like[aria-pressed=true],.file-library-dialog .library-like[aria-pressed=true]{background:#d0f1e6;color:#00745e;border-color:#63c6ae}.library-like[aria-pressed=true] .library-stat-icon{fill:#b0e7d7}
.file-library .library-row-reaction{flex-direction:row;gap:6px;min-width:58px;padding:6px 9px;white-space:nowrap}
.library-row-reaction .library-reaction-count{line-height:1.5;font-variant-numeric:tabular-nums}


.file-library .library-nav .library-upload-trigger{border-radius:12px;justify-content:center;margin-bottom:12px;flex:none}
.file-library tr[data-file-row] td:nth-child(2){white-space:normal;min-width:230px}.file-library .library-select-cell{width:28px;padding-inline:6px}.file-library input[type=checkbox]{width:18px;height:18px;accent-color:#00a789;cursor:pointer}.file-library input:disabled{cursor:not-allowed}
.library-selection-bar{display:flex;margin-left:auto;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.library-selection-bar strong{color:#00745e;white-space:nowrap}.file-library [hidden]{display:none!important}
.library-tags{max-height:100px;overflow:auto;align-content:start}.library-tag-results{display:flex;align-content:start;gap:8px;flex-wrap:wrap;max-height:calc(var(--workspace-viewport-height,100vh) * 0.48);overflow:auto}.library-tag-results button{border-radius:20px}
.library-tag-editor{margin-bottom:20px}.library-tag-badges{display:flex;flex-wrap:wrap;gap:8px;max-height:190px;overflow:auto}.library-edit-tag{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid #b6e0d4;border-radius:24px;background:#e6f7f0;max-width:100%;box-sizing:border-box}.library-edit-tag>span{overflow-wrap:anywhere;min-width:0}.file-library-dialog .library-edit-tag button{border:0;border-radius:50%;padding:2px 7px;background:transparent;flex:none}.file-library-dialog .library-tag-editor label{margin-bottom:10px}

.library-status:empty{display:none}.library-tag-tools{margin:-6px 0 14px}.library-tag-tools button{border-radius:20px}

/* Keep file rows scrollable inside the fixed-height workspace. On short screens,
   the surrounding panel can also scroll so none of the controls are clipped. */
.app-shell[data-view=library] #main>header{flex-shrink:0}
.app-shell[data-view=library] .file-library{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto}
.library-status{flex-shrink:0}
.library-layout{flex:1 0 320px;min-height:320px}
.library-main{display:flex;flex-direction:column;min-height:0}
.library-main>.library-search,.library-main>.library-tags,.library-main>.library-tag-tools,.library-main>.library-toolbar{flex-shrink:0}
.library-table-wrap{flex:1;min-height:120px;scrollbar-gutter:stable}
.library-table-wrap th{position:sticky;top:0;z-index:1}
.library-empty:empty,.library-empty[hidden]{display:none}

.library-status.is-busy{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid #a9dfd2;border-radius:12px;background:#e1f7ef;color:#006e5d}
.library-spinner{display:inline-block;width:28px;height:28px;flex:none;border:3px solid #a5ded2;border-top-color:#008c78;border-radius:50%;animation:library-spin 1.275s linear infinite}
@keyframes library-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.library-spinner{animation:none;border-style:dotted}}
@container(max-width:900px){.library-layout{flex-basis:480px;min-height:480px;grid-template-rows:auto minmax(280px,1fr)}}
@container(max-width:420px){.library-layout{flex-basis:700px;min-height:700px}}

.file-library-dialog footer{display:flex}

.file-library [data-selected-consultation]:disabled{cursor:default}

.library-tags button,.library-tag-results button{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:min(100%,20em)}
.library-tag-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-tags .library-tag-label{opacity:1}.library-tag-count{flex:none}
.library-edit-tag{min-width:0;max-width:min(100%,20em)}.library-edit-tag>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Keep the comment composer and NUKO status inside the scrollable mobile body. */
@media(max-width:700px){.file-library-dialog.library-viewer{overflow:hidden}.library-viewer .library-view-layout{display:block;min-height:0;overflow:auto}.library-viewer .library-preview{min-height:180px;max-height:calc(var(--workspace-viewport-height,100vh) * 0.35);margin-bottom:18px}.library-viewer .library-preview.is-fit{height:calc(var(--workspace-viewport-height,100vh) * 0.35);box-sizing:border-box}.library-viewer .library-comments{max-height:none;overflow:visible}}
.library-preview iframe.library-html-preview{min-height:400px}
@media(max-width:700px){.library-viewer .library-preview:has(.library-html-preview){height:calc(100% - 18px);max-height:none;box-sizing:border-box}}
