#attachment-list{display:grid;gap:8px;padding:0 4px}#attachment-list:empty{display:none}.attachment-upload{border:1px solid var(--border,#e6e5e3);border-radius:8px;padding:8px 12px;min-width:0}.attachment-upload>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.attachment-upload strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px}.attachment-upload small{font-size:12px;color:var(--muted,#7d7a75);overflow-wrap:anywhere}.attachment-upload progress{width:100%;height:5px;accent-color:#2783de}.attachment-upload>div:last-child{display:flex;justify-content:flex-end;gap:8px}.attachment-upload button{font-size:14px;min-height:36px}#attachment-hint{font-size:12px;color:var(--muted,#7d7a75);margin:8px 4px;line-height:1.5}#attach-files{min-height:44px;min-width:44px}.attachment-dragover{outline:2px dashed #2783de;outline-offset:4px}
@media(max-width:620px){.attachment-upload>div:first-child{flex-wrap:wrap;gap:4px}.attachment-upload strong{max-width:100%}.attachment-upload button{min-height:44px}#attachment-list{max-height:230px;overflow:auto}.composer-footer{flex-wrap:wrap}.composer-footer .model-controls{flex:1;min-width:0}.composer-footer .model-controls input{min-width:0}}

/* Flat file bundles: three compact rows, optional bounded expanded list. */
.message-files{margin-top:8px;min-width:0}.artifact-message .message-files{margin:0}.artifact-message{padding-top:4px!important;padding-bottom:4px!important}
.file-bundle{border:1px solid var(--border,#e6e5e3);border-radius:10px;background:var(--surface,#f9f8f7);min-width:0;max-width:100%;overflow:hidden;color:var(--text,#2c2c2b)}
.file-bundle-header{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px;border-bottom:1px solid var(--border,#e6e5e3);font-size:14px;line-height:20px}
.file-bundle-title{font-size:14px;font-weight:600;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-bundle-count{font-size:12px;font-weight:600;line-height:20px;min-width:22px;text-align:center;border-radius:5px;background:var(--canvas,#fff);color:var(--muted,#7d7a75);padding:0 4px}.file-bundle-total{margin-left:auto;white-space:nowrap;color:var(--muted,#7d7a75);font-size:12px}
.file-bundle-list{min-width:0}.file-bundle[data-expanded="true"] .file-bundle-list{max-height:min(360px,45dvh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.file-bundle-row+ .file-bundle-row:not([hidden]){border-top:1px solid var(--border,#e6e5e3)}
.file-bundle .chat-file-card{display:flex;align-items:center;gap:10px;min-height:54px;padding:6px 12px;margin:0;max-width:100%;min-width:0;text-decoration:none!important;color:inherit!important;box-sizing:border-box;border:0;border-radius:0;background:transparent}
.file-bundle .chat-file-card:hover{background:var(--canvas,#fff)}.file-bundle .chat-file-card:focus-visible{outline:2px solid var(--accent,#2783de);outline-offset:-2px}
.file-type{display:grid;place-items:center;width:30px;height:34px;flex:none;border:1px solid var(--border,#e6e5e3);border-radius:6px;color:var(--accent,#2783de);background:var(--canvas,#fff)}.file-type svg{width:19px;height:22px}.file-type[data-kind="image"]{color:var(--green,#46a171)}
.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.file-bundle .file-name{font-size:14px;line-height:20px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;line-height:18px;color:var(--muted,#7d7a75)}
.file-download{display:grid;place-items:center;flex:none;width:28px;height:32px;color:var(--muted,#7d7a75)}.file-download svg{width:18px;height:18px}.chat-file-card:hover .file-download{color:var(--accent,#2783de)}
.file-bundle-toggle{display:block;border:0;border-top:1px solid var(--border,#e6e5e3);border-radius:0;background:transparent;width:100%;min-height:44px;padding:8px 12px;color:var(--accent,#2783de);font-family:inherit;font-size:13px;font-weight:500;line-height:20px;cursor:pointer;text-align:left}.file-bundle-toggle:hover{background:var(--canvas,#fff)}.file-bundle-toggle:focus-visible{outline:2px solid var(--accent,#2783de);outline-offset:-2px}
@media(max-width:360px){.file-bundle-header,.file-bundle .chat-file-card{padding-left:10px;padding-right:10px}.file-bundle-header{gap:6px}.file-bundle-total{font-size:11px}.file-type{width:26px}.file-bundle .chat-file-card{gap:8px}.file-download{width:22px}}
