/* Custom cover-upload control.
 *
 * Shared by the two surfaces that render it: the record editor's cover pane
 * (_cover_editor_body.html) and the edition dossier's cover selector
 * (_edition_dossier_body.html, which also renders into the search and shelf
 * detail modals).
 *
 * Deliberately NOT folded into cover_editor.css: that file is @imported by the
 * site.css entrypoint, so it is render-blocking on every page, while this
 * control only ever renders for `cover.upload` holders on a handful of routes.
 * Route-scoping it keeps the global sheet flat (the same reason b512da335 moved
 * these rules out of cover_editor.css in the first place) without leaving two
 * copies to drift apart. Loaded by the record editor via its own <link>, and by
 * the dossier surfaces via the edition_surface_styles / shelf_styles bundles.
 *
 * Tokens only, no raw hex -- pinned by
 * tests/test_cover_editor_upload_markup.py.
 */

.cover-editor-upload {
  margin-top: .5rem;
  padding-top: .5rem;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: .3rem;
}

.cover-editor-upload-label {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  font-size: .78rem;
  color: var(--text-muted);
}

.cover-editor-upload-input {
  font-size: .78rem;
  color: var(--text);
}

.cover-editor-upload-input:disabled {
  opacity: .5;
  cursor: default;
}

.cover-editor-upload-busy {
  font-size: .78rem;
  color: var(--text-muted);
}

.cover-editor-upload-error {
  font-size: .78rem;
  color: var(--danger);
}
