.hall-assembly-tabs{display:flex;justify-content:center;gap:3px;margin:0 auto 10px;width:max-content;background:#f4f6fa;border:1px solid #e3e8ef;border-radius:12px;padding:3px}
.hall-assembly-tabs button{border:0;border-radius:9px;padding:8px 16px;color:#687b94;background:transparent;font:inherit;cursor:pointer}.hall-assembly-tabs button.active{background:#fff;color:#175fea;box-shadow:0 2px 6px #16365712}
.hall-container .hall-stage.is-smart-assembly{width:min(880px,calc(100% - 40px));left:50%;bottom:3%;padding:16px 20px;border-radius:22px;transform:translateX(-50%);max-height:65%;overflow:auto;scrollbar-gutter:stable}
.hall-stage.is-smart-assembly>:is(.hall-stage-head,.hall-mode-select,.hall-stage-slots,.hall-stage-actions){display:none}
.hall-assembly[hidden]{display:none}.hall-assembly{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:20px;color:#203956;text-align:left;font-size:12px}.hall-assembly label{font-size:11px;color:#62748b}.assembly-composer>label{display:block;margin-bottom:8px;font-weight:600}
.hall-assembly :is(textarea,input,select){font:inherit;border:1px solid #dde5ef;border-radius:8px;background:#fff;color:#203956;padding:8px;box-sizing:border-box;min-width:0}.hall-assembly textarea{width:100%;resize:vertical;min-height:94px;line-height:1.8}.hall-assembly textarea::placeholder{color:#8694a7}.hall-assembly button{font:inherit;cursor:pointer;border:1px solid #dce5f0;border-radius:7px;padding:6px 9px;background:#fff;color:#365b8b}.hall-assembly button:disabled{opacity:.5;cursor:default}.hall-assembly button.hall-btn-primary{background:#175fea;color:#fff;border-color:#175fea}
.assembly-options{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0}.assembly-options label{display:flex;gap:6px;align-items:center}.assembly-focus{display:flex;gap:6px;flex-wrap:wrap}.assembly-focus>button{background:#f0f5fc;border-color:#e0e9f5;font-size:10px}.assembly-add-focus{display:flex;gap:4px}.assembly-add-focus input{width:100px;font-size:10px}.assembly-feedback{font-size:11px;line-height:1.7;color:#587391;min-height:18px}.assembly-result{border-left:1px solid #e3e7ed;padding-left:16px;min-width:0}.assembly-result header{display:flex;justify-content:space-between;gap:10px}.assembly-result header span{font-size:10px;color:#8090a3}.assembly-understood{font-size:11px;line-height:1.7;color:#537397}
.assembly-participants{list-style:none;padding:0;margin:10px 0}.assembly-participants li{display:flex;align-items:center;gap:8px;border-top:1px solid #e9edf3;padding:8px 0;cursor:grab}.assembly-participants li>div:nth-child(2){flex:1;min-width:0}.assembly-participants strong{font-size:11px}.assembly-participants small{display:block;line-height:1.6;color:#7b8ba1;font-size:10px;margin-top:3px}.assembly-number{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:#edf3fd;color:#3065b1;font-size:10px}.assembly-adjust{display:flex;gap:2px}.assembly-adjust button{padding:3px;font-size:10px}.assembly-picker{display:flex;gap:5px}.assembly-picker select{flex:1;width:0;font-size:10px}.assembly-picker button{font-size:10px}.assembly-why{margin:10px 0;font-size:10px;line-height:1.7;color:#647993}.assembly-why summary{cursor:pointer;font-weight:600;color:#37577e}.assembly-why p{margin:6px 0}.assembly-result footer{display:flex;justify-content:flex-end;gap:8px}.assembly-missing{font-size:11px;color:#93642c}.assembly-empty{padding:20px 0;line-height:1.9;color:#627893}
.hall-container .hall-label.is-recommended{outline:2px solid #789dcc;outline-offset:2px;box-shadow:0 3px 12px #17385718}.hall-recommended-role{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);padding:2px 7px;background:#f8f5ec;border:1px solid #d8c69f;border-radius:5px;color:#806735;font-size:10px;line-height:16px;white-space:nowrap;pointer-events:none}
.hall-2d-seat.is-recommended{outline:2px solid #789dcc;outline-offset:2px}
@media(min-width:1024px){.hall-container .hall-stage.is-smart-assembly{max-height:340px;width:min(980px,calc(100% - 40px));bottom:16px}.assembly-result{max-height:265px;overflow:auto;padding-right:6px}.assembly-participants li{padding:5px 0}.assembly-result footer{position:sticky;bottom:0;background:#faf8f3;padding:8px 0}}
@media(max-width:850px){.hall-assembly{grid-template-columns:1fr}.assembly-result{border-left:0;border-top:1px solid #e3e7ed;padding:12px 0 0}.hall-container .hall-stage.is-smart-assembly{max-height:70%;width:calc(100% - 20px);padding:12px}.assembly-options{gap:6px}}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly){width:min(500px,calc(100% - 32px));padding:12px 22px 14px;bottom:3%;box-sizing:border-box;transform:translateX(-50%);border-radius:24px 24px 18px 18px}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-stage-head b{font-size:17px}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-stage-slots{margin:8px 0 0;gap:10px}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-slot{height:44px;min-width:0}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-stage-slots:not(.is-debate-selection) .hall-slot.empty{width:100%;max-width:44px;aspect-ratio:1;height:auto;justify-self:center}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-stage-actions{margin-top:8px}
.hall-container:not(.is-2d) .hall-stage:not(.is-smart-assembly) .hall-stage-actions .hall-btn{height:32px}
.hall-stage:not(.is-smart-assembly) .hall-assembly-tabs{margin-bottom:6px}
.hall-stage:not(.is-smart-assembly) .hall-assembly-tabs button{padding:5px 14px}
.hall-stage:not(.is-smart-assembly) .hall-mode-select{margin:5px 0}
.hall-browser-controls .hall-filter-chip[data-filter]{background:var(--cat-color,#294b70);border-color:var(--cat-color,#294b70);color:#fff;box-shadow:inset 0 1px 0 #ffffff20}
.hall-browser-controls .hall-filter-chip[data-filter] i{color:#fff;opacity:.85}
.hall-browser-controls .hall-filter-chip[data-filter]::before{background:#fff;opacity:.8}
.hall-browser-controls .hall-filter-chip[data-filter].active{outline:2px solid var(--cat-color,#294b70);outline-offset:3px;box-shadow:0 3px 9px #20364e20}
.hall-container:not(.is-2d) .hall-label{background:var(--cat-color,#294b70);color:#fff;border:1px solid #ffffff80;border-left:3px solid #c9b383;border-radius:6px;box-shadow:0 3px 8px #152c4324,inset 0 1px 0 #ffffff22;font-weight:600;letter-spacing:.015em}
.hall-container:not(.is-2d) .hall-label .hall-label-name{color:#fff}
.hall-container:not(.is-2d) .hall-label:hover{filter:brightness(1.1)}
