/* Architectural stage and inspectable table seating, scoped to the booking map. */
.app-page-booking .app-map-panel{overflow:hidden}.app-page-booking .app-map-heading{background:#fff}.app-page-booking .app-map-body{padding:22px 26px 24px;background:#fcfbf9}.app-stage{display:flex;align-items:center;justify-content:center;gap:16px;max-width:610px;margin:0 auto;direction:ltr}.app-stage-center{position:relative;flex:1;height:148px;min-width:0}.app-stage-shape{display:block;width:100%;height:100%;overflow:visible}.app-stage-plinth{fill:#121211}.app-stage-deck{fill:#292926}.app-stage-edge{fill:none;stroke:#bf9a66;stroke-width:2}.app-stage-inset{fill:none;stroke:#ffffff12;stroke-width:1}.app-stage-wordmark{position:absolute;inset:21px 0 29px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;direction:rtl;color:#fff}.app-stage-wordmark>span{font:10px Arial,sans-serif;letter-spacing:4px;color:#d7bc92;margin-bottom:5px;padding-inline-start:4px}.app-stage-wordmark>strong{font-size:24px;font-weight:700;line-height:1.5}.app-stage-wordmark>i{display:block;width:32px;height:2px;background:#b79970;margin-top:7px}.app-stage-speaker{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:17px;height:65px;background:#242420;border:1px solid #121211;border-radius:4px;margin-top:-9px;flex-shrink:0}.app-stage-speaker>i{display:block;width:10px;height:18px;border-radius:3px;border:1px solid #53514a;background:repeating-linear-gradient(0deg,#34342f,#34342f 2px,#272722 2px,#272722 4px)}.app-stage-direction{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#716b64;margin:8px 0 27px}.app-stage-direction>.icon{width:12px;height:12px;transform:rotate(90deg)}
.app-map-body .floor{max-width:650px;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:18px}.app-map-body .zone-title{display:flex;justify-content:center;align-items:center;gap:8px;direction:rtl;font-size:11px;letter-spacing:0;color:#716b64;margin:0 0 22px}.app-map-body .zone-title>span{font:10px Arial,sans-serif;display:grid;place-items:center;width:22px;height:22px;border:1px solid #dfd8ce;border-radius:50%;color:#6e6252}.app-map-body .aisle{font-size:9px;letter-spacing:4px;margin-top:45px;border-color:#e7dfd4;color:#9d9385}.app-map-body .tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 12px}.app-map-body .table-btn{display:flex;align-items:center;flex-direction:column;gap:7px;min-width:44px;min-height:116px;padding:0 1px;border:0;border-radius:12px;background:transparent;color:#463c2f;box-shadow:none;line-height:1.4}.app-map-body .table-btn:before,.app-map-body .table-btn:after{display:none}.app-map-body .table-btn:hover:not(:disabled),.app-map-body .table-btn[aria-pressed=true]{border:0;background:transparent;transform:none;color:#463c2f;box-shadow:none}.app-map-body .table-btn>small{font-size:10px;line-height:1.6;color:#776c5c;display:block;margin:0;white-space:nowrap}.app-table-visual{width:94px;height:94px;max-width:100%;position:relative;display:block;flex-shrink:0;aspect-ratio:1}.app-furniture{display:block;width:100%;height:100%;overflow:visible}.app-furniture-halo{fill:transparent;stroke:transparent;stroke-width:3;transition:fill .18s,stroke .18s}.app-table-number{font:700 38px Arial,sans-serif;fill:#38312c;stroke:#f7f5f5;stroke-width:4px;paint-order:stroke fill}.app-furniture-selected-badge,.app-furniture-unavailable-badge{display:none}.app-map-body .table-btn:hover:not(:disabled) .app-furniture-halo{fill:#d6c5ad24;stroke:#b9a17e99}.app-map-body .table-btn[data-state=selected] .app-furniture-halo,.app-place-dialog[data-state=selected] .app-furniture-halo{fill:#e4584a0b;stroke:#d04437;stroke-width:4}.app-map-body .table-btn[data-state=selected] .app-furniture-selected-badge,.app-place-dialog[data-state=selected] .app-furniture-selected-badge{display:block}.app-map-body .table-btn[data-state=selected] .app-table-number,.app-place-dialog[data-state=selected] .app-table-number{fill:#a92e23}.app-map-body .table-btn[data-state=selected]>small{color:#ac3428;font-weight:700}.app-map-body .table-btn[data-state=unavailable] .app-furniture,.app-place-dialog[data-state=unavailable] .app-furniture{filter:grayscale(1);opacity:.6}.app-map-body .table-btn[data-state=unavailable] .app-furniture-unavailable-badge,.app-place-dialog[data-state=unavailable] .app-furniture-unavailable-badge{display:block}.app-map-body .table-btn[data-state=unavailable]>small{color:#79736a}
.app-map-body .table-btn:disabled{background:transparent;border:0;opacity:.55}.app-map-body .legend{margin:28px 0 24px;gap:26px;font-size:11px}.app-map-body .legend i{width:10px;height:10px;border-radius:3px}.app-map-body .legend .available{background:#e7ded0;border-color:#baaa93}.app-map-body .legend .selected{background:#d04437}.app-map-body .general-area{background:#fff}.app-map-body .app-map-hint{margin-top:20px;font-size:12px}
/* Native dialog: a centered detail card on desktop, a bottom sheet on phones. */
.app-place-open{overflow:hidden}.app-place-dialog{width:min(440px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:24px;margin:auto;border:1px solid #e7e3de;border-radius:24px;background:#fff;color:#1b1917;box-shadow:0 24px 90px #17141024;overscroll-behavior:contain}.app-place-dialog[open]{animation:app-place-in .2s ease-out}.app-place-dialog::backdrop{background:#18161272;backdrop-filter:blur(4px)}.app-place-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.app-place-dialog .app-place-close{width:44px;height:44px;border:0;background:#f4f2ef;color:#716b64;font:28px/1 Arial,sans-serif}.app-place-status{font-size:12px;font-weight:700;line-height:1.6;color:#3e6b42;background:#edf5ed;border-radius:999px;padding:6px 12px;display:inline-flex;align-items:center;gap:6px}.app-place-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.app-place-dialog[data-state=selected] .app-place-status{background:#fff1ef;color:#ac3428}.app-place-dialog[data-state=unavailable] .app-place-status{background:#f0eeeb;color:#716b64}.app-place-preview{display:flex;justify-content:center;align-items:center;margin:4px 0 16px;min-height:180px}.app-place-preview .app-table-visual{width:180px;height:180px}.app-place-preview .app-table-number{font-size:30px}.app-place-eyebrow{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 4px;font-size:11px;color:#716b64}.app-place-eyebrow>span{font:10px Arial,sans-serif;border-inline-start:1px solid #ddd5c9;padding-inline-start:8px}.app-place-dialog h2{margin:0 0 24px;text-align:center;font-size:27px;line-height:1.5}.app-place-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;border-block:1px solid #e7e3de;padding:19px 0}.app-place-facts>div+div{border-inline-start:1px solid #e7e3de;padding-inline-start:16px}.app-place-facts dt{display:flex;align-items:center;gap:6px;font-size:11px;color:#716b64;margin-bottom:7px}.app-place-facts dt>.icon{width:15px;height:15px}.app-place-facts dd{font-size:14px;line-height:1.8;font-weight:700;margin:0}.app-place-note{font-size:12px;line-height:1.9;color:#716b64;text-align:center;margin:18px 0}.app-place-price{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 18px}.app-place-price>span{font-size:13px;color:#716b64}.app-place-price>strong{font:700 24px Arial,var(--font);white-space:nowrap}.app-place-dialog .button{width:100%;min-height:50px;font-size:14px}.app-place-dialog[data-state=selected] .button{background:#fff1ef;border-color:#f0cdc6;color:#ac3428}.app-place-dialog[data-state=selected] .button:hover{background:#ffe3de}.app-place-feedback{font-size:12px;line-height:1.8;color:#a43125;margin:0 0 16px}.app-place-feedback:empty{display:none}@keyframes app-place-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1050px) and (min-width:761px){.app-page-booking .app-map-body{padding-inline:20px}.app-map-body .floor{gap:12px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}.app-map-body .tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.app-stage-center{height:135px}.app-stage{gap:12px}}
@media(max-width:760px){.app-page-booking .app-map-body{padding:20px 16px 22px}.app-stage{gap:10px}.app-stage-center{height:113px}.app-stage-speaker{width:13px;height:52px;gap:5px;border-radius:3px}.app-stage-speaker>i{width:8px;height:15px}.app-stage-wordmark{inset:15px 0 24px;gap:0}.app-stage-wordmark>span{font-size:8px;letter-spacing:3px;margin-bottom:4px}.app-stage-wordmark>strong{font-size:20px;line-height:1.5}.app-stage-wordmark>i{width:25px;margin-top:5px}.app-stage-direction{font-size:10px;margin:6px 0 26px}.app-map-body .floor{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);gap:8px}.app-map-body .zone-title{gap:5px;font-size:10px;margin-bottom:22px}.app-map-body .zone-title>span{width:19px;height:19px;font-size:9px}.app-map-body .tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 8px}.app-map-body .table-btn{min-width:44px;min-height:96px;gap:6px;padding:0}.app-table-visual{width:100%;height:auto;max-width:74px}.app-map-body .table-btn>small{font-size:9px;line-height:1.6}.app-map-body .aisle{font-size:8px;letter-spacing:4px;margin-top:40px}.app-map-body .legend{margin:25px 0 23px;gap:24px;font-size:10px}.app-map-body .app-map-hint{font-size:11px}.app-place-dialog{width:100%;max-width:100%;margin:auto 0 0;max-height:calc(100dvh - 24px);padding:18px 22px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;box-shadow:0 -10px 50px #1714101a}.app-place-dialog:before{content:'';display:block;width:34px;height:4px;border-radius:4px;background:#e1dcd5;margin:-7px auto 12px}.app-place-preview{min-height:170px;margin:0 0 12px}.app-place-preview .app-table-visual{width:170px;height:170px;max-width:none}.app-place-dialog h2{font-size:25px;margin-bottom:19px}.app-place-facts{padding-block:17px}.app-place-facts dd{font-size:13px}.app-place-facts dt{font-size:10px}.app-place-note{font-size:11px;margin:16px 0}.app-place-price{margin:18px 0}.app-place-price>strong{font-size:23px}.app-place-price>span{font-size:12px}.app-place-dialog .button{min-height:50px}}
@media(max-width:370px){.app-page-booking .app-map-body{padding-inline:14px}.app-stage{gap:8px}.app-stage-center{height:107px}.app-map-body .floor{gap:8px;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)}.app-map-body .zone-title{font-size:9px}.app-table-visual{width:100%;height:auto;max-width:68px}.app-place-dialog{padding-inline:20px}}
@media(max-height:650px){.app-place-preview{min-height:106px;margin-block:0 5px}.app-place-preview .app-table-visual{width:106px;height:106px}.app-place-dialog h2{margin-bottom:12px}.app-place-facts{padding-block:12px}.app-place-note{margin-block:12px}.app-place-price{margin-block:14px}}
@media(prefers-reduced-motion:reduce){.app-place-dialog[open]{animation:none}}
/* Reference hall proportions: 1–40 right, 41–80 left, stage below the aisle. */
.app-hall-rates{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin:0 0 16px}.app-hall-rates>span{display:flex;align-items:center;gap:7px;font-size:12px;color:#655a4b}.app-hall-rates>span>i{display:block;width:9px;height:9px;border-radius:50%;background:#b9a487}.app-hall-rates>span+span>i{background:#df8a47}.app-hall-rates b{font:700 13px Arial,var(--font);color:#38312c}.app-hall-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.app-table-picker-label{display:flex;align-items:center;gap:9px;min-width:0;font-size:12px;font-weight:700}.app-table-picker-label select{-webkit-appearance:none;appearance:none;height:44px;min-height:44px;line-height:1.5;background-image:linear-gradient(45deg,transparent 50%,#827460 50%),linear-gradient(135deg,#827460 50%,transparent 50%);background-position:14px 19px,9px 19px;background-size:5px 5px;background-repeat:no-repeat;min-width:0;max-width:230px;border:1px solid #ddd5c9;border-radius:999px;background-color:#fff;padding:8px 13px;padding-inline-end:30px;color:#554a3a;font-size:12px}.app-map-zoom{display:flex;align-items:center;gap:5px;direction:ltr;flex-shrink:0}.app-map-zoom button{min-width:44px;height:44px;border:1px solid #ded7cc;border-radius:50%;background:#fff;color:#5a4d3a;font:20px Arial,sans-serif;display:grid;place-items:center;padding:5px}.app-map-zoom button:hover{background:#f3eee5}.app-map-zoom button:disabled{opacity:.4}.app-map-zoom output{font:11px Arial,sans-serif;min-width:39px;text-align:center;color:#716b64}.app-map-zoom #app-map-fit{font:11px var(--font);border-radius:999px;padding-inline:12px;margin-inline-start:4px;min-width:55px}.app-hall-scroll{position:relative;overflow:auto;direction:ltr;width:100%;max-height:560px;border:1px solid #e8e1d6;border-radius:12px;background:#faf8f4;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c6b9a6 #f4f0e9}.app-hall-scroll:focus-visible{outline:3px solid #d04437;outline-offset:3px}.app-hall-canvas{position:relative;min-width:100%;min-height:0}.app-hall-surface{position:absolute;left:0;top:0;width:1200px;height:660px;transform-origin:top left;direction:ltr}.app-hall-blueprint{position:absolute;inset:0;width:1200px;height:660px;pointer-events:none}.app-hall-table-zone{fill:#eae4da;stroke:#cabda8;stroke-width:2}.app-hall-general-zone{fill:#fff0df;stroke:#edb583;stroke-width:2}.app-hall-blueprint pattern circle{fill:#d690554d}.app-hall-walkway{fill:#eeeae3;stroke:#cec7bb;stroke-width:2}.app-hall-walkway path{fill:none;stroke:#a79b88;stroke-width:3;stroke-dasharray:21 17}.app-hall-surface .tables{position:absolute;inset:0;display:block;max-width:none;padding:0;margin:0;pointer-events:none;direction:ltr}.app-hall-surface .tables .table-btn{position:absolute;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;pointer-events:auto;gap:0}.app-hall-surface .tables .table-btn:hover,.app-hall-surface .tables .table-btn[aria-pressed=true]{transform:translate(-50%,-50%)}.app-hall-surface .table-btn .app-table-visual{width:44px;height:44px;max-width:none}.app-hall-surface .table-btn .app-table-number{font-size:66px;stroke-width:5px}.app-hall-surface .table-btn:focus-visible{outline-width:2px;outline-offset:1px}.app-hall-zone-name{position:absolute;top:24px;width:270px;text-align:center;color:#74634b;font:700 23px/1.4 Arial,sans-serif;pointer-events:none}.app-hall-zone-name small{display:block;font:15px/1.7 var(--font);margin-top:4px}.app-hall-zone-left{left:180px}.app-hall-zone-right{right:180px}.app-general-zone-link{position:absolute;top:445px;width:175px;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff6ebf0;border:1px solid #e3b68d;border-radius:14px;color:#a65d27;padding:8px 12px}.app-general-zone-link:hover{background:#fff;border-color:#bb793e}.app-general-zone-link strong{font:700 24px/1.3 Arial,sans-serif}.app-general-zone-link span{font-size:17px;line-height:1.5}.app-general-zone-left{left:288px}.app-general-zone-right{right:288px}.app-hall-aisle-label{position:absolute;left:587px;top:525px;width:26px;text-align:center;font:10px var(--font);color:#827460}.app-hall-surface .app-stage{position:absolute;left:430px;top:548px;width:340px;height:105px;gap:12px;max-width:none;margin:0}.app-hall-surface .app-stage-center{height:100px}.app-hall-surface .app-stage-speaker{width:12px;height:45px;gap:5px}.app-hall-surface .app-stage-speaker>i{width:7px;height:12px}.app-hall-surface .app-stage-wordmark{inset:15px 0 24px;gap:0}.app-hall-surface .app-stage-wordmark>span{font-size:9px;letter-spacing:3px;margin-bottom:3px}.app-hall-surface .app-stage-wordmark>strong{font-size:23px}.app-hall-surface .app-stage-wordmark>i{margin-top:4px;width:25px}.app-hall-instruction{font-size:11px;text-align:center;color:#716b64;line-height:1.8;margin:13px 0 0}.app-page-booking .app-map-body .legend{margin-block:18px}.app-page-booking .app-map-heading{padding-block:18px}
@media(max-width:1050px){.app-hall-toolbar{align-items:stretch;flex-wrap:wrap;gap:12px}.app-table-picker-label{flex:1;min-width:210px}.app-table-picker-label select{flex:1;max-width:none}.app-map-zoom{margin-inline-start:auto}}
@media(max-width:760px){.app-page-booking .app-map-body{padding:16px 12px 20px}.app-hall-rates{gap:8px 14px;margin-bottom:15px}.app-hall-rates>span{font-size:10px;gap:5px}.app-hall-rates b{font-size:11px}.app-hall-rates>span>i{width:7px;height:7px}.app-hall-toolbar{gap:11px;margin-bottom:13px}.app-table-picker-label{flex-basis:100%;min-width:0;font-size:11px;gap:9px}.app-table-picker-label select{font-size:12px;flex:1}.app-map-zoom{margin:auto;gap:6px}.app-map-zoom button{width:44px;height:44px}.app-hall-scroll{max-height:440px;border-radius:9px}.app-hall-instruction{font-size:10px;margin-top:12px}.app-page-booking .app-map-body .general-area{padding:15px 12px;gap:12px}.app-page-booking .app-map-body .general-area small{max-width:210px;font-size:10px;line-height:1.8}}
