/* ── Chat With File tool ─────────────────────────────────────────────────── */

.chat-with-file .cwf-doc-list,
.chat-with-file .cwf-session-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.chat-with-file .cwf-doc {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: .8rem 1rem;
    border: 1px solid var(--surface-border, #e5e7eb);
    border-radius: .75rem;
    background: var(--surface-alt, #fafafa);
}

.chat-with-file .cwf-doc--failed {
    border-color: rgba(220, 53, 69, .4);
    background: rgba(220, 53, 69, .05);
}

.chat-with-file .cwf-doc__icon {
    font-size: 1.6rem;
    color: var(--brand, #6366f1);
    flex-shrink: 0;
}

.chat-with-file .cwf-doc__meta {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    flex: 1;
    min-width: 0;
}

.chat-with-file .cwf-doc__name {
    font-size: .95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.chat-with-file .cwf-doc__status {
    font-size: .82rem;
    color: var(--text-muted, #6b7280);
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

.chat-with-file .cwf-doc__lang {
    border: 1px solid var(--surface-border, #e5e7eb);
}

.chat-with-file .cwf-doc__progress {
    height: .5rem;
    border-radius: 999px;
    overflow: hidden;
    display: block;
    background-color: var(--surface-border, #e5e7eb);
}

.chat-with-file .cwf-overall-progress {
    height: .65rem;
    border-radius: 999px;
    overflow: hidden;
}

.chat-with-file .cwf-dropzone-selection {
    padding: 1rem;
}

.chat-with-file .cwf-dropzone-selection__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .75rem;
}

.chat-with-file .cwf-doc-list--compact {
    border-top: 1px solid var(--surface-border, #e5e7eb);
    padding-top: .75rem;
}

.chat-with-file .cwf-doc--pending {
    background: var(--surface-alt, #fafafa);
}

.chat-with-file .cwf-doc__percent {
    flex-shrink: 0;
    min-width: 2.5rem;
    text-align: left;
}

/* Sessions history */
.chat-with-file .cwf-aside-stack {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.chat-with-file .cwf-library-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    max-height: 42vh;
    overflow-y: auto;
}

.chat-with-file .cwf-library-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .65rem .75rem;
    border: 1px solid var(--surface-border, #e5e7eb);
    border-radius: .75rem;
    background: var(--surface-alt, #fafafa);
}

.chat-with-file .cwf-library-item__main {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    flex: 1;
    min-width: 0;
}

.chat-with-file .cwf-library-item__meta {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    min-width: 0;
}

.chat-with-file .cwf-library-item__status {
    font-size: .75rem;
    color: var(--text-muted, #6b7280);
    line-height: 1.5;
}

.chat-with-file .cwf-library-item .btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.chat-with-file .cwf-session {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.chat-with-file .cwf-session__open {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .15rem;
    padding: .65rem .9rem;
    border: 1px solid var(--surface-border, #e5e7eb);
    border-radius: .75rem;
    background: transparent;
    text-align: right;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease;
}

.chat-with-file .cwf-session__open:hover {
    border-color: var(--brand, #6366f1);
    background: rgba(99, 102, 241, .05);
}

.chat-with-file .cwf-session__meta {
    font-size: .78rem;
    color: var(--text-muted, #6b7280);
}

.chat-with-file .cwf-doc__hint {
    display: block;
    line-height: 1.6;
}

.chat-with-file .cwf-uploading-alert {
    display: flex;
    align-items: center;
    gap: .5rem;
}
