.hall-svg { width: 100%; height: 100%; background: #10161f; border-radius: 16px; display: block; }
.hall-svg--edit { background:
  linear-gradient(#1a2230 1px, transparent 1px) 0 0 / 32px 32px,
  linear-gradient(90deg, #1a2230 1px, transparent 1px) 0 0 / 32px 32px,
  #0e141d; cursor: crosshair; }

.hall-room rect { fill: #171e28; stroke: none; }
.hall-room.on rect { fill: #1c2838; stroke: #3d8bff; stroke-width: 1.5; }
.hall-room__name { fill: #6b7380; font-size: 13px; font-weight: 700; font-family: Inter, system-ui, sans-serif; pointer-events: none; }

.hall-wall__line { stroke: #c9d0db; stroke-linecap: square; }
.hall-wall__hit { stroke: transparent; stroke-width: 14; stroke-linecap: round; }
.hall-wall.on .hall-wall__line { stroke: #3d8bff; }

.hall-door__gap { stroke: #10161f; stroke-width: 12; stroke-linecap: butt; }
.hall-door__swing { fill: none; stroke: #8b93a3; stroke-width: 1.6; }
.hall-door__leaf { stroke: #e8edf5; stroke-width: 2.6; stroke-linecap: round; }
.hall-door.on .hall-door__leaf { stroke: #3d8bff; }

.hall-label { fill: #8b93a3; font-size: 16px; font-weight: 700; font-family: Inter, system-ui, sans-serif; }
.hall-label.on { fill: #3d8bff; }

.hall-seat { cursor: pointer; }
.hall-seat rect { stroke: #071018; stroke-width: 1; }
.hall-seat__n { fill: #071018; font-size: 9px; font-weight: 800; font-family: Inter, system-ui, sans-serif; text-anchor: middle; pointer-events: none; }
.hall-seat.free rect { fill: #2ee6c5; }
.hall-seat.busy rect { fill: #ff5b5b; }
.hall-seat.hold rect { fill: #f5c542; }
.hall-seat.off rect { fill: #0a0c10; stroke: #3a414c; }
.hall-seat.off .hall-seat__n { fill: #9aa3b0; }
.hall-seat.idle rect { fill: #5a6472; }
.hall-seat.on rect { stroke: #fff; stroke-width: 2; }

.hall-draft { fill: rgba(61, 139, 255, .18); stroke: #3d8bff; stroke-width: 1.5; stroke-dasharray: 6 4; }
.hall-draft-line { stroke: #3d8bff; stroke-width: 6; stroke-linecap: square; stroke-dasharray: 8 6; }

.hall-editor { display: grid; gap: 12px; }
.hall-editor__tools { display: flex; gap: 8px; flex-wrap: wrap; }
.hall-editor__tools button { height: 36px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--border-2, #25282d); background: var(--card-2, #141618); color: inherit; font-weight: 600; cursor: pointer; }
.hall-editor__tools button.on { background: #3d8bff; border-color: #3d8bff; color: #fff; }
.hall-editor__thick { display: flex; align-items: center; gap: 8px; color: var(--muted, #9da0a6); font-size: 13px; }
.hall-editor__thick input { width: 64px; height: 36px; border-radius: 10px; border: 1px solid var(--border-2, #25282d); background: var(--card, #101113); color: inherit; padding: 0 8px; }
.hall-editor__canvas { min-height: 560px; border: 1px solid var(--border, #1e2023); border-radius: 16px; overflow: hidden; }
.hall-editor__info { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.hall-editor__info label { display: flex; gap: 6px; align-items: center; color: var(--muted, #9da0a6); font-size: 13px; }
.hall-editor__info input, .hall-editor__info select { height: 34px; border-radius: 8px; border: 1px solid var(--border-2, #25282d); background: var(--card, #101113); color: inherit; padding: 0 8px; }

.hall-chip { font-size: 12px; font-weight: 700; padding: 4px 8px; border-radius: 999px; }
.hall-chip--free { background: #163528; color: #2ee6c5; }
.hall-chip--busy { background: #3a1b1b; color: #ff5b5b; }
.hall-chip--hold { background: #3a3214; color: #f5c542; }
.hall-chip--off { background: #111; color: #c5ccd6; }
.hall-chip--idle { background: #222; color: #9da0a6; }

.hall-legend { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 13px; color: var(--muted, #9da0a6); }
.hall-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.hall-legend .lg-free { background: #2ee6c5; }
.hall-legend .lg-busy { background: #ff5b5b; }
.hall-legend .lg-hold { background: #f5c542; }
.hall-legend .lg-off { background: #0a0c10; box-shadow: inset 0 0 0 1px #3a414c; }
