:root {
  --bg: #0b1220;
  --panel: #121a2b;
  --text: #e9f0ff;
  --accent: #6aa6ff;
  --danger: #ff6b6b;
  --ok: #20c997;
  --border: #24324d;
}
.wrap {
  max-width: 860px;
  margin: 48px auto;
  padding: 0 16px;
}
.uploader {
  background: var(--panel);
  border: 1px dashed var(--border);
  border-radius: 14px;
  padding: 18px;
  transition: border-color .2s, background .2s;
}
.uploader.dragover {
  border-color: var(--accent);
  background: #121f3a;
}
.hint {
  color: var(--muted);
  font-size: 13px;
  margin-top: 6px;
}
.dropzone {
  margin-top: 14px;
  padding: 16px;
  background: #0f1730;
  border: 1px dashed var(--border);
  border-radius: 10px;
  text-align: center;
  color: var(--muted);
}
.file-list {
  display: inline-flex;
  gap: 10px;
  margin-bottom:8px;
  flex-wrap: wrap;
}
.file-list:empty{
  display:none;
}
.file-item {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 10px;
  align-items: start;
  border: 1px solid var(--light-grey);
  border-radius: 14px;
  padding: 8px;
}
.file-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--lighter-grey);
  color: var(--primary-color);
  font-size: 24px;
  user-select: none;
}
.file-meta {
  overflow: hidden;
}
.file-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color:var(--text-dark-grey);
}
.file-sub {
  font-size: 10px; color: var(--muted);
}
.file-remove {
  background: var(--text-med-grey);
  border: none;
  color: #fff;
  padding: 2px 2px;
  border-radius: 12px;
  cursor: pointer;
  transition:all 0.2s ease;
  font-size:8px;
  width:16px;
}
.file-remove:hover {
  background: var(--red);
}
.actions {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
code { background:#0f1730; padding:2px 6px; border-radius:6px; border:1px solid var(--border); }
