.publication-sort {
    box-sizing: border-box;
    margin: 1.5rem 0 2rem;
    padding: 1.1rem;
    border: 1px solid #cfc2b7;
    border-radius: .5rem;
    background: #faf7f2;
    color: #49382b;
    width: 100%;
    text-align: left;
}
.publication-sort .publication-sort-heading { margin: 0 0 .5rem; font-family: inherit; font-weight: bold; font-size: 1.1rem; }
.publication-sort p { margin: .5rem 0 1rem; font-size: .9rem; }
.publication-sort-levels { display: flex; flex-direction: column; gap: .75rem; }
.publication-sort-level { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; padding-bottom: .75rem; border-bottom: 1px solid #e4dacf; }
.publication-sort-priority { min-width: 4.5rem; padding-bottom: .5rem; font-weight: bold; }
.publication-sort label { display: flex; flex-direction: column; gap: .25rem; margin: 0; font-size: .9rem; }
.publication-sort select, .publication-sort button {
    box-sizing: border-box;
    min-height: 2.4rem;
    max-width: 100%;
    width: auto;
    margin: 0;
    padding: .4rem .65rem;
    border: 1px solid #bcae9e;
    border-radius: .3rem;
    background: white;
    color: #49382b;
    font: inherit;
}
.publication-sort button { cursor: pointer; }
.publication-sort button:disabled { opacity: .4; cursor: default; }
.publication-sort button[type="submit"] { background: #7e5434; border-color: #7e5434; color: white; }
.publication-sort-row-actions, .publication-sort-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.publication-sort-actions { margin-top: 1rem; gap: .75rem; }
.publication-sort .publication-sort-status { margin-bottom: 0; }
.publication-sort :focus-visible { outline: 2px solid #7e5434; outline-offset: 2px; }
@media (max-width: 600px) {
    .publication-sort { padding: .8rem; }
    .publication-sort-priority { width: 100%; padding: 0; }
    .publication-sort label, .publication-sort select { width: 100%; }
}
