#pretix-seating-assign .ps-position {
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 3px;
    margin-bottom: 4px;
}

#pretix-seating-assign .ps-position-active {
    border-color: #337ab7;
    background: #eef5fc;
}

#pretix-seating-assign #ps-svg circle:hover {
    opacity: 0.8;
}

#pretix-seating-pick .ps-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin: 0 0 12px;
    padding: 0;
    color: #555;
    font-size: 13px;
}

#pretix-seating-pick .ps-legend-swatch {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 4px;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 2px;
    vertical-align: -1px;
}

#pretix-seating-pick .ps-legend-swatch-outline {
    background: #fff;
    border: 2px solid #337ab7;
}

#pretix-seating-pick .ps-legend-swatch-ring {
    background: #6f8fa9;
    border: 3px solid #6f8fa9;
}

#pretix-seating-pick .ps-pick-layout {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
}

#pretix-seating-pick .ps-pick-map {
    flex: 1 1 420px;
    min-width: 280px;
}

#pretix-seating-pick #ps-svg {
    display: block;
    width: 100%;
    height: auto;
    max-height: 70vh;
    border: 1px solid #ddd;
    background: #fff;
}

#pretix-seating-pick #ps-svg circle:hover {
    opacity: 0.85;
}

#pretix-seating-pick .ps-pick-sidebar {
    flex: 0 0 260px;
    width: 260px;
}

#pretix-seating-pick .ps-pick-selected-wrap {
    max-height: 420px;
    overflow-y: auto;
    border: 1px solid #ddd;
    border-radius: 3px;
    margin-bottom: 10px;
}

#pretix-seating-pick .ps-pick-selected-table {
    width: 100%;
    margin-bottom: 0;
}

#pretix-seating-pick .ps-pick-selected-table td {
    padding: 6px 8px;
    border-bottom: 1px solid #eee;
    font-size: 13px;
    vertical-align: middle;
}

#pretix-seating-pick .ps-pick-selected-table tr:last-child td {
    border-bottom: none;
}

#pretix-seating-pick .ps-pick-selected-table td:last-child {
    width: 1%;
    text-align: right;
    white-space: nowrap;
}

#pretix-seating-pick .ps-pick-selected-table button {
    line-height: 1;
    padding: 0 4px;
}

/* The gap warning shares #ps-pick-msg with the neutral loading/error text, so
   it needs to read as a blocking problem rather than as a status line - it's
   the only thing explaining why "Continue" went dead. */
#pretix-seating-pick .ps-pick-msg-error {
    color: #a94442;
    font-weight: 600;
}
