.root { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; gap: 16px; } .titleRow { display: flex; align-items: center; justify-content: space-between; } .root h2 { font-size: 1.25rem; font-weight: 600; } .clearCorpusBtn { background: transparent; color: var(--error); border: 1px solid var(--error); font-size: .82rem; padding: 5px 14px; } .clearCorpusBtn:hover:not(:disabled) { background: #fef2f2; } .clearCorpusBtn:disabled { opacity: .5; cursor: not-allowed; } .hint { font-size: .85rem; color: var(--muted); margin-top: -10px; } .corpusSection { display: flex; flex-direction: column; gap: 8px; } .corpusLabel { font-size: .82rem; font-weight: 600; color: var(--muted); text-transform: uppercase; letter-spacing: .5px; } .categoryInput { max-width: 300px; } .dropzone { border: 2px dashed var(--border); border-radius: var(--radius); padding: 40px; text-align: center; cursor: pointer; color: var(--muted); transition: border-color .15s, background .15s; user-select: none; } .dropzone:hover, .dragging { border-color: var(--primary); background: #eff6ff; } .list { list-style: none; display: flex; flex-direction: column; gap: 8px; } .item { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); } .filename { flex: 1; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .badge { font-size: .8rem; font-weight: 500; white-space: nowrap; } .deleteBtn { background: transparent; color: var(--muted); font-size: .85rem; padding: 2px 8px; border-radius: 4px; border: 1px solid transparent; flex-shrink: 0; line-height: 1; } .deleteBtn:hover:not(:disabled) { color: var(--error); border-color: var(--error); background: #fef2f2; } .deleteBtn:disabled { opacity: .4; cursor: not-allowed; } .item[data-state='uploading'] .badge { color: var(--muted); } .item[data-state='polling'] .badge { color: var(--warning); } .item[data-state='done'] .badge { color: var(--success); } .item[data-state='failed'] .badge { color: var(--error); }