.pmo-root{font-family:system-ui,sans-serif;max-width:1100px;margin:0 auto;color:#2a1d1d}
.pmo-root *{box-sizing:border-box}
.pmo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.pmo-tabs button{padding:10px 16px;border:1px solid #8c1c2b;border-radius:8px;background:#fff;color:#8c1c2b;cursor:pointer;font-size:15px}
.pmo-tabs button.on{background:#8c1c2b;color:#fff}
.pmo-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}
@media(max-width:860px){.pmo-grid{grid-template-columns:1fr}}
.pmo-map{overflow-x:auto;border:1px solid #e4d9cc;border-radius:12px;padding:8px;background:#fff}
.pmo-map svg{width:100%;min-width:760px;height:auto;display:block}
.pmo-seat{cursor:pointer;stroke:#fff;stroke-width:1.5}
.pmo-seat:hover,.pmo-seat:focus{outline:none;stroke:#000;stroke-width:3}
.pmo-seat.un{fill:#d4ccc4!important;cursor:not-allowed;stroke:none}
.pmo-seat.held{fill:#f59e0b!important}
.pmo-seat.sold{fill:#8a8078!important;cursor:not-allowed}
.pmo-seat.pending{fill:#e8dfd2!important;cursor:not-allowed}
.pmo-seat.sel{fill:#111!important;stroke:#f2b71f;stroke-width:4}
.pmo-lbl{fill:#7a6b6b;font-size:15px;text-anchor:middle}
.pmo-lbl.sec{font-size:17px}
.pmo-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:#6b5d5d;margin-top:8px}
.pmo-legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-2px}
.pmo-side{border:1px solid #e4d9cc;border-radius:12px;padding:12px;background:#fff}
.pmo-side h3{margin:0 0 8px;font-size:16px}
.pmo-side ul{list-style:none;margin:0;padding:0}
.pmo-side li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #eee;font-size:14px}
.pmo-side li button{border:0;background:none;cursor:pointer;font-size:18px}
.pmo-side input{width:100%;padding:9px;margin:6px 0;border:1px solid #ccc;border-radius:6px;font-size:15px}
.pmo-total{display:flex;justify-content:space-between;font-weight:700;margin:10px 0}
.pmo-btn{width:100%;padding:12px;border:0;border-radius:8px;background:#8c1c2b;color:#fff;font-size:16px;cursor:pointer;margin-top:6px}
.pmo-btn.alt{background:#555}
.pmo-btn:disabled{opacity:.4;cursor:not-allowed}
.pmo-msg{padding:10px 12px;border-radius:8px;background:#fdf1d8;margin:10px 0;font-size:14px}
.pmo-ok{background:#dff3e4}
.pmo-err{color:#b00020;font-size:14px;margin-top:8px}
