/* List categories, editable item columns and personal category colors are domain data. */
.shop-lists-layout { display: grid; grid-template-columns: minmax(13rem, 18rem) minmax(0, 1fr); gap: var(--app-space); align-items: start; }
.shop-list-create-row { display: flex; align-items: end; gap: .35rem; margin-block: .4rem 1rem; }
.shop-list-create-row input { flex: 1; min-width: 0; }
.shop-list-category { display: flex; border-left: .25rem solid var(--list-color, var(--app-color-primary)); border-radius: var(--app-radius); background: color-mix(in srgb, var(--list-color, var(--app-color-primary)) 9%, var(--app-color-surface)); margin-bottom: .6rem; align-items: center; }
.shop-list-category a { display: block; flex: 1; min-width: 0; padding: .85rem; overflow-wrap: anywhere; }
.shop-list-category small, .shop-list-table small { display: block; color: var(--app-color-text-muted); font-size: .8rem; }
.shop-list-category.is-selected { box-shadow: 0 0 0 2px var(--list-color, var(--app-color-primary)); }
.shop-list-content { min-width: 0; }
.shop-list-content header { margin-bottom: var(--app-space); }
.shop-list-actions { margin-block: .75rem; }
.shop-list-table input[type="number"] { width: 5rem; }
.shop-list-table textarea { width: 12rem; min-height: 3rem; resize: vertical; }
.shop-list-table td:last-child { white-space: nowrap; }
.shop-list-image img { width: 64px; height: 64px; object-fit: contain; }
.shop-lists-dialog { width: min(32rem, calc(100vw - 2rem)); }
.shop-list-tile > ul { display: grid; gap: .75rem; margin: 0 0 1rem; padding: 0; list-style: none; }
.shop-list-tile > ul > li { display: grid; gap: .2rem; border-bottom: 1px solid var(--app-color-border); padding-bottom: .65rem; }
.shop-list-tile small { color: var(--app-color-text-muted); }
.shop-list-tile > p { margin-bottom: .65rem; }
.shop-list-tile .shop-cards { grid-template-columns: 1fr; }
@media (max-width: 800px) {
    .shop-lists-layout { grid-template-columns: 1fr; }
    .shop-lists-layout aside nav { display: flex; overflow-x: auto; gap: .6rem; padding: .2rem; }
    .shop-list-category { min-width: 12rem; }
}
