.spectra-upload { margin: 1.5em 0; padding: 1em 0; border-block: 1px solid var(--rule); }
.spectra-upload p { margin: 0.3em 0; font-size: 0.85em; color: var(--text); }
.spectra-upload input { display: block; max-width: 100%; margin-top: 0.7em; font: inherit; font-size: 0.85em; }
.spectra-upload .spectra-units { display: flex; align-items: center; gap: 0.5em; margin-top: 0.7em; font-size: 0.85em; }
.spectra-upload .spectra-units input { flex-shrink: 0; margin: 0; accent-color: var(--accent-dark); }
.spectra-upload input:focus-visible, .spectra-upload button:focus-visible { outline: 2px solid var(--accent-dark); outline-offset: 3px; }
#spectra-list { list-style: none; margin: 0; padding: 0; max-width: 40em; }
#spectra-list li { display: flex; align-items: center; gap: 1em; margin-top: 0.6em; }
#spectra-list span { min-width: 0; overflow-wrap: anywhere; flex: 1; font-size: 0.9em; }
#spectra-list button { flex-shrink: 0; padding: 0.25em 0.8em; }
#spectra-status:empty { display: none; }
#spectra-status { color: #a12a2a; }
