body{max-width:1040px;margin:40px auto}
[hidden]{display:none!important}
.privacy{background:var(--card);border-left:3px solid var(--accent);padding:12px 16px;border-radius:4px}
.drop-zone{border:2px dashed var(--line);border-radius:12px;padding:24px;margin-top:24px}
.drop-zone.dragging{border-color:var(--accent);background:var(--card)}
.drop-zone label{display:block;margin-bottom:12px}
input,select,button{font:inherit;color:var(--fg);background:var(--bg)}
input[type=search],select,button{border:1px solid var(--line);border-radius:7px;padding:8px 10px;min-height:44px;max-width:100%}
input[type=file]{max-width:100%;font-size:16px}
input[type=file]::file-selector-button{font:inherit;padding:8px 12px;cursor:pointer}
button{cursor:pointer;background:var(--card)}
button:hover{border-color:var(--accent)}
button:disabled{opacity:.5;cursor:default}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;background:var(--card);padding:18px;border-radius:12px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:15px;min-width:120px;max-width:100%}
.filters .search{flex:1 1 280px}
.filters .check{flex-direction:row;align-items:center;flex:1 1 100%;gap:8px;min-height:36px}
.check input{width:18px;height:18px}
select{max-width:280px;width:100%}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
progress{width:100%;height:16px}
#error{border-left:3px solid var(--accent);padding:12px;background:var(--card);overflow-wrap:anywhere}
.table-wrap{overflow-x:auto;margin:16px 0}
table{min-width:580px;table-layout:fixed}
th:first-child{width:46%}
td,th{overflow-wrap:anywhere}
.chat-link{background:none;border:0;color:var(--accent);text-align:left;text-decoration:underline;padding:0;min-height:44px}
.chat-tags{display:block;font-size:13px;color:var(--muted)}
#chat{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:12px}
#chat-title{margin-top:0;overflow-wrap:anywhere}
.message{border-top:1px solid var(--line);padding:18px 0}
.message h3{font-size:15px;margin:0 0 8px;color:var(--muted)}
.message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.note{background:var(--card);padding:12px;border-radius:8px}
article{max-width:680px;margin-top:48px}
.cleanup{margin-top:40px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:600px){body{margin:24px auto;padding:0 16px}h1{font-size:28px}.drop-zone,#chat{padding:16px}.filters label{flex:1 1 120px}select{max-width:100%}}
