/* Adding files: "Add a file" in the Ask panel (_intake_upload.html) and the status of each file
   added (_intake_status.html, also shown by Ask's note card). Tokens and the shared components
   only.

   .intake          the block between the thread and the question box: .intake-list (the files
                    added, newest first) and .intake-drop (the drop zone; .over while a file is
                    dragged over it)
   .intake-status   one file: .intake-line (its name and where it is; .intake-busy while it is
                    read), .intake-facts (one line per fact, each opening its source),
                    .intake-sub ("Waiting in Confirm"), .intake-failed
   .intake-refused  why nothing was added */

.intake { flex: 0 0 auto; display: flex; flex-direction: column; gap: var(--s2); padding: var(--s3) var(--s4) 0; border-top: 1px solid var(--line); background: var(--paper); }
.intake + .chat-form { border-top: 0; }
.intake-list { display: flex; flex-direction: column; gap: var(--s2); max-height: 40vh; overflow-y: auto; }
.intake-list:empty { display: none; }

.intake-drop { margin: 0; }
.intake-zone { position: relative; display: flex; align-items: center; justify-content: center; min-height: 40px; padding: var(--s2) var(--s3); border: 1px dashed var(--rule); border-radius: var(--r-sm); color: var(--acc); font-weight: 600; cursor: pointer; }
.intake-zone:hover, .intake-drop.over .intake-zone { border-color: var(--acc); background: var(--acc-soft); }
.intake-zone:focus-within { outline: 2px solid var(--acc); outline-offset: 2px; }
.intake-drop.htmx-request .intake-zone { cursor: progress; color: var(--muted); }
.intake-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; opacity: 0; }

.intake-status { padding: var(--s2) var(--s3); border-radius: var(--r-sm); background: var(--soft); overflow-wrap: anywhere; }
.intake-line { margin: 0; }
.intake-name { font-weight: 600; }
.intake-busy::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: var(--s2); border: 2px solid var(--muted); border-right-color: transparent; border-radius: 50%; vertical-align: -1px; animation: pd-spin .8s linear infinite; }
.intake-facts { list-style: none; display: flex; flex-direction: column; gap: var(--s1); margin: var(--s1) 0 0; padding: 0; }
.intake-project { color: var(--muted); white-space: nowrap; }
.intake-sub { margin: var(--s2) 0 0; font-weight: 600; }
.intake-failed { color: var(--red); }
.intake-refused { margin: 0; padding: var(--s2) var(--s3); border: 1px solid var(--red); border-radius: var(--r-sm); background: var(--red-soft); color: var(--ink); }
