/* bizeview V1.0.4 media pipeline, viewer, export and map viewport */
:root{--media-stage:#111725}
small,.micro{font-size:max(12px,.75rem)}
.feed-media-wrap,.feed-media-open,.carousel-media-open,.carousel-media-shell{position:relative;display:block;width:100%;min-width:0}
.feed-media-open,.carousel-media-open,.carousel-photo[role=button],button.carousel-photo{appearance:none;padding:0;border:0;background:#fff;color:inherit;text-align:inherit;cursor:pointer}
.feed-media{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff}
.feed-media-open{border-radius:0;overflow:hidden}
.media-expand{position:absolute;z-index:3;right:12px;top:12px;width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(17,23,37,.72);color:#fff;backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.media-expand:hover{background:var(--brand-red);transform:translateY(-1px)}
.carousel-media-shell{height:150px;background:#fff;border-radius:10px;overflow:hidden}
.carousel-media,.carousel-media-open{width:100%;height:150px;object-fit:contain;background:#fff;border-radius:10px}
.carousel-media-open img{display:block}
.carousel-photo{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#fff}
.mini-map[hidden]{display:none}
.mini-map{overflow:hidden;border:2px solid #fff;border-radius:7px;background-color:#eef2f6;background-position:center;background-repeat:no-repeat;background-size:contain;box-shadow:0 8px 24px rgba(17,23,37,.24)}
.mini-map-viewport{position:absolute;display:block;min-width:8px;min-height:8px;border:2px solid #d10b2f;background:rgba(209,11,47,.08);box-shadow:0 0 0 1px rgba(255,255,255,.8) inset;pointer-events:none}
body.media-viewer-open{overflow:hidden}
.media-viewer[hidden]{display:none}
.media-viewer{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:3vh 3vw}
.media-viewer-backdrop{position:absolute;inset:0;background:rgba(7,10,18,.82);backdrop-filter:blur(10px)}
.media-viewer-dialog{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,380px);grid-template-rows:minmax(0,1fr);width:min(1500px,96vw);height:min(900px,94vh);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:var(--media-stage);box-shadow:0 28px 90px rgba(0,0,0,.5)}
.media-viewer-stage{position:relative;display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,#26334c 0,#111725 62%,#090d16 100%)}
.media-viewer-stage .loading{color:#fff}
.media-viewer-content{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:transparent}
.media-viewer-empty{display:grid;place-items:center;color:#fff}
.media-viewer-panel{min-width:0;overflow:auto;padding:28px 24px 24px;background:#fff;color:var(--ink);overscroll-behavior:contain}
.media-viewer-heading{padding-right:24px}
.media-viewer-heading h2{margin:4px 0 8px;font-size:23px;line-height:1.25}
.media-viewer-heading p{white-space:pre-wrap}
.media-viewer-stats{display:flex;gap:12px;flex-wrap:wrap;padding:12px 0;border-block:1px solid var(--line);color:var(--muted);font-size:12px}
.media-viewer-actions{display:flex;gap:8px;padding:12px 0}
.media-viewer-action{display:grid;grid-template-columns:24px auto;place-items:center;gap:5px;min-width:42px;min-height:42px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--muted)}
.media-viewer-action.active{border-color:rgba(193,13,43,.28);background:var(--brand-red-soft);color:var(--brand-red)}
.media-viewer-action .ui-icon{width:21px;height:21px}
.media-viewer-action span:not(.ui-icon){font-size:12px;font-weight:800}
.media-viewer-comments h3{margin:4px 0 8px;font-size:16px}
.media-viewer-comments>[data-media-comments]{display:grid;gap:7px;max-height:230px;overflow:auto}
.media-viewer-comments article{padding:8px 10px;border-radius:10px;background:#f5f7fa}
.media-viewer-comments article b{font-size:12px}
.media-viewer-comments article p{margin:3px 0 0;white-space:pre-wrap}
.media-viewer-comments form{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px;margin-top:9px}
.media-viewer-comments input{min-width:0;height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit}
.media-viewer-comments button{display:grid;place-items:center;border:0;border-radius:10px;background:var(--brand-red);color:#fff}
.media-viewer-related{margin-top:16px}
.media-viewer-related>span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px}
.media-viewer-related>div{display:flex;gap:7px;overflow:auto;padding-bottom:4px}
.media-viewer-related button{flex:0 0 66px;width:66px;height:45px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#eef2f5}
.media-viewer-related button.active{border-color:var(--brand-red)}
.media-viewer-related img{width:100%;height:100%;object-fit:contain;background:#fff}
.media-viewer-close,.media-viewer-nav{position:absolute;z-index:4;display:grid;place-items:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(10,14,24,.68);color:#fff;backdrop-filter:blur(8px)}
.media-viewer-close{right:392px;top:14px;width:42px;height:42px}
.media-viewer-nav{top:50%;width:46px;height:46px;transform:translateY(-50%)}
.media-viewer-nav.previous{left:14px}
.media-viewer-nav.next{right:394px}
.media-viewer-nav:disabled{display:none}
.exhibition-export-panel{display:grid;gap:12px}
.exhibition-export-panel[hidden]{display:none}
.export-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr));margin:0}
.export-part-list{display:grid;gap:8px}
.export-part-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.export-part-card>div{display:grid;gap:2px}
.export-part-card small{color:var(--muted)}
.admin-photo-tools{display:grid;gap:14px;margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#f8fafc,#fff)}
.admin-photo-tools h2{margin:3px 0 5px}
.admin-photo-edit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-photo-edit-form .wide,.admin-photo-edit-form .button{grid-column:1/-1}
.admin-photo-edit-form .check{display:flex;align-items:center;gap:7px;min-height:40px}
.admin-record-media img{object-fit:contain;background:#fff}
@media(max-width:900px){
  .media-viewer{padding:0}
  .media-viewer-dialog{grid-template-columns:1fr;grid-template-rows:minmax(42vh,58vh) minmax(0,1fr);width:100vw;height:100dvh;border:0;border-radius:0}
  .media-viewer-panel{padding:20px 16px}
  .media-viewer-close{right:12px;top:12px}
  .media-viewer-nav.next{right:12px}
  .media-viewer-nav.previous{left:12px}
  .admin-photo-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .media-viewer-dialog{grid-template-rows:minmax(38vh,50vh) minmax(0,1fr)}
  .media-viewer-heading h2{font-size:19px}
  .media-viewer-panel{padding:16px 12px}
  .export-summary-grid,.admin-photo-edit-form{grid-template-columns:1fr}
  .admin-photo-edit-form .wide,.admin-photo-edit-form .button{grid-column:auto}
  .export-part-card{grid-template-columns:36px minmax(0,1fr)}
  .export-part-card .button{grid-column:1/-1}
}
/* linked media context, exhibition managers, topics and adaptive guidance */
.media-context-link{color:inherit;text-decoration:none;text-underline-offset:3px}
.media-context-link:hover,.media-context-link:focus-visible{color:var(--brand-red);text-decoration:underline}
.media-viewer-heading .admin-eyebrow a{color:var(--brand-blue);font-weight:800}
.media-viewer-heading h2 a{color:var(--ink)}
.carousel-context{display:grid;gap:2px;margin-top:7px;font-size:12px}
.carousel-context a:first-child{font-weight:800}
.exhibition-manager-editor{display:grid;gap:12px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}
.exhibition-manager-editor[hidden]{display:none}
.exhibition-manager-search-results,.exhibition-manager-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}
.exhibition-manager-result,.exhibition-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:58px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}
.exhibition-manager-row{grid-template-columns:38px minmax(0,1fr) auto}
.exhibition-manager-row img,.exhibition-manager-row>.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover}
.exhibition-manager-result span,.exhibition-manager-row>span:not(.avatar){display:grid;gap:2px;min-width:0}
.exhibition-manager-result small,.exhibition-manager-row small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.exhibition-manager-result:hover:not(:disabled){border-color:var(--brand-blue);box-shadow:0 5px 16px rgba(14,110,184,.1)}
.exhibition-manager-result:disabled{cursor:default;opacity:.68}
.browse-guide{min-height:0}
.browse-tip-list{display:grid;gap:7px;margin:0;padding-left:18px}
.browse-tip-list li{font-size:12px;line-height:1.45}
.hot-topic-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.hot-topic-list a{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;color:var(--ink);text-decoration:none}
.hot-topic-list a:hover{background:var(--brand-red-soft);color:var(--brand-red)}
.hot-topic-list small{min-width:24px;color:var(--muted);font-size:12px;text-align:right}
.topic-media-section{margin-top:24px}
.topic-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.topic-media-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(19,24,43,.06)}
.topic-media-card>button{display:block;width:100%;height:180px;padding:0;overflow:hidden;border:0;background:#f4f6f8}
.topic-media-card>button img,.topic-media-sprite{display:block;width:100%;height:100%;object-fit:contain;background:#fff;background-position:center;background-repeat:no-repeat;background-size:contain}
.topic-media-card>div{display:grid;gap:4px;padding:11px}
.topic-media-card>div>a:first-child{font-weight:800}
.topic-media-card p{display:-webkit-box;overflow:hidden;margin:3px 0;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.topic-media-card small{font-size:12px;color:var(--muted)}
.hashtag-link{color:#0e6eb8;font-weight:800;text-decoration:none}.hashtag-link:hover,.hashtag-link:focus{text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.exhibition-manager-search-results,.exhibition-manager-list,.topic-media-grid{grid-template-columns:1fr}.topic-media-card>button{height:160px}}
/* V1.0.4 safety, expiry, QR and compact guidance update */
.feed-layout>aside.stack{align-self:start;align-content:start;grid-auto-rows:max-content}
.feed-layout>aside .side-card{height:max-content;min-height:0}
.feed-actions{grid-template-columns:repeat(6,minmax(0,1fr))}
.capacity-guide-warning{margin-bottom:9px;padding:9px 10px;border:1px solid #e6b8bd;border-left:4px solid var(--brand-red);border-radius:9px;background:var(--brand-red-soft);color:#7f1220;font-size:12px;line-height:1.45}
.identifier-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.identifier-field .identifier-status{grid-column:1/-1;font-size:12px}
.identifier-status[data-state="available"]{color:#117245;font-weight:700}
.identifier-status[data-state="error"]{color:var(--brand-red);font-weight:700}
.identifier-status[data-state="locked"]{color:var(--brand-blue);font-weight:700}
.bilingual-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bilingual-long-fields{display:grid;grid-template-columns:1fr;gap:12px}
.protected-period-fields .protected-field-note{grid-column:1/-1;margin:0;font-size:12px}
.exhibition-basic-form input:disabled{background:#f0f2f5;color:#596275;cursor:not-allowed}
.moderation-panel{display:grid;gap:14px}
.moderation-panel[hidden]{display:none}
.expiration-review{display:grid;gap:10px}
.expiration-action-form{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.expiration-action-form textarea{min-height:44px;height:44px}
.moderation-filter{display:grid;grid-template-columns:minmax(220px,1fr) 150px 120px auto;gap:9px;align-items:end}
.report-management-list{display:grid;gap:8px}
.report-management-row{display:grid;grid-template-columns:68px minmax(0,1fr) minmax(260px,360px);gap:11px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}
.report-management-row>a img,.report-management-row>.admin-result-icon{width:68px;height:68px;object-fit:contain;border-radius:10px;background:#f3f5f8}
.report-management-copy{min-width:0}.report-management-copy p{margin:4px 0}.report-management-copy small{font-size:12px;color:var(--muted)}.report-details{padding:7px;border-radius:7px;background:#f6f7fa}
.report-management-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.report-management-actions textarea,.report-management-actions button{grid-column:1/-1}.report-management-actions textarea{min-height:58px;padding:7px;border:1px solid var(--line);border-radius:8px}
.report-dialog-backdrop{position:absolute;inset:0}.report-dialog .dialog-card,.booth-qr-dialog .dialog-card{position:relative;z-index:1}.report-dialog-actions{justify-content:flex-end}
.media-viewer-comments article>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.comment-report-button{width:30px!important;height:30px!important;border:0!important;background:transparent!important;color:var(--muted)!important}.comment-report-button:hover{color:var(--brand-red)!important;background:var(--brand-red-soft)!important}
.notification-settings-panel,.notification-center-panel{grid-column:1/-1}.notification-preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.notification-master{padding-bottom:10px;border-bottom:1px solid var(--line);font-weight:800}.notification-list{display:grid;gap:8px}.notification-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.notification-item.unread{border-left:4px solid var(--brand-red);background:#fff9fa}.notification-item p{margin:3px 0}.notification-item small{font-size:12px;color:var(--muted)}
.qr-toolbar{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}.booth-qr-preview{position:relative;display:grid;place-items:center;min-height:360px;margin:12px 0;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#eef1f6}.booth-qr-preview img{display:block;width:min(100%,520px);height:auto;background:#fff;box-shadow:0 10px 28px rgba(19,24,43,.12)}.booth-qr-preview img.loading-image{opacity:.25}.booth-qr-preview .loading{position:absolute;z-index:2}.qr-actions{justify-content:flex-end}.booth-qr-dialog:fullscreen,.booth-qr-preview img:fullscreen{background:#fff;object-fit:contain;width:100vw;height:100vh}
.public-booth-qr{display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.public-booth-qr-thumb{display:block;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 5px 14px rgba(19,24,43,.08)}.public-booth-qr-thumb img{display:block;width:100%;height:auto;aspect-ratio:2480/3508;object-fit:cover}.public-booth-qr h4{margin:0 0 3px;font-size:1rem}.public-booth-qr p{margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.45}.public-booth-qr .button{padding:7px 10px}
.map-booth-label{display:grid;justify-items:center;align-content:center;gap:3px;width:100%;max-width:100%;min-width:0;line-height:1.1}.map-booth-code{display:inline-flex;max-width:100%;padding:2px 6px;overflow:hidden;border-radius:4px;background:var(--brand-blue-deep,#084e59);color:#fff;font-size:max(12px,.86em);font-weight:900;letter-spacing:.025em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.map-booth-name{display:block;width:100%;max-height:2.3em;padding:1px 2px;overflow:hidden;color:inherit;font-weight:800;line-height:1.12}.map-booth.public .map-booth-code{background:#825700}.map-booth.selected .map-booth-code{background:var(--brand-red,#c30e23)}
@media(max-width:760px){.bilingual-fields,.moderation-filter,.expiration-action-form,.report-management-row,.qr-toolbar{grid-template-columns:1fr}.report-management-actions{grid-column:1/-1}.feed-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.identifier-field{grid-template-columns:1fr}.identifier-field .identifier-status{grid-column:auto}.notification-preference-grid{grid-template-columns:1fr}.notification-item{grid-template-columns:36px minmax(0,1fr)}.notification-item .button{grid-column:1/-1}.booth-qr-preview{min-height:280px}}
/* V1.0.4 展位頁、地標模式與展位編輯器 */
.map-booth{border-width:1px;border-color:var(--booth-color,var(--brand-blue));background:color-mix(in srgb,var(--booth-color,var(--brand-blue)) 12%,transparent);color:color-mix(in srgb,var(--booth-color,var(--brand-blue)) 72%,#10182c);transform:rotate(var(--rotation,0deg))}.map-booth.public{border-color:var(--booth-color,var(--brand-orange));background:color-mix(in srgb,var(--booth-color,var(--brand-orange)) 12%,transparent);color:color-mix(in srgb,var(--booth-color,var(--brand-orange)) 72%,#21180a);border-radius:4px}.map-booth-code{background:var(--booth-color,var(--brand-blue-deep))}.map-landmark-pin,.map-landmark-popover{display:none}.floor-canvas.landmark-mode .map-booth.landmark{left:calc(var(--x)*1%);top:calc(var(--y)*1%);z-index:2;display:flex;width:auto;height:auto;min-width:34px;min-height:34px;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;color:var(--booth-color,var(--brand-blue));transform:translate(-50%,-50%)}.floor-canvas.landmark-mode .map-booth.landmark:hover,.floor-canvas.landmark-mode .map-booth.landmark:focus-visible{z-index:30}.floor-canvas.landmark-mode .map-landmark-pin{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border:2px solid #fff;border-radius:50% 50% 50% 8px;background:var(--booth-color,var(--brand-blue));color:#fff;box-shadow:0 3px 10px rgba(20,30,50,.24);transform:rotate(-45deg)}.floor-canvas.landmark-mode .map-landmark-pin .ui-icon{width:17px;height:17px;transform:rotate(45deg)}.floor-canvas.landmark-mode .map-booth.landmark .map-booth-label{position:absolute;left:38px;top:50%;display:flex;width:max-content;max-width:150px;align-items:center;justify-content:flex-start;gap:4px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--booth-color,var(--brand-blue)) 28%,#fff);border-radius:6px;background:rgba(255,255,255,.94);box-shadow:0 2px 8px rgba(20,30,50,.12);transform:translateY(-50%)}.floor-canvas.landmark-mode .map-booth.landmark .map-booth-name{max-width:92px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.floor-canvas.landmark-mode .map-booth.landmark .map-booth-code{padding:2px 5px;background:var(--booth-color,var(--brand-blue))}.floor-canvas.landmark-mode .map-booth.landmark.label-colliding .map-booth-label{left:27px;padding:2px}.floor-canvas.landmark-mode .map-booth.landmark.label-colliding .map-booth-name{display:none}.floor-canvas.landmark-mode .map-landmark-popover{position:absolute;left:22px;bottom:28px;z-index:40;width:max-content;max-width:230px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 10px 28px rgba(20,30,50,.22)}.floor-canvas.landmark-mode .map-booth.landmark:hover .map-landmark-popover,.floor-canvas.landmark-mode .map-booth.landmark:focus-visible .map-landmark-popover{display:grid;gap:5px}.map-landmark-popover small{display:flex;align-items:center;gap:4px;color:var(--muted)}.map-landmark-popover .ui-icon{width:15px;height:15px}
.booth-page{display:grid;gap:18px}.booth-page-hero{min-height:260px;display:flex;align-items:flex-end;padding:32px;border-radius:22px;background:linear-gradient(105deg,rgba(10,20,40,.9),rgba(14,110,184,.45)),var(--booth-banner),linear-gradient(135deg,#25223e,#0e6eb8);background-position:center;background-size:cover;color:#fff;box-shadow:var(--shadow)}.booth-page-hero h1{margin:8px 0 5px;font-size:clamp(30px,5vw,54px)}.booth-page-hero p{margin:0 0 12px}.booth-media-panel{padding:18px}.booth-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:72px;grid-auto-flow:dense;gap:8px}.booth-mosaic-item{position:relative;grid-column:span 3;grid-row:span 3;min-width:0;overflow:hidden;padding:0;border:0;border-radius:12px;background:#eef2f6;cursor:pointer}.booth-mosaic-item.mosaic-0{grid-column:span 6;grid-row:span 5}.booth-mosaic-item.mosaic-1,.booth-mosaic-item.mosaic-2{grid-column:span 3;grid-row:span 2}.booth-mosaic-item.mosaic-3,.booth-mosaic-item.mosaic-4,.booth-mosaic-item.mosaic-5{grid-column:span 4;grid-row:span 3}.booth-mosaic-item.mosaic-6{grid-column:span 6;grid-row:span 3}.booth-mosaic-item img{display:block;width:100%;height:100%;object-fit:cover;background:#fff;transition:transform .25s ease}.booth-mosaic-item:hover img,.booth-mosaic-item:focus-visible img{transform:scale(1.025)}.booth-mosaic-caption{position:absolute;right:0;bottom:0;left:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(5,10,20,.8));color:#fff;font-size:12px;font-weight:800;text-align:left}.booth-video-badge{position:absolute;top:8px;right:8px;display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(5,10,20,.72);color:#fff}.booth-exhibition-heading,.booth-map-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.booth-exhibition-heading h2{margin:4px 0}.booth-exhibition-heading p{max-width:720px}.booth-map-toolbar{margin:14px 0 10px;align-items:center}.booth-map-toolbar .field{min-width:240px}.booth-map-viewport{position:relative;min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#edf2f5}.booth-floor-canvas{inset:3%}
.booth-display-mode-bar{display:flex;align-items:end;gap:10px;margin:10px 0 14px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#f7f9fb}.booth-display-mode-bar .field{min-width:260px}.editor{grid-template-columns:290px minmax(0,1fr)}.editor-tools>section{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.editor-tools h3,.editor-tools h4{margin:0}.editor-size-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px}.editor-item{display:grid;place-items:center;align-content:center;gap:2px;overflow:visible;border-width:1px;border-color:var(--editor-color,var(--brand-blue));background:color-mix(in srgb,var(--editor-color,var(--brand-blue)) 12%,transparent);color:color-mix(in srgb,var(--editor-color,var(--brand-blue)) 75%,#11182d);touch-action:none}.editor-item>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-item.selected{z-index:5;outline:3px solid color-mix(in srgb,var(--editor-color,var(--brand-blue)) 28%,transparent);outline-offset:2px}.editor-resize-handle{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;border:2px solid #fff;border-radius:4px;background:var(--editor-color,var(--brand-blue));box-shadow:0 1px 5px rgba(10,20,40,.25);cursor:nwse-resize}
@media(max-width:900px){.booth-mosaic{grid-template-columns:repeat(6,minmax(0,1fr))}.booth-mosaic-item,.booth-mosaic-item.mosaic-0,.booth-mosaic-item.mosaic-1,.booth-mosaic-item.mosaic-2,.booth-mosaic-item.mosaic-3,.booth-mosaic-item.mosaic-4,.booth-mosaic-item.mosaic-5,.booth-mosaic-item.mosaic-6{grid-column:span 3;grid-row:span 3}.booth-mosaic-item.mosaic-0{grid-column:span 6;grid-row:span 4}.editor{grid-template-columns:1fr}.editor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-tools>section{align-content:start}.editor-tools>button,.editor-tools>p{align-self:end}}
@media(max-width:600px){.booth-page-hero{min-height:220px;padding:22px 18px}.booth-media-panel,.booth-exhibition-context{padding:13px}.booth-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:130px}.booth-mosaic-item,.booth-mosaic-item.mosaic-0,.booth-mosaic-item.mosaic-1,.booth-mosaic-item.mosaic-2,.booth-mosaic-item.mosaic-3,.booth-mosaic-item.mosaic-4,.booth-mosaic-item.mosaic-5,.booth-mosaic-item.mosaic-6{grid-column:span 1;grid-row:span 1}.booth-mosaic-item.mosaic-0{grid-column:span 2;grid-row:span 2}.booth-exhibition-heading,.booth-map-toolbar,.booth-display-mode-bar{align-items:stretch;flex-direction:column}.booth-map-toolbar .field,.booth-display-mode-bar .field{width:100%;min-width:0}.booth-map-viewport{min-height:430px}.editor-tools{grid-template-columns:1fr}}

/* Full-width floor-plan editor, snapping, grid and scale 2026-08-23 */
.editor-plan-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,320px) auto;gap:10px;align-items:end;margin:14px 0}.editor-map-workspace{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}.editor-map-toolbar{display:flex;gap:6px;align-items:center;overflow:auto;padding:9px;border-bottom:1px solid var(--line);background:#f8fafc}.editor-tool-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap}.editor-tool-button:hover,.editor-tool-button.active{border-color:#cdd9e7;background:#fff;color:var(--brand-blue);box-shadow:0 3px 10px rgba(20,35,60,.08)}.editor-tool-button.danger{color:var(--brand-red)}.editor-toolbar-separator{flex:0 0 1px;width:1px;height:28px;background:var(--line)}.editor-map-viewport{position:relative;min-height:clamp(540px,63vw,760px);overflow:hidden;background:linear-gradient(135deg,#e9eef4,#f5f7fa);touch-action:none}.editor-canvas-frame{position:absolute;left:50%;top:50%;min-width:260px;overflow:visible;border:1px solid #aebdca;border-radius:5px;background:#fff;box-shadow:0 12px 38px rgba(16,28,48,.18);transform-origin:center;will-change:transform}.editor-canvas{position:absolute;inset:0;min-height:0;overflow:visible;border:0;border-radius:4px;background-color:#fff;background-position:center;background-repeat:no-repeat;background-size:100% 100%}.editor-grid-overlay{position:absolute;z-index:1;inset:0;pointer-events:none}.editor-item{z-index:2}.editor-item.overlap{border-color:var(--brand-red)!important;outline:2px solid rgba(195,14,35,.24)}.editor-map-viewport[data-active-tool="add"] .editor-canvas{cursor:crosshair}.editor-map-viewport[data-active-tool="pan"]{cursor:grab}.editor-map-viewport[data-active-tool="pan"]:active{cursor:grabbing}.editor-map-viewport[data-active-tool="resize"] .editor-item{cursor:nwse-resize}.editor-map-viewport[data-active-tool="move"] .editor-item{cursor:move}.editor-mini-map{position:absolute;right:14px;bottom:14px;z-index:20;width:190px;overflow:hidden;border:2px solid #fff;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(10,20,40,.28);touch-action:none}.editor-mini-map[hidden]{display:none}.editor-mini-map-handle{display:block;width:100%;padding:5px 8px;border:0;border-bottom:1px solid rgba(255,255,255,.26);background:#172033;color:#fff;font-size:12px;font-weight:800;text-align:left;cursor:move}.editor-mini-map-surface{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dce4ea center/100% 100% no-repeat;cursor:crosshair}.editor-mini-booth{position:absolute;border:1px solid var(--mini-color,var(--brand-blue));background:color-mix(in srgb,var(--mini-color,var(--brand-blue)) 20%,transparent)}.editor-mini-viewport{position:absolute;border:2px solid #fff;background:rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(10,20,40,.5),inset 0 0 0 1px rgba(10,20,40,.34);cursor:move}.editor-scale{position:absolute;left:14px;bottom:14px;z-index:18;display:grid;justify-items:start;gap:3px;padding:7px 9px;border-radius:8px;background:rgba(17,26,43,.84);color:#fff;pointer-events:none}.editor-scale-line{display:block;width:90px;height:7px;border:2px solid #fff;border-top:0}.editor-scale b{font-size:12px}.editor-map-status{position:absolute;right:14px;top:14px;z-index:18;padding:5px 8px;border:1px solid rgba(255,255,255,.5);border-radius:7px;background:rgba(17,26,43,.78);color:#fff;font-size:12px;font-weight:900}.editor-settings{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.editor-settings-tabs{display:flex;gap:5px;overflow:auto;padding:8px;border-bottom:1px solid var(--line)}.editor-settings-tabs button{min-height:40px;padding:8px 15px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:900;white-space:nowrap}.editor-settings-tabs button.active{background:var(--brand-red-soft);color:var(--brand-red)}.editor-settings-panels{padding:15px}.editor-settings-panel{display:none}.editor-settings-panel.active{display:grid;gap:13px}.editor-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.editor-map-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.editor-map-settings-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.editor-map-settings-grid legend{padding:0 6px;font-weight:900}.editor-map-settings-grid .editor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-map-settings-grid .check{display:flex;align-items:center;gap:8px;min-height:40px}.editor-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 15px;border-top:1px solid var(--line);background:#fbfcfd}.editor-save-bar p{margin:0}.editor-selection-tools{display:grid;gap:12px}.editor-selection-tools[hidden],.editor-settings-panel .notice[hidden]{display:none}.editor-resize-handle{display:none}.editor-item.selected .editor-resize-handle,.editor-map-viewport[data-active-tool="resize"] .editor-item .editor-resize-handle{display:block}
@media(max-width:1000px){.editor-plan-bar{grid-template-columns:1fr 1fr}.editor-plan-bar .button{grid-column:1/-1}.editor-map-settings-grid{grid-template-columns:1fr}.editor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.editor-plan-bar,.editor-form-grid,.editor-map-settings-grid .editor-form-grid{grid-template-columns:1fr}.editor-plan-bar .button{grid-column:auto}.editor-map-viewport{min-height:480px}.editor-map-toolbar{padding:7px}.editor-tool-button{min-height:38px;padding:6px 9px}.editor-mini-map{width:150px}.editor-scale{left:8px;bottom:8px}.editor-map-status{right:8px;top:8px}.editor-save-bar{align-items:stretch;flex-direction:column}.editor-save-bar .button{width:100%}}
/* V1.0.4 展區群組與圖面直接校準 2026-08-23 */
.zone-group-layout{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:16px;align-items:start}.zone-group-form{display:grid;gap:13px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.zone-group-form-head,.section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.zone-group-form-head h3,.section-heading-row h3{margin:2px 0}.zone-group-id{max-width:210px;padding:5px 8px;overflow:hidden;border-radius:7px;background:#e8eef5;color:#526077;font:700 12px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}.zone-group-list-wrap,.zone-group-list{display:grid;gap:10px}.zone-group-card{display:grid;grid-template-columns:13px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.zone-group-card>div:nth-child(2){display:grid;gap:3px;min-width:0}.zone-group-card b,.zone-group-card small,.zone-group-card p{overflow:hidden;margin:0;text-overflow:ellipsis}.zone-group-card small{color:var(--muted);font-size:12px}.zone-group-card p{display:-webkit-box;color:var(--muted);font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.zone-group-swatch{width:13px;height:48px;border-radius:7px;background:var(--zone-color,#0e6eb8);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.zone-group-actions{display:flex!important;gap:5px}.zone-group-empty,.floorplan-library-empty{display:grid;min-height:150px;place-items:center;align-content:center;gap:6px;padding:20px;border:1px dashed #b7c5d4;border-radius:12px;background:#f8fafc;color:var(--muted);text-align:center}.zone-group-empty .ui-icon,.floorplan-library-empty .ui-icon{width:30px;height:30px;color:var(--brand-blue)}.zone-group-empty p,.floorplan-library-empty p{margin:0;font-size:12px}.notice.success{border-color:#a9ddc6;background:#effbf5;color:#12633f}.floorplan-library-section{display:grid;gap:10px;margin:0 0 14px}.floorplan-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}.floorplan-library-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;min-height:82px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);text-align:left}.floorplan-library-card:hover,.floorplan-library-card.active{border-color:var(--brand-blue);box-shadow:0 6px 18px rgba(14,110,184,.12)}.floorplan-library-card.active{background:#f2f8fd}.floorplan-library-thumb{display:block;width:92px;aspect-ratio:16/10;border:1px solid #d9e1e9;border-radius:7px;background:#edf1f5 center/contain no-repeat}.floorplan-library-card>span:nth-child(2){display:grid;gap:3px;min-width:0}.floorplan-library-card b,.floorplan-library-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floorplan-library-card small{color:var(--muted);font-size:12px}.floorplan-library-card i{grid-column:1/-1;justify-self:end;padding:2px 6px;border-radius:999px;background:#dceefb;color:#07588f;font-size:12px;font-style:normal;font-weight:800}.floorplan-upload-card{margin-bottom:14px;border:1px solid var(--line);border-radius:13px;background:#fff}.floorplan-upload-card>summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}.floorplan-upload-card>summary span{color:var(--muted);font-size:12px}.floorplan-upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}.floorplan-upload-form .wide{grid-column:1/-1}.floorplan-upload-advanced{padding:10px;border:1px solid var(--line);border-radius:10px}.floorplan-upload-advanced>.floorplan-upload-form{padding:10px 0 0}
.floorplan-calibration-workspace{display:grid;gap:10px}.floorplan-setup-head{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:12px;align-items:end}.floorplan-setup-summary{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.floorplan-setup-summary span{color:var(--muted);font-size:12px}.floorplan-calibration-toolbar{display:flex;gap:5px;align-items:center;overflow-x:auto;padding:8px;border:1px solid var(--line);border-radius:12px;background:#f7f9fb}.floorplan-calibration-toolbar button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:6px;padding:6px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;white-space:nowrap}.floorplan-calibration-toolbar button:hover,.floorplan-calibration-toolbar button.active{border-color:#c7d5e2;background:#fff;color:var(--brand-blue);box-shadow:0 3px 10px rgba(20,35,60,.08)}.floorplan-calibration-toolbar button:disabled{opacity:.42;cursor:not-allowed}.floorplan-calibration-viewport{position:relative;min-height:clamp(540px,60vw,760px);overflow:hidden;border:1px solid #c8d3de;border-radius:14px;background:linear-gradient(135deg,#e8eef4,#f6f8fa);touch-action:none}.floorplan-calibration-frame{position:absolute;left:50%;top:50%;min-width:260px;overflow:visible;border:1px solid #9eb0c1;border-radius:4px;background:#fff;box-shadow:0 14px 42px rgba(16,28,48,.2);transform-origin:center;will-change:transform}.floorplan-calibration-frame[hidden]{display:none}.floorplan-calibration-canvas{position:absolute;inset:0;overflow:visible;background:#fff center/100% 100% no-repeat}.floorplan-calibration-viewport[data-active-tool="reference"] .floorplan-calibration-canvas,.floorplan-calibration-viewport[data-active-tool="coordinate"] .floorplan-calibration-canvas,.floorplan-calibration-viewport[data-active-tool="length"] .floorplan-calibration-canvas,.floorplan-calibration-viewport[data-active-tool="area"] .floorplan-calibration-canvas{cursor:crosshair}.floorplan-calibration-viewport[data-active-tool="pan"]{cursor:grab}.floorplan-calibration-viewport[data-active-tool="pan"]:active{cursor:grabbing}.floorplan-empty-state{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;color:var(--muted);text-align:center}.floorplan-empty-state[hidden]{display:none}.floorplan-coordinate-readout,.floorplan-calibration-status{position:absolute;z-index:20;padding:6px 9px;border:1px solid rgba(255,255,255,.48);border-radius:8px;background:rgba(16,25,42,.82);color:#fff;font:800 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.floorplan-coordinate-readout{left:12px;bottom:12px}.floorplan-calibration-status{right:12px;top:12px}.floorplan-live-hint{padding:8px 11px;border-left:4px solid var(--brand-blue);border-radius:8px;background:#edf7fd;color:#29425b;font-size:12px;line-height:1.45}
.floorplan-plan-title,.floorplan-north,.floorplan-scale-overlay,.floorplan-display-extent{position:absolute;z-index:8;transform:translate(-50%,-50%);touch-action:none}.floorplan-plan-title{max-width:58%;padding:5px 9px;border-radius:7px;background:rgba(255,255,255,.88);color:#172033;font-size:clamp(12px,1.4vw,18px);font-weight:900;box-shadow:0 2px 8px rgba(17,29,48,.18);cursor:move}.floorplan-north{display:grid;justify-items:center;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.9);color:#172033;box-shadow:0 2px 8px rgba(17,29,48,.18);cursor:move}.floorplan-north b{font-size:12px}.floorplan-north span{display:block;font-size:30px;line-height:1;transform-origin:center}.floorplan-scale-overlay{min-width:120px;padding:6px 7px;border-radius:7px;background:rgba(255,255,255,.9);color:#172033;box-shadow:0 2px 8px rgba(17,29,48,.18);cursor:move}.floorplan-scale-blocks{display:grid;height:10px;border:1px solid #172033}.floorplan-scale-blocks i.dark{background:#172033}.floorplan-scale-blocks i.light{background:#fff}.floorplan-scale-labels{display:flex;justify-content:space-between;gap:2px;margin-top:3px;font-size:9pt;font-weight:800}.floorplan-display-extent{z-index:5;border:2px dashed var(--brand-red);background:rgba(195,14,35,.055);transform:none;cursor:move}.floorplan-display-extent>span{position:absolute;left:4px;top:4px;padding:2px 5px;border-radius:4px;background:var(--brand-red);color:#fff;font-size:9pt;font-weight:800}.floorplan-display-extent>i{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;border:2px solid #fff;border-radius:3px;background:var(--brand-red);box-shadow:0 1px 5px rgba(10,20,40,.3);cursor:nwse-resize}
.floorplan-measure-layer{position:absolute;z-index:12;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.floorplan-measure-layer circle{fill:#fff;stroke:var(--brand-red);stroke-width:1.6}.floorplan-measure-layer .reference-point{fill:#fff3f5;stroke:var(--brand-red)}.floorplan-measure-layer .coordinate-point{fill:#e9f7ff;stroke:var(--brand-blue)}.floorplan-measure-layer line,.floorplan-measure-layer polyline,.floorplan-measure-layer polygon{fill:none;stroke:var(--brand-red);stroke-width:1.5}.floorplan-measure-layer .reference-line{stroke-dasharray:3 2}.floorplan-measure-layer .length-line{stroke:var(--brand-blue)}.floorplan-measure-layer .area-shape{fill:rgba(14,110,184,.13);stroke:var(--brand-blue)}.floorplan-measure-layer .active-measure{stroke-dasharray:2 1}.floorplan-measure-layer .measure-label{paint-order:stroke;fill:#10182c;stroke:#fff;stroke-width:.7;font-size:var(--floorplan-measure-label-size,3.1px);font-weight:900;text-anchor:middle}.floorplan-config{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.floorplan-config-tabs{display:flex;gap:4px;overflow-x:auto;padding:8px;border-bottom:1px solid var(--line)}.floorplan-config-tabs button{min-height:38px;padding:7px 13px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:900;white-space:nowrap}.floorplan-config-tabs button.active{background:var(--brand-red-soft);color:var(--brand-red)}.floorplan-config-panels{padding:14px}.floorplan-config-panel{display:none}.floorplan-config-panel.active{display:block}.floorplan-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.floorplan-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.floorplan-calibration-grid,.floorplan-overlay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.floorplan-calibration-grid fieldset,.floorplan-overlay-grid fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.floorplan-calibration-grid legend,.floorplan-overlay-grid legend{padding:0 6px;font-weight:900}.floorplan-calibration-grid .field,.floorplan-overlay-grid .field{margin-bottom:8px}.floorplan-measure-results{display:grid;gap:6px;max-height:210px;overflow:auto}.floorplan-measure-results article{display:flex;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;background:#fff}.floorplan-measure-results article span{font:700 12px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.floorplan-save-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px solid var(--line);background:#fbfcfd}.floorplan-save-bar p{margin:0}.booth-zone-fields{display:grid;gap:4px;min-width:190px}.booth-zone-fields select{width:100%}.booth-zone-fields small{overflow:hidden;max-width:220px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1050px){.zone-group-layout{grid-template-columns:1fr}.floorplan-calibration-grid,.floorplan-overlay-grid{grid-template-columns:1fr 1fr}.floorplan-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.floorplan-upload-form,.floorplan-setup-head,.floorplan-calibration-grid,.floorplan-overlay-grid,.floorplan-field-grid,.floorplan-field-grid.two{grid-template-columns:1fr}.floorplan-upload-form .wide{grid-column:auto}.floorplan-library{grid-template-columns:1fr}.floorplan-calibration-viewport{min-height:470px}.floorplan-calibration-toolbar{padding:6px}.floorplan-calibration-toolbar button{min-height:36px;padding:5px 8px}.floorplan-config-panels{padding:10px}.floorplan-save-bar{align-items:stretch;flex-direction:column}.floorplan-save-bar .button{width:100%}.zone-group-card{grid-template-columns:11px minmax(0,1fr) auto}.zone-group-card>.status{grid-column:2}.zone-group-actions{grid-column:3;grid-row:1/3}.floorplan-coordinate-readout{right:8px;bottom:8px;left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floorplan-plan-title{max-width:72%}}
.booth-bulk-zone-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr) minmax(170px,.45fr) auto;gap:12px;align-items:end;margin:12px 0;padding:12px 14px;border:1px solid #dce6ef;border-radius:16px;background:#f8fbfd}
.booth-bulk-zone-bar>div:first-child{align-self:center}
.booth-bulk-zone-bar p{margin:4px 0 0;line-height:1.45}
.booth-bulk-zone-bar .field{margin:0}
@media(max-width:900px){.booth-bulk-zone-bar{grid-template-columns:1fr 1fr}.booth-bulk-zone-bar>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.booth-bulk-zone-bar{grid-template-columns:1fr}.booth-bulk-zone-bar>div:first-child{grid-column:auto}}
/* 平面圖參考圖、地標預覽、線條文字與高彩度色盤 2026-08-23 */
.floorplan-workflow-guide{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;margin:0 0 14px;padding:14px;border:1px solid #bcd9ec;border-radius:14px;background:#f1f9fe}.floorplan-workflow-guide h3,.floorplan-workflow-guide p{margin:0}.floorplan-workflow-guide p{margin-top:4px;color:var(--muted);line-height:1.5}.floorplan-workflow-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.floorplan-workflow-options article{display:grid;gap:4px;padding:10px;border:1px solid #d4e6f2;border-radius:10px;background:#fff}.floorplan-workflow-options span{color:var(--muted);font-size:12px;line-height:1.45}.floorplan-source-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:12px}.floorplan-source-settings fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.floorplan-source-settings legend{padding:0 6px;font-weight:900}.floorplan-source-settings form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.floorplan-source-settings .check{margin-top:9px}
.editor-canvas.using-reference-image::before,.floorplan-calibration-canvas.using-reference-image::before{content:"";position:absolute;z-index:0;inset:0;background-image:var(--floorplan-reference-image);background-position:center;background-repeat:no-repeat;background-size:100% 100%;opacity:var(--reference-opacity,.65);pointer-events:none}.editor-canvas>*:not(.editor-grid-overlay),.floorplan-calibration-canvas>*{position:absolute}.editor-grid-overlay{z-index:1}.floorplan-public-overlays{position:absolute!important;z-index:2!important;inset:0;overflow:visible;pointer-events:none}.floorplan-decoration-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.floorplan-decoration-line{pointer-events:none}.editor-overlays .floorplan-decoration-line{pointer-events:stroke;cursor:move}.floorplan-decoration-text{position:absolute;z-index:3;display:block;max-height:12em;overflow:hidden;overflow-wrap:anywhere;line-height:1.25;white-space:normal;pointer-events:auto}.editor-overlays .floorplan-decoration-text{min-height:1.35em;border:1px dashed transparent;cursor:move}.editor-overlays .floorplan-decoration-text.selected{border-color:var(--brand-red);box-shadow:0 0 0 3px rgba(195,14,35,.14)}.editor-overlays .floorplan-decoration-line.selected{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 2px var(--brand-red))}.public-floorplan-title,.public-floorplan-north,.public-floorplan-scale{position:absolute;z-index:2;transform:translate(-50%,-50%);pointer-events:none}.public-floorplan-title{max-width:55%;padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.88);color:#172033;font-size:max(12px,.9em);font-weight:900;box-shadow:0 2px 7px rgba(17,29,48,.14)}.public-floorplan-north{display:grid;justify-items:center;padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.88);color:#172033;line-height:1}.public-floorplan-north i{font-size:27px;font-style:normal;transform:rotate(var(--north-angle,0deg));transform-origin:center}.public-floorplan-scale{display:grid;min-width:110px;gap:2px;padding:5px 6px;border-radius:6px;background:rgba(255,255,255,.88);color:#172033;font-size:12px;font-weight:800}.public-floorplan-scale-blocks{display:grid;height:9px;border:1px solid #172033}.public-floorplan-scale-blocks .dark{background:#172033}.public-floorplan-scale-blocks .light{background:#fff}
.editor-item{z-index:5}.editor-item.landmark{border-color:transparent;background:transparent;color:var(--editor-color,var(--brand-blue));outline:1px dashed color-mix(in srgb,var(--editor-color,var(--brand-blue)) 28%,transparent)}.editor-item.landmark.overlap{border-color:transparent!important;outline-color:color-mix(in srgb,var(--editor-color,var(--brand-blue)) 28%,transparent)}.editor-item.landmark>span:not(.editor-landmark-pin):not(.editor-landmark-label):not(.editor-landmark-popover){display:none}.editor-landmark-pin{position:absolute;left:50%;top:50%;display:grid!important;width:34px;height:34px;place-items:center;border:2px solid #fff;border-radius:50% 50% 50% 8px;background:var(--editor-color,var(--brand-blue));color:#fff;box-shadow:0 3px 10px rgba(20,30,50,.24);transform:translate(-50%,-50%) rotate(-45deg)}.editor-landmark-pin .ui-icon{width:17px;height:17px;transform:rotate(45deg)}.editor-landmark-label{position:absolute;left:calc(50% + 23px);top:50%;display:flex!important;width:max-content;max-width:180px;align-items:center;gap:5px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--editor-color,var(--brand-blue)) 30%,#fff);border-radius:7px;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(20,30,50,.12);transform:translateY(-50%)}.editor-landmark-label b{padding:2px 5px;border-radius:4px;background:var(--editor-color,var(--brand-blue));color:#fff}.editor-landmark-label span{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-landmark-popover{display:none}.editor-item.landmark:hover .editor-landmark-popover{position:absolute;left:50%;bottom:calc(50% + 24px);z-index:20;display:block;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 8px 22px rgba(20,30,50,.2);white-space:nowrap}.editor-draw-point{z-index:12;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:var(--brand-red);box-shadow:0 0 0 2px var(--brand-red);transform:translate(-50%,-50%)}.editor-map-viewport[data-active-tool="add"] .editor-canvas,.editor-map-viewport[data-active-tool="place"] .editor-canvas,.editor-map-viewport[data-active-tool="line"] .editor-canvas,.editor-map-viewport[data-active-tool="arc"] .editor-canvas,.editor-map-viewport[data-active-tool="text"] .editor-canvas{cursor:crosshair}
.editor-place-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:10px;align-items:end;padding:11px;border:1px solid #cfe2ef;border-radius:11px;background:#f4faff}.editor-place-guide p{margin:0}.editor-decoration-line[hidden],.editor-decoration-text[hidden],[data-editor-decoration-settings][hidden],[data-editor-decoration-empty][hidden]{display:none}.annotation-align-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.annotation-align-toolbar span{margin-right:4px;font-weight:800}.annotation-align-toolbar button{min-height:34px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-weight:700}.annotation-align-toolbar button:hover{border-color:var(--brand-blue);color:var(--brand-blue)}.floorplan-color-palette{display:grid;grid-template-columns:repeat(5,22px);gap:4px;margin-top:6px}.floorplan-color-palette button{width:22px;height:22px;padding:0;border:2px solid #fff;border-radius:5px;background:var(--swatch);box-shadow:0 0 0 1px #b8c2cc;cursor:pointer}.floorplan-color-palette button:hover,.floorplan-color-palette button:focus-visible{box-shadow:0 0 0 2px var(--brand-blue)}
@media(max-width:800px){.floorplan-workflow-guide{grid-template-columns:1fr}.floorplan-workflow-options,.floorplan-source-settings{grid-template-columns:1fr}.floorplan-workflow-options{grid-column:auto}.floorplan-source-settings form,.editor-place-guide{grid-template-columns:1fr}}.editor-mini-booth.landmark{width:7px!important;height:7px!important;border:0;border-radius:50%;background:var(--mini-color,var(--brand-blue));box-shadow:0 0 0 1px #fff;transform:translate(-50%,-50%)}

/* Admin studio viewport containment, visible floor-plan save action and compact annotation controls 2026-08-23 */
html,body{max-width:100%;overflow-x:hidden}
.page-shell,.exhibition-studio-layout,.exhibition-studio-workspace,.exhibition-studio-workspace>.stack,.admin-section,.floorplan-calibration-workspace,.floorplan-config,.editor-plan-bar,.editor-map-workspace,.editor-settings{min-width:0;max-width:100%}
.exhibition-studio-layout{width:100%;grid-template-columns:minmax(250px,300px) minmax(0,1fr)}
.exhibition-studio-layout>*{min-width:0}
.exhibition-studio-workspace{overflow:hidden}
.admin-function-tabs,.floorplan-calibration-toolbar,.editor-map-toolbar,.editor-settings-tabs{width:100%;max-width:100%;min-width:0;overscroll-behavior-inline:contain}
.admin-function-tabs button,.floorplan-calibration-toolbar button,.editor-map-toolbar button,.editor-settings-tabs button{flex:0 0 auto}
.editor-plan-bar{width:100%;grid-template-columns:minmax(0,1fr) minmax(210px,340px) auto}
.editor-plan-bar>*{min-width:0}
.editor-plan-bar select{width:100%;max-width:100%}
.floorplan-canvas-save{position:absolute;z-index:40;right:14px;top:14px;box-shadow:0 8px 22px rgba(16,28,48,.2)}
.floorplan-calibration-status{top:68px}
.editor-settings-panels{padding:10px 14px}
[data-editor-settings-panel="annotation"].active{gap:8px}
[data-editor-decoration-settings]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:end}
[data-editor-decoration-settings]>[data-editor-decoration-id],.editor-decoration-line,.editor-decoration-text{grid-column:1/-1}
.editor-decoration-line .editor-form-grid{grid-template-columns:minmax(115px,1fr) minmax(78px,.55fr) minmax(110px,.9fr) minmax(230px,1.45fr) minmax(190px,1.2fr);gap:8px}
.editor-decoration-line .field{gap:3px}
.editor-decoration-line .field:has([data-decor-line-color]){grid-template-columns:44px minmax(0,1fr);align-items:center}
.editor-decoration-line .field:has([data-decor-line-color])>span{grid-column:1/-1}
[data-decor-line-color]{width:44px!important;height:36px;padding:2px}
[data-decor-line-color]+.floorplan-color-palette{display:flex;flex-wrap:wrap;gap:3px;margin:0}
[data-decor-line-color]+.floorplan-color-palette button{width:18px;height:18px;border-radius:4px}
[data-editor-decoration-settings]>.annotation-align-toolbar{grid-column:1;align-self:center}
[data-editor-decoration-settings]>.toolbar{grid-column:2;flex-wrap:nowrap;justify-content:flex-end}
[data-editor-decoration-settings]>.toolbar .button{min-height:36px;padding:7px 10px;white-space:nowrap}
@media(max-width:1200px){.exhibition-studio-layout{grid-template-columns:minmax(230px,270px) minmax(0,1fr)}.editor-decoration-line .editor-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-editor-decoration-settings]{grid-template-columns:1fr}.annotation-align-toolbar,[data-editor-decoration-settings]>.toolbar{grid-column:1}}
@media(max-width:760px){.exhibition-studio-layout{grid-template-columns:1fr}.editor-plan-bar{grid-template-columns:1fr}.editor-plan-bar .button{grid-column:auto;width:100%}.floorplan-canvas-save{right:8px;top:8px}.floorplan-calibration-status{top:58px;right:8px}.editor-decoration-line .editor-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.editor-decoration-line .editor-form-grid{grid-template-columns:1fr}[data-editor-decoration-settings]>.toolbar{flex-wrap:wrap;justify-content:flex-start}}
/* Straight-line 15-degree guide and flat annotation selection 2026-08-23 */
.decor-bend-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
[data-decor-line-bend-value]{min-width:48px;padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:#f7f9fb;color:var(--ink);font-weight:900;text-align:center}
.floorplan-decoration-line,.floorplan-decoration-line.selected{filter:none!important}
.floorplan-decoration-text,.floorplan-decoration-text.selected{box-shadow:none!important;text-shadow:none!important;filter:none!important}
.floorplan-decoration-text.selected{border-color:var(--brand-red);background-clip:padding-box}
.editor-draw-point{box-shadow:none}
.editor-angle-guide{position:absolute;z-index:11;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.editor-angle-guide line{stroke:var(--brand-red);stroke-width:1.4;stroke-dasharray:5 4}
.editor-angle-guide circle{fill:#fff;stroke:var(--brand-red);stroke-width:1.4}
.editor-angle-label{position:absolute;z-index:12;min-width:42px;padding:3px 6px;border:1px solid var(--brand-red);border-radius:6px;background:#fff;color:var(--brand-red);font-size:12px;font-weight:900;line-height:1.2;text-align:center;transform:translate(-50%,-125%);pointer-events:none}
.editor-angle-guide[hidden],.editor-angle-label[hidden]{display:none}
/* Responsive admin tabs, compact palette, adaptive floor-plan frame and modern scale 2026-08-23 */
.admin-function-tabs button{box-sizing:border-box;width:160px;max-width:160px;flex:0 0 160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.editor-canvas-frame{min-width:0}
.floorplan-color-palette{display:grid;grid-template-columns:repeat(8,20px);gap:3px;width:max-content;max-width:100%;margin-top:4px}
.floorplan-color-palette button,.floorplan-custom-color-input{box-sizing:border-box;width:20px!important;height:20px!important;min-width:20px;padding:0;border:1px solid #aab5c2;border-radius:4px;background:var(--swatch,#111827);box-shadow:none;cursor:pointer}
.floorplan-color-palette button:hover,.floorplan-color-palette button:focus-visible,.floorplan-custom-color-input:hover,.floorplan-custom-color-input:focus-visible{border-color:var(--brand-blue);outline:2px solid color-mix(in srgb,var(--brand-blue) 24%,transparent);outline-offset:1px;box-shadow:none}
.floorplan-custom-color-input::-webkit-color-swatch-wrapper{padding:0}.floorplan-custom-color-input::-webkit-color-swatch{border:0;border-radius:3px}
.editor-decoration-line .field:has([data-decor-line-color]){display:grid;grid-template-columns:1fr;align-items:start}.editor-decoration-line .field:has([data-decor-line-color])>span{grid-column:1}.editor-decoration-line .field:has([data-decor-line-color])>.floorplan-color-palette{grid-column:1;display:grid;margin-top:2px}
label.language-required>span::after{content:" *";color:var(--brand-red);font-weight:900}
.editor-line-guide-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.7fr);gap:7px 10px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}
.editor-line-guide-settings .field{gap:3px}.editor-line-guide-settings .check{min-height:36px}
.editor-scale{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid rgba(148,163,184,.48);border-radius:10px;background:rgba(255,255,255,.92);color:#172033;box-shadow:0 4px 16px rgba(15,23,42,.1);backdrop-filter:blur(10px)}
.editor-scale-line{position:relative;display:block;width:var(--scale-width,90px);height:10px;border:0;border-bottom:2px solid currentColor;background:linear-gradient(90deg,transparent 49.5%,currentColor 49.5%,currentColor 50.5%,transparent 50.5%)}
.editor-scale-line::before,.editor-scale-line::after{content:"";position:absolute;bottom:-2px;width:2px;height:9px;background:currentColor}.editor-scale-line::before{left:0}.editor-scale-line::after{right:0}.editor-scale b{font-size:12px;line-height:1;white-space:nowrap}
.public-floorplan-scale{min-width:112px;gap:4px;padding:7px 8px;border:1px solid rgba(148,163,184,.42);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(15,23,42,.09);backdrop-filter:blur(8px)}
.public-floorplan-scale-blocks{height:7px;overflow:hidden;border:1px solid #253247;border-radius:3px}.public-floorplan-scale>span:last-child{font-size:12px;letter-spacing:.02em}
.editor-angle-label{min-width:92px;border-color:#64748b;border-radius:7px;background:rgba(255,255,255,.96);color:#243247;font-variant-numeric:tabular-nums;box-shadow:none}
.editor-angle-guide line{stroke:#3b82f6;stroke-width:1.25;stroke-dasharray:5 4}.editor-angle-guide circle{stroke:#3b82f6;stroke-width:1.25}
@media(max-width:760px){
  .page-shell{width:min(100% - 16px,var(--shell,1400px))}
  .exhibition-library-panel{position:static;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto auto;max-height:none;overflow:hidden;padding:12px}
  .exhibition-library-head,.exhibition-library-list{grid-column:1}
  .exhibition-library-list{display:grid;grid-template-columns:1fr;max-height:46vh;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2px 2px 0}
  .exhibition-library-item{box-sizing:border-box;width:100%;min-width:0;max-width:100%;grid-template-columns:42px minmax(0,1fr) auto}
  .exhibition-library-item>span:nth-child(2),.exhibition-library-item b,.exhibition-library-item small{min-width:0;max-width:100%}
  .admin-function-tabs{display:flex;overflow-x:auto;overflow-y:hidden}
  .admin-function-tabs button{width:144px;max-width:144px;flex-basis:144px}
  .exhibition-selection-banner{grid-template-columns:54px minmax(0,1fr) 34px;padding:13px;gap:9px}
  .exhibition-selection-avatar{width:54px;height:54px}
  .exhibition-selection-banner h2{font-size:18px}.exhibition-selection-banner p{font-size:12px}
  .editor-map-viewport{min-height:500px}.editor-line-guide-settings{grid-template-columns:1fr 110px}
}
@media(max-width:520px){
  .admin-function-tabs button{width:132px;max-width:132px;flex-basis:132px}
  .exhibition-library-item{grid-template-columns:38px minmax(0,1fr) auto;padding:7px}.exhibition-library-item img,.exhibition-library-fallback{width:38px;height:38px}
  .exhibition-selection-banner{grid-template-columns:46px minmax(0,1fr) 32px}.exhibition-selection-avatar{width:46px;height:46px}.exhibition-selection-banner h2{font-size:17px}
  .editor-line-guide-settings{grid-template-columns:1fr}.editor-scale{left:8px;max-width:calc(100% - 74px)}
}
/* Radius curve editor 2026-08-23 */
.editor-map-viewport[data-active-tool="radius"] .editor-canvas{cursor:crosshair}
.decor-radius-field[hidden],.decor-bend-field[hidden]{display:none!important}
.editor-decoration-line .editor-form-grid{align-items:end}
/* Continuous line drawing 2026-08-23 */
.editor-map-viewport[data-active-tool="line"] .editor-overlays .floorplan-decoration-line,.editor-map-viewport[data-active-tool="arc"] .editor-overlays .floorplan-decoration-line,.editor-map-viewport[data-active-tool="radius"] .editor-overlays .floorplan-decoration-line,.editor-map-viewport[data-active-tool="line"] .editor-overlays .floorplan-decoration-text,.editor-map-viewport[data-active-tool="arc"] .editor-overlays .floorplan-decoration-text,.editor-map-viewport[data-active-tool="radius"] .editor-overlays .floorplan-decoration-text{pointer-events:none!important;cursor:crosshair}
.finish-line-button{position:sticky;right:0;z-index:3;border-color:#b7d8ec;background:#eef8fd;color:var(--brand-blue)}
.finish-line-button[hidden]{display:none!important}
/* V1.0.4 floor-plan editor density, unified overlays and landmark controls */
.floorplan-calibration-viewport,.editor-map-viewport{height:clamp(380px,46vw,580px);min-height:380px;max-height:580px}
.floorplan-calibration-toolbar,.editor-map-toolbar{display:flex;flex-wrap:wrap;overflow:visible;gap:5px;padding:7px}
.floorplan-calibration-toolbar button,.editor-map-toolbar .editor-tool-button{flex:0 0 38px;width:38px;min-width:38px;min-height:38px;padding:0;font-size:0;line-height:1}
.floorplan-calibration-toolbar button .ui-icon,.editor-map-toolbar .editor-tool-button .ui-icon{width:20px;height:20px}
.floorplan-calibration-toolbar button:focus-visible,.editor-map-toolbar .editor-tool-button:focus-visible{outline:3px solid rgba(14,110,184,.25);outline-offset:1px}
.editor-toolbar-separator{align-self:center;height:24px}
.editor-plan-bar{grid-template-columns:minmax(230px,1.3fr) repeat(5,minmax(120px,.65fr)) auto;align-items:end;gap:8px}
.editor-plan-bar .field{min-width:0}.editor-sync-status{grid-column:1/-1;color:var(--muted);font-size:12px;text-align:right}
.drawing-mode .editor-map-toolbar [data-editor-tool="move"],.drawing-mode .editor-map-toolbar [data-editor-tool="resize"],.landmark-editor-mode .editor-map-toolbar [data-editor-tool="resize"],.landmark-editor-mode [data-editor-size-field]{display:none!important}
.floorplan-config-panels,.editor-settings-panels{padding:12px}.floorplan-overlay-grid{gap:10px}.floorplan-overlay-grid fieldset{padding:11px}.floorplan-field-grid{gap:8px}
.floorplan-plan-title,.public-floorplan-title{max-width:62%;padding:4px 8px;border:1px solid color-mix(in srgb,var(--overlay-color,#172033) 14%,transparent);border-radius:6px;background:color-mix(in srgb,var(--overlay-bg,#fff) var(--overlay-opacity,88%),transparent);color:var(--overlay-color,#172033);font-size:var(--overlay-size,16px);font-weight:850;line-height:1.25;box-shadow:none;backdrop-filter:none}
.floorplan-north,.public-floorplan-north{display:grid;width:var(--north-size,36px);height:var(--north-size,36px);padding:3px;place-items:center;border:1px solid color-mix(in srgb,var(--north-color,#172033) 18%,transparent);border-radius:9px;background:color-mix(in srgb,var(--north-bg,#fff) var(--north-opacity,88%),transparent);color:var(--north-color,#172033);box-shadow:none;line-height:1}
.floorplan-north b,.public-floorplan-north b{position:absolute;top:2px;z-index:2;font-size:max(9px,calc(var(--north-size,36px)*.25));font-weight:900}
.floorplan-north svg,.public-floorplan-north svg{width:82%;height:82%;overflow:visible;fill:currentColor;stroke:currentColor;stroke-width:1.2;transform:rotate(var(--north-angle,0deg));transform-origin:center}
.floorplan-north.north-compass svg,.public-floorplan-north.north-compass svg{fill:none;stroke-width:1.7}.floorplan-north.north-compass svg path,.public-floorplan-north.north-compass svg path{fill:currentColor}
.floorplan-scale-overlay,.public-floorplan-scale{box-sizing:content-box;display:block;min-width:0;padding:6px 8px 15px;border:1px solid color-mix(in srgb,var(--scale-color,#172033) 16%,transparent);border-radius:8px;background:color-mix(in srgb,var(--scale-bg,#fff) var(--scale-opacity,88%),transparent);color:var(--scale-color,#172033);box-shadow:none;backdrop-filter:none;font-size:var(--scale-font-size,12px);font-weight:800;line-height:1}
.floorplan-scale-track,.public-floorplan-scale-track{display:grid;width:100%;height:8px;overflow:visible;border:0;border-bottom:2px solid currentColor}
.floorplan-scale-track i,.public-floorplan-scale-track i{position:relative;display:block;border-left:1px solid currentColor;background:transparent}.floorplan-scale-track i:last-child,.public-floorplan-scale-track i:last-child{border-right:1px solid currentColor}
.scale-contrast .floorplan-scale-track,.scale-contrast .public-floorplan-scale-track{overflow:hidden;border:1px solid currentColor;border-radius:2px}.scale-contrast .floorplan-scale-track i.dark,.scale-contrast .public-floorplan-scale-track i.dark{background:currentColor}.scale-contrast .floorplan-scale-track i.light,.scale-contrast .public-floorplan-scale-track i.light{background:var(--scale-bg,#fff)}
.scale-ticks .floorplan-scale-track,.scale-ticks .public-floorplan-scale-track{height:11px;border-bottom-width:1px}.scale-ticks .floorplan-scale-track i,.scale-ticks .public-floorplan-scale-track i{border-left-width:2px}
.floorplan-scale-labels,.public-floorplan-scale-labels{position:relative;display:block;width:100%;height:1em;margin-top:4px;font-size:inherit;font-weight:800;white-space:nowrap}
.floorplan-scale-labels span,.public-floorplan-scale-labels i{position:absolute;top:0;margin:0;font-style:normal;transform:translateX(-50%)}
.floorplan-display-extent{border:var(--extent-width,2px) dashed var(--extent-color,var(--brand-red));background:color-mix(in srgb,var(--extent-bg,var(--brand-red)) var(--extent-opacity,6%),transparent)}
.floorplan-display-extent>span{background:var(--extent-color,var(--brand-red))}.floorplan-display-extent>i{background:var(--extent-color,var(--brand-red))}
.editor-item.landmark{width:auto!important;height:auto!important;border:0!important;background:transparent!important;outline:0!important;transform:translate(-50%,-50%);overflow:visible;cursor:pointer}
.editor-item.landmark .editor-resize-handle{display:none!important}.editor-landmark-pin{width:var(--landmark-size,36px);height:var(--landmark-size,36px);box-shadow:none}.editor-landmark-pin .ui-icon{width:calc(var(--landmark-size,36px)*.46);height:calc(var(--landmark-size,36px)*.46)}
.editor-landmark-label{left:calc(50% + var(--landmark-size,36px)*.68);max-width:var(--popover-width,220px);box-shadow:none}.editor-landmark-popover{width:var(--popover-width,220px);max-width:min(var(--popover-width,220px),45vw);white-space:normal}
.editor-item.landmark:hover .editor-landmark-popover{bottom:calc(50% + var(--landmark-size,36px)*.68);box-shadow:0 8px 20px rgba(20,30,50,.14)}.editor-landmark-popover.popover-compact{padding:4px 6px;border-radius:5px}.editor-landmark-popover.popover-glass{background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}
@media(max-width:1100px){.editor-plan-bar{grid-template-columns:repeat(3,minmax(150px,1fr))}.editor-plan-picker{grid-column:span 2}.editor-plan-bar .button{min-height:42px}}
@media(max-width:700px){.floorplan-calibration-viewport,.editor-map-viewport{height:380px;min-height:380px;max-height:380px}.floorplan-calibration-toolbar,.editor-map-toolbar{gap:4px}.floorplan-calibration-toolbar button,.editor-map-toolbar .editor-tool-button{flex-basis:36px;width:36px;min-width:36px;min-height:36px}.editor-plan-bar{grid-template-columns:1fr 1fr}.editor-plan-picker,.editor-sync-status{grid-column:1/-1}.editor-plan-bar .button{grid-column:1/-1}.floorplan-plan-title,.public-floorplan-title{max-width:75%}}.floor-canvas.landmark-mode .map-booth.landmark{min-width:var(--landmark-size,36px);min-height:var(--landmark-size,36px)}
.floor-canvas.landmark-mode .map-landmark-pin{flex-basis:var(--landmark-size,36px);width:var(--landmark-size,36px);height:var(--landmark-size,36px);box-shadow:none}
.floor-canvas.landmark-mode .map-landmark-pin .ui-icon{width:calc(var(--landmark-size,36px)*.46);height:calc(var(--landmark-size,36px)*.46)}
.floor-canvas.landmark-mode .map-booth.landmark .map-booth-label{left:calc(var(--landmark-size,36px) + 6px);box-shadow:none}
.floor-canvas.landmark-mode .map-landmark-popover{left:calc(var(--landmark-size,36px)*.68);bottom:calc(var(--landmark-size,36px)*.78);width:var(--popover-width,220px);max-width:min(var(--popover-width,220px),48vw);box-shadow:0 8px 20px rgba(20,30,50,.14);white-space:normal}
.floor-canvas.landmark-mode .map-landmark-popover.popover-compact{padding:5px 7px;border-radius:5px}.floor-canvas.landmark-mode .map-landmark-popover.popover-glass{background:rgba(255,255,255,.72);backdrop-filter:blur(8px)}.booth-public-qr-panel{padding:16px 20px}.booth-public-qr-panel .public-booth-qr{grid-template-columns:104px minmax(0,1fr);margin:0;padding:0;border-top:0}.booth-public-qr-panel .public-booth-qr-thumb{max-width:104px}.booth-public-qr-panel .public-booth-qr h2{margin:2px 0 4px;font-size:clamp(1.05rem,2vw,1.35rem)}
@media(max-width:620px){.booth-public-qr-panel .public-booth-qr{grid-template-columns:86px minmax(0,1fr)}.booth-public-qr-panel .public-booth-qr-thumb{max-width:86px}}

/* Full-width managed exhibition switcher 2026-08-24 */
.exhibition-studio-layout{grid-template-columns:minmax(0,1fr);gap:12px}
.exhibition-library-panel{position:static;top:auto;max-height:none;overflow:hidden;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(280px,1.4fr) minmax(150px,.55fr);grid-template-rows:auto auto;align-items:end;gap:8px 12px;padding:12px 14px}
.exhibition-library-head{align-self:center}
.exhibition-library-list{grid-column:1/-1;min-height:0;display:flex;align-content:initial;overflow-x:auto;overflow-y:hidden;gap:8px;padding:2px 0 5px;scroll-snap-type:x proximity;scrollbar-gutter:stable}
.exhibition-library-item{box-sizing:border-box;flex:0 0 clamp(250px,28vw,340px);width:auto;min-width:250px;max-width:340px;min-height:60px;scroll-snap-align:start}
.exhibition-studio-workspace{width:100%}
@media(max-width:900px){.exhibition-library-panel{grid-template-columns:minmax(0,1fr) 170px}.exhibition-library-head{grid-column:1/-1}.exhibition-library-list{grid-column:1/-1}}
@media(max-width:620px){.exhibition-library-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto auto}.exhibition-library-head,.exhibition-library-list{grid-column:1}.exhibition-library-list{display:flex;max-height:none;overflow-x:auto;overflow-y:hidden}.exhibition-library-item{flex:0 0 82vw;width:82vw;min-width:230px;max-width:300px}}

/* Adaptive floor-plan colour controls 2026-08-24 */
label.field:has(>.floorplan-color-palette){container-type:inline-size}
.floorplan-color-compact{display:none;grid-template-columns:minmax(0,1fr) 36px;gap:6px;align-items:center;margin-top:4px}
.floorplan-color-select{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:5px 28px 5px 8px;border:1px solid var(--line);border-left:16px solid var(--selected-color,#111827);border-radius:8px;background-color:#fff;color:var(--ink);font:inherit;font-size:12px;font-weight:800}
.floorplan-color-compact-custom{box-sizing:border-box;width:36px;height:36px;padding:2px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}
@container (max-width:250px){.floorplan-color-palette{display:none!important}.floorplan-color-compact{display:grid}}

/* North arrow label separation 2026-08-24 */
.floorplan-north.north-with-label,.public-floorplan-north.north-with-label{width:max(24px,var(--north-size,36px));height:max(28px,var(--north-size,36px));grid-template-rows:max-content minmax(0,1fr);row-gap:2px}
.floorplan-north.north-with-label b,.public-floorplan-north.north-with-label b{position:static;z-index:auto;align-self:start;font-size:max(9px,calc(var(--north-size,36px)*.22));line-height:1}
.floorplan-north.north-with-label svg,.public-floorplan-north.north-with-label svg{align-self:stretch;width:72%;height:100%;min-height:0}
.floorplan-north.north-no-label,.public-floorplan-north.north-no-label{grid-template-rows:1fr}
.floorplan-north.north-no-label b,.public-floorplan-north.north-no-label b{display:none}
.floorplan-north.north-no-label svg,.public-floorplan-north.north-no-label svg{grid-row:1;width:82%;height:82%}

/* Optional floor-plan element borders 2026-08-24 */
.floorplan-overlay-no-border{border-color:transparent!important;outline:0!important}

/* Editor effective extent and visual colour select 2026-08-24 */
.editor-canvas-frame.effective-extent{overflow:hidden}
.editor-canvas-frame.effective-extent .floorplan-display-extent{display:none!important}
.floorplan-color-select option{font-weight:800;background:#fff}
.booth-row-actions .admin-record-open.danger{color:var(--brand-red)}
/* Clean adaptive landmark labels 2026-08-24 */
.floor-canvas.landmark-mode .map-booth.landmark{min-width:var(--landmark-size,36px);min-height:var(--landmark-size,36px);overflow:visible}
.floor-canvas.landmark-mode .map-landmark-pin{display:grid;width:var(--landmark-size,36px);height:var(--landmark-size,36px);place-items:center;border:0;border-radius:0;background:transparent;color:var(--booth-color);box-shadow:none;transform:none}
.floor-canvas.landmark-mode .map-landmark-pin .ui-icon{width:82%;height:82%;transform:none;filter:none}
.floor-canvas.landmark-mode .map-booth.landmark .map-booth-label{position:absolute;left:50%;top:calc(50% + var(--landmark-size,36px)/2 + 3px);display:grid;justify-items:center;gap:1px;width:max-content;max-width:180px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);line-height:1.15;text-align:center;transform:translateX(-50%);transition:opacity .12s ease}
.floor-canvas.landmark-mode .map-booth.landmark .map-booth-code{padding:0;border:0;border-radius:0;background:transparent;color:var(--booth-color);font-size:max(9px,.92em);font-weight:900;line-height:1.05;white-space:nowrap}
.floor-canvas.landmark-mode .map-booth.landmark .map-booth-name{display:block;max-width:180px;overflow:hidden;color:var(--ink);font-size:max(9px,.9em);font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.floor-canvas.landmark-mode .map-booth.landmark.label-colliding .map-booth-label{visibility:hidden;opacity:0;pointer-events:none}
.floor-canvas.landmark-mode .map-booth.landmark.label-colliding:is(:hover,:focus-visible,.selected) .map-landmark-popover{display:grid}
.editor-item.landmark{min-width:var(--landmark-size,36px);min-height:var(--landmark-size,36px);outline:0;background:transparent;box-shadow:none}
.editor-landmark-pin{position:absolute;left:50%;top:50%;display:grid!important;width:var(--landmark-size,36px);height:var(--landmark-size,36px);place-items:center;border:0;border-radius:0;background:transparent;color:var(--editor-color);box-shadow:none;transform:translate(-50%,-50%)}
.editor-landmark-pin .ui-icon{width:82%;height:82%;transform:none;filter:none}
.editor-landmark-label{position:absolute;left:50%;top:calc(50% + var(--landmark-size,36px)/2 + 3px);display:grid;justify-items:center;gap:1px;width:max-content;max-width:180px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);line-height:1.15;text-align:center;transform:translateX(-50%);transition:opacity .12s ease}
.editor-landmark-label b{padding:0;border:0;border-radius:0;background:transparent;color:var(--editor-color);font-size:max(9px,.92em);font-weight:900;line-height:1.05;white-space:nowrap}
.editor-landmark-label span{display:block;max-width:180px;overflow:hidden;color:var(--ink);font-size:max(9px,.9em);font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.editor-item.landmark.label-colliding .editor-landmark-label{visibility:hidden;opacity:0;pointer-events:none}
.editor-item.landmark.label-colliding:is(:hover,:focus-visible) .editor-landmark-popover,.editor-item.landmark.selected .editor-landmark-popover{display:grid}
.editor-item.landmark.selected .editor-landmark-pin{border-radius:3px;outline:2px solid color-mix(in srgb,var(--editor-color) 70%,white);outline-offset:3px}
/* Unified public floorplan coordinates and compact booth workflow 2026-08-24 */
.admin-function-tabs{display:grid!important;grid-template-columns:repeat(10,minmax(76px,1fr));gap:4px;overflow:visible!important;padding:6px}
.admin-function-tabs button{box-sizing:border-box!important;width:auto!important;max-width:none!important;min-width:0!important;min-height:38px;flex:auto!important;padding:7px 5px!important;font-size:12px;line-height:1.25;white-space:nowrap}
.editor-display-save-status{align-self:center;color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap}
.editor-display-save-status[data-state="saving"]{color:var(--brand-blue)}
.editor-display-save-status[data-state="pending"]{color:#a15c00}
.editor-display-save-status[data-state="error"]{color:var(--brand-red)}
.floorplan-public-overlays{overflow:hidden}
.floor-canvas.floorplan-centered-crop{box-shadow:0 8px 24px rgba(20,30,50,.12)}
.floor-canvas.landmark-mode .map-booth.landmark{width:var(--landmark-size,36px)!important;height:var(--landmark-size,36px)!important;min-width:var(--landmark-size,36px);min-height:var(--landmark-size,36px);padding:0;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;overflow:visible;transform:translate(-50%,-50%)}
.floor-canvas.landmark-mode .map-landmark-pin,.editor-landmark-pin{display:grid!important;width:var(--landmark-size,36px);height:var(--landmark-size,36px);place-items:center;border:0!important;border-radius:0!important;background:transparent!important;color:var(--booth-color,var(--editor-color,var(--brand-blue)))!important;box-shadow:none!important;filter:none!important;transform:none!important}
.floor-canvas.landmark-mode .map-landmark-pin .ui-icon,.editor-landmark-pin .ui-icon{width:82%;height:82%;stroke-width:1.5;filter:none!important;transform:none!important}
.floor-canvas.landmark-mode .map-booth.landmark .map-booth-label,.editor-item.landmark .editor-landmark-label{display:none!important}
.floor-canvas.landmark-mode .map-landmark-popover,.editor-item.landmark .editor-landmark-popover{position:absolute;left:50%!important;bottom:calc(50% + var(--landmark-size,36px)/2 + 9px)!important;z-index:60;display:none;width:var(--popover-width,220px)!important;max-width:min(var(--popover-width,220px),calc(100vw - 32px))!important;box-sizing:border-box;padding:10px 12px!important;border:1px solid color-mix(in srgb,var(--booth-color,var(--editor-color,var(--brand-blue))) 22%,#d7e0e9)!important;border-radius:12px!important;background:rgba(255,255,255,.96)!important;color:var(--ink)!important;box-shadow:0 10px 26px rgba(17,32,52,.14)!important;backdrop-filter:blur(9px);line-height:1.35;text-align:left;white-space:normal!important;transform:translateX(-50%)}
.floor-canvas.landmark-mode .map-landmark-popover::after,.editor-item.landmark .editor-landmark-popover::after{position:absolute;left:50%;bottom:-5px;width:9px;height:9px;border-right:1px solid #d7e0e9;border-bottom:1px solid #d7e0e9;background:inherit;content:"";transform:translateX(-50%) rotate(45deg)}
.floor-canvas.landmark-mode .map-booth.landmark:is(:hover,:focus-visible,.selected) .map-landmark-popover,.editor-item.landmark:is(:hover,:focus-visible) .editor-landmark-popover{display:grid!important;gap:4px}
.editor-item.landmark.selected:not(:hover):not(:focus-visible) .editor-landmark-popover{display:none!important}
.map-landmark-popover>b,.editor-landmark-popover>b{color:var(--booth-color,var(--editor-color,var(--brand-blue)));font-size:12px;letter-spacing:.02em}
.map-landmark-popover>span,.editor-landmark-popover>span{font-size:13px;font-weight:800}
.map-landmark-popover small{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}
.map-landmark-popover.popover-compact,.editor-landmark-popover.popover-compact{padding:7px 9px!important;border-radius:9px!important}
.map-landmark-popover.popover-glass,.editor-landmark-popover.popover-glass{background:rgba(245,250,255,.8)!important;backdrop-filter:blur(14px) saturate(1.15)}
.editor-item.landmark{width:var(--landmark-size,36px)!important;height:var(--landmark-size,36px)!important;outline:0!important;transform:translate(-50%,-50%)}
.editor-item.landmark,.editor-item.landmark.selected,.editor-item.landmark.overlap{border:0!important;outline:0!important;box-shadow:none!important}
.editor-item.landmark.selected .editor-landmark-pin .ui-icon{stroke-width:2.1}
.editor-item.landmark.selected .editor-landmark-pin{border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important}
@media(max-width:1180px){.admin-function-tabs{grid-template-columns:repeat(5,minmax(90px,1fr))}}
@media(max-width:700px){.admin-function-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.admin-function-tabs button{font-size:12px!important}.map-viewport,.booth-map-viewport,.embed-map .map-viewport{min-height:420px}.floor-canvas.landmark-mode .map-landmark-popover,.editor-item.landmark .editor-landmark-popover{max-width:min(var(--popover-width,220px),78vw)!important}}
/* Booth removal choices and direct page jump 2026-08-24 */
.booth-table-wrap{min-height:0!important}
.booth-row-actions{align-items:center;flex-wrap:wrap}.booth-removal-control{display:grid;grid-template-columns:minmax(132px,1fr) 29px;gap:4px;align-items:center}.booth-removal-control select{min-width:132px}.admin-page-jump{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;font-weight:800}.admin-page-jump select{min-width:62px;height:32px;padding:4px 7px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit}
@media(max-width:700px){.admin-pagination{flex-wrap:wrap}.admin-page-jump{order:2}.admin-pagination [data-booth-page-info]{order:3;width:100%}}

/* Shared notice layout and full-width public floor plans 2026-08-24 */
.notice{min-width:0;max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-height:1.55}
.grid>.notice,.form-grid>.notice,.booth-mosaic>.notice,.carousel>.notice,.floorplan-config-panels>.notice,.editor-settings-panels>.notice{grid-column:1/-1;width:100%;justify-self:stretch}
.booth-mosaic>.notice{align-self:start;grid-row:auto;min-height:0;padding:12px 14px}
.public-map-toolbar button[data-zoom],.public-map-toolbar button[data-font]{display:inline-grid;width:38px;min-width:38px;height:38px;padding:0;place-items:center;font-size:0;line-height:1}
.public-map-toolbar button[data-zoom] .ui-icon,.public-map-toolbar button[data-font] .ui-icon{width:20px;height:20px}
.public-map-toolbar button[data-font="down"] .ui-icon{transform:scale(.82)}
.public-map-toolbar button[data-font="up"] .ui-icon{transform:scale(1.08)}
#map .map-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"floors" "workspace" "detail";min-height:0}
#map .map-sidebar{grid-area:floors;display:flex;align-items:center;gap:10px;overflow-x:auto;padding:9px 12px;border:0;border-bottom:1px solid var(--line)}
#map .map-sidebar h3{flex:0 0 auto;margin:0;white-space:nowrap}
#map .map-sidebar [data-floor-list]{display:flex;gap:5px;min-width:0}
#map .map-sidebar .floor-button{width:auto;min-width:max-content;margin:0;padding:7px 10px}
#map .map-workspace{grid-area:workspace;min-width:0}
#map .map-detail{grid-area:detail;display:block;padding:11px 14px;border:0;border-top:1px solid var(--line)}
#map .map-detail h3{display:inline-block;margin:0 12px 0 0}
#map .map-detail [data-booth-detail]{display:inline-block;vertical-align:top}
#map .map-detail [data-booth-detail]>.muted{margin:0}
#map .map-viewport{min-height:clamp(520px,55vw,760px)}
.booth-map-viewport{width:100%;max-height:760px}
@media(max-width:700px){.booth-map-viewport{height:420px!important;min-height:420px!important}.public-map-toolbar{align-items:center}.public-map-toolbar label{flex:1 1 150px}.public-map-toolbar .map-search{width:100%}#map .map-viewport{min-height:420px}#map .map-detail [data-booth-detail]{display:block;margin-top:6px}}
/* Unified maximum-width floor-plan surfaces 2026-08-24 */
.floorplan-wide-shell{width:min(1180px,calc(100% - 28px))!important;max-width:1180px!important;margin-inline:auto}
.floorplan-wide-shell .floorplan-calibration-workspace,.floorplan-wide-shell .floorplan-calibration-toolbar,.floorplan-wide-shell .floorplan-calibration-viewport,.floorplan-wide-shell .editor-plan-bar,.floorplan-wide-shell .editor-map-workspace,.floorplan-wide-shell .editor-map-toolbar,.floorplan-wide-shell .editor-map-viewport,.floorplan-wide-shell #map,.floorplan-wide-shell .booth-exhibition-context,.floorplan-wide-shell .booth-map-viewport{width:100%;max-width:none}
.floorplan-wide-shell .floorplan-calibration-viewport,.floorplan-wide-shell .editor-map-viewport{max-height:1100px}
.floorplan-wide-shell .floorplan-calibration-frame,.floorplan-wide-shell .editor-canvas-frame{max-width:none}
.booth-map-viewport{max-height:1100px}
@media(max-width:700px){.floorplan-wide-shell{width:calc(100% - 20px)!important}.floorplan-wide-shell .floorplan-calibration-viewport,.floorplan-wide-shell .editor-map-viewport{height:420px;min-height:420px;max-height:420px}}
.floorplan-calibration-viewport:fullscreen,.editor-map-viewport:fullscreen,.map-viewport:fullscreen,.booth-map-viewport:fullscreen{width:100vw!important;max-width:none!important;height:100vh!important;min-height:100vh!important;max-height:none!important;border:0!important;border-radius:0!important;background:#e9eef4}
.public-map-toolbar button[data-map-fullscreen],.booth-map-toolbar button[data-booth-map-fullscreen]{display:inline-grid;width:38px;min-width:38px;height:38px;padding:0;place-items:center;font-size:0;line-height:1}

/* Guaranteed public floor-plan viewport and publication controls 2026-08-24 */
#map .map-workspace>.map-viewport{display:block!important;flex:0 0 auto!important;width:100%!important;height:clamp(520px,62vw,740px)!important;min-height:520px!important;max-height:740px!important;position:relative;overflow:hidden}
.publication-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.publication-state-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.publication-state-option:has(input:checked){border-color:var(--brand-red);background:#fff2f4;box-shadow:0 0 0 2px rgba(208,9,43,.08)}
.publication-state-option input{margin-top:4px}.publication-state-option b{display:block;margin-bottom:4px}.publication-state-option small{display:block;color:var(--muted);line-height:1.45}
.publication-maintenance-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.exhibition-maintenance-panel{margin-top:18px;padding:28px;text-align:center}.exhibition-maintenance-panel .ui-icon{width:34px;height:34px;color:var(--brand-blue)}
@media(max-width:700px){#map .map-workspace>.map-viewport{height:420px!important;min-height:420px!important;max-height:420px!important}.publication-state-grid,.publication-maintenance-fields{grid-template-columns:1fr}}
/* Exhibition entrance mosaic 2026-08-24 */
.exhibition-photo-mosaic{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:150px;gap:8px;overflow:visible!important;padding:0!important}
.exhibition-photo-mosaic .carousel-item{position:relative;min-width:0;overflow:hidden;border:0;border-radius:12px;background:#eef3f6;box-shadow:none}
.exhibition-photo-mosaic .carousel-item:nth-child(1),.exhibition-photo-mosaic .carousel-item:nth-child(6){grid-column:span 2;grid-row:span 2}
.exhibition-photo-mosaic .carousel-media-shell,.exhibition-photo-mosaic .carousel-media,.exhibition-photo-mosaic .carousel-media-open,.exhibition-photo-mosaic .carousel-photo{width:100%;height:100%!important;border-radius:0!important;object-fit:cover!important;background-size:cover!important}
.exhibition-photo-mosaic .carousel-context,.exhibition-photo-mosaic .carousel-item>b,.exhibition-photo-mosaic .carousel-item>small{position:absolute;z-index:2;left:9px;right:9px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.75)}
.exhibition-photo-mosaic .carousel-context{bottom:34px}.exhibition-photo-mosaic .carousel-item>b{bottom:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exhibition-photo-mosaic .carousel-item>small{display:none}
.exhibition-photo-mosaic .carousel-item::after{position:absolute;inset:45% 0 0;z-index:1;background:linear-gradient(transparent,rgba(8,16,28,.78));content:"";pointer-events:none}
@media(max-width:850px){.exhibition-photo-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:140px}.exhibition-photo-mosaic .carousel-item:nth-child(6){grid-column:span 1;grid-row:span 1}}
@media(max-width:560px){.exhibition-photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:128px}.exhibition-photo-mosaic .carousel-item:nth-child(1){grid-column:span 2;grid-row:span 2}}
.admin-security-form{display:grid;grid-template-columns:140px minmax(180px,1fr) minmax(220px,1.5fr) 140px auto;gap:12px;align-items:end}.admin-blacklist-toggle{display:inline-flex;gap:7px;align-items:center;font-weight:700;font-size:.88rem}.analytics-kpis{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;margin:18px 0}.analytics-kpis article{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.analytics-kpis span{display:block;color:var(--muted);font-size:.8rem}.analytics-kpis b{display:block;font-size:1.55rem;margin-top:5px}.admin-report-table-wrap{overflow:auto}.admin-report-table{width:100%;border-collapse:collapse}.admin-report-table th,.admin-report-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right}.admin-report-table th:first-child,.admin-report-table td:first-child{text-align:left}@media(max-width:900px){.admin-security-form{grid-template-columns:1fr 1fr}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-security-form{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:1fr 1fr}}.account-reset-panel,.public-profile-card{width:min(720px,100%);margin:48px auto;padding:clamp(22px,4vw,40px)}.media-uploader-link{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--brand-blue);font-size:.84rem;font-weight:800}.public-profile-head{display:flex;gap:18px;align-items:center}.public-profile-head img,.public-profile-head>span{width:88px;height:88px;border-radius:50%;object-fit:cover;background:#eef3f7;display:grid;place-items:center}.public-profile-bio{white-space:pre-wrap;line-height:1.7}.public-profile-links{display:flex;gap:8px;flex-wrap:wrap}.public-profile-links a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;text-decoration:none}
/* V1.0.4 multi-file upload */
.upload-dialog-card{width:min(860px,calc(100vw - 28px));max-height:min(92vh,920px);overflow:auto}.upload-dialog-card .dialog-head{position:sticky;z-index:5;top:-1px;background:#fff}.upload-selection-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upload-selection-fields>.field:last-child{grid-column:1/-1}.upload-rule-notice{margin:0;line-height:1.55}.upload-analysis-batch{display:grid;gap:12px;padding-top:4px}.upload-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-analysis-head h3,.upload-analysis-head p{margin:0}.upload-analysis-list{display:grid;gap:10px}.upload-analysis-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#f9fbfc}.upload-analysis-preview{position:relative;min-height:132px;overflow:hidden;border-radius:9px;background:#e9eef2}.upload-analysis-preview img,.upload-analysis-preview video{display:block;width:100%;height:100%;min-height:132px;max-height:190px;object-fit:contain;background:#fff}.upload-analysis-preview>span{position:absolute;top:7px;left:7px;display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:rgba(10,20,40,.8);color:#fff;font-weight:900}.upload-analysis-fields{display:grid;gap:8px;min-width:0}.upload-analysis-file{display:grid;gap:2px}.upload-analysis-file b,.upload-analysis-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-analysis-file small{color:var(--muted)}.upload-locked-booth{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #cbd9e5;border-radius:9px;background:#fff;color:var(--brand-blue)}.upload-locked-booth>span{display:grid}.upload-locked-booth small{color:var(--muted)}.upload-analysis-fields textarea{min-height:74px}.upload-analysis-fields [data-state="error"]{color:var(--brand-red);font-weight:800}.upload-analysis-fields [data-state="success"]{color:#0f7a4c;font-weight:800}@media(max-width:620px){.upload-selection-fields,.upload-analysis-card{grid-template-columns:1fr}.upload-analysis-preview{min-height:190px}.upload-analysis-preview img,.upload-analysis-preview video{max-height:260px}.upload-dialog-card{width:calc(100vw - 14px);padding:14px}}
/* V1.0.4 publication controls */
.publication-head-actions,.publication-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.publication-head-actions{justify-content:flex-end}.publication-head-actions .button.disabled{opacity:.45;pointer-events:auto;cursor:not-allowed}.publication-form-actions{justify-content:flex-start}.publication-form-actions .button{width:auto}@media(max-width:640px){.publication-head-actions{width:100%;justify-content:space-between}.publication-form-actions{display:grid;grid-template-columns:1fr}.publication-form-actions .button{width:100%}}

/* V1.0.4 three-column feed and exhibition applications */
.feed-layout.feed-layout-three{width:100%;grid-template-columns:minmax(210px,250px) minmax(0,650px) minmax(210px,250px);gap:16px;justify-content:stretch;align-items:start}.feed-main-column{min-width:0}.exhibition-highlight-column,.feed-right-column{min-width:0}.exhibition-highlight-groups{display:grid;gap:15px}.exhibition-highlight-group{display:grid;gap:7px}.exhibition-highlight-group h3{margin:0;font-size:13px;color:var(--brand-red)}.exhibition-highlight-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:#fff}.exhibition-highlight-card:hover{border-color:var(--brand-red);background:var(--brand-red-soft)}.exhibition-highlight-card img{width:58px;height:46px;object-fit:cover;border-radius:7px;background:#f3f6f8}.exhibition-highlight-card span{display:grid;gap:2px;min-width:0}.exhibition-highlight-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.exhibition-highlight-card small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.exhibition-apply-card{border-top:3px solid var(--brand-red)}.exhibition-apply-card p{line-height:1.55}.quote-summary{display:grid;gap:8px}.quote-line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}.quote-total{font-size:20px;font-weight:900;color:var(--brand-red)}.application-status-card{display:grid;gap:10px}.pricing-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.application-admin-list{display:grid;gap:10px}.application-admin-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff}.application-admin-card h3,.application-admin-card p{margin:0}.application-admin-card form{display:grid;gap:8px}@media(max-width:1100px){.feed-layout.feed-layout-three{grid-template-columns:minmax(0,650px) minmax(230px,280px);justify-content:center}.feed-layout-three>.feed-main-column{grid-column:1;grid-row:1/span 3}.feed-layout-three>.exhibition-highlight-column{display:grid;grid-column:2;grid-row:1}.feed-layout-three>.feed-right-column{display:grid;grid-column:2;grid-row:2}}@media(max-width:760px){.feed-layout.feed-layout-three{display:flex;max-width:650px;flex-direction:column}.feed-layout-three>.feed-main-column{order:1}.feed-layout-three>.exhibition-highlight-column{display:grid;order:2;width:100%}.feed-layout-three>.feed-right-column{display:grid;order:3;width:100%}.pricing-admin-grid{grid-template-columns:1fr 1fr}.application-admin-card{grid-template-columns:1fr}}@media(max-width:520px){.pricing-admin-grid{grid-template-columns:1fr}}
.manager-pricing-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(420px,1.6fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.manager-pricing-card h3,.manager-pricing-card p{margin:0}.manager-capacity-request{display:grid;grid-template-columns:130px minmax(180px,1fr) auto;gap:8px;align-items:end}@media(max-width:800px){.manager-pricing-card,.manager-capacity-request{grid-template-columns:1fr}}

.capacity-admin-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);gap:20px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.capacity-admin-card form{display:grid;gap:10px;align-content:start}@media(max-width:800px){.capacity-admin-card{grid-template-columns:1fr}}

/* V1.0.4 managed exhibition card containment */
.exhibition-library-item{position:relative!important;display:grid!important;grid-template-columns:48px minmax(0,1fr) max-content!important;align-items:center!important;column-gap:10px!important;overflow:hidden!important;padding:9px 10px!important}
.exhibition-library-item>img,.exhibition-library-item>.exhibition-library-fallback{position:static!important;grid-column:1!important;grid-row:1!important;width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;object-fit:cover!important;border-radius:10px!important;align-self:center!important}
.exhibition-library-item>span:nth-child(2){position:static!important;grid-column:2!important;grid-row:1!important;display:grid!important;gap:2px!important;min-width:0!important;overflow:hidden!important;text-align:left!important}
.exhibition-library-item>span:nth-child(2)>b,.exhibition-library-item>span:nth-child(2)>small{display:block!important;width:100%!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.exhibition-library-item>i.status{position:static!important;grid-column:3!important;grid-row:1!important;align-self:center!important;margin:0!important;white-space:nowrap!important;z-index:1!important}
@media(max-width:620px){.exhibition-library-item{grid-template-columns:42px minmax(0,1fr)!important}.exhibition-library-item>img,.exhibition-library-item>.exhibition-library-fallback{width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important}.exhibition-library-item>i.status{grid-column:2!important;grid-row:2!important;justify-self:start!important;margin-top:4px!important}}

/* V1.0.4 issue reporting */
.issue-report-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(420px,1.28fr);gap:20px;align-items:start}.issue-report-form-panel{position:sticky;top:88px}.issue-report-form-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:12px}.issue-report-list,.issue-admin-list{display:grid;gap:14px}.issue-report-card,.issue-admin-card{border:1px solid #dbe3ec;border-radius:18px;background:#fff;padding:18px}.issue-report-card-head,.issue-admin-summary>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.issue-report-card-head{justify-content:space-between}.issue-report-card-head h3,.issue-admin-summary h3{flex-basis:100%;margin:4px 0 0}.issue-category{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eef6ff;color:#0b6fb7;font-size:12px;font-weight:800}.issue-description{white-space:pre-wrap;line-height:1.65}.issue-page-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:8px 0}.issue-report-attachment{display:inline-flex;align-items:center;gap:7px;margin:8px 0;padding:8px 11px;border:1px solid #cbd5e1;border-radius:10px}.issue-message-list{display:grid;gap:8px;list-style:none;padding:0;margin:14px 0}.issue-message{padding:11px 13px;border-radius:12px;background:#f3f6fa;border-left:3px solid #7b8798}.issue-message.admin{background:#fff2f4;border-left-color:#d10b2f}.issue-message>div{display:flex;justify-content:space-between;gap:10px}.issue-message time,.issue-report-card time{font-size:12px;color:#697386}.issue-message p{margin:6px 0 0;white-space:pre-wrap}.issue-reply-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.issue-admin-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,340px);gap:18px}.issue-admin-review{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.issue-admin-review .field:nth-child(3),.issue-admin-review .button{grid-column:1/-1}.issue-admin-filters{grid-template-columns:minmax(260px,1fr) 190px auto auto}.admin-console-tabs{flex-wrap:wrap}.admin-console-tabs button{flex:1 1 120px;min-width:110px}
@media(max-width:900px){.issue-report-layout,.issue-admin-card{grid-template-columns:1fr}.issue-report-form-panel{position:static}.issue-report-form-grid,.issue-admin-review{grid-template-columns:1fr}.issue-admin-review .field:nth-child(3),.issue-admin-review .button{grid-column:auto}.issue-admin-filters{grid-template-columns:1fr 1fr}.issue-reply-form{grid-template-columns:1fr}}
@media(max-width:560px){.issue-admin-filters{grid-template-columns:1fr}.issue-report-card,.issue-admin-card{padding:14px}.issue-report-card-head{align-items:flex-start}.issue-message>div{display:grid;gap:2px}}

/* V1.0.4 exhibition billing and unit pricing */
.exhibition-billing-section{display:grid;gap:18px}.exhibition-billing-section[hidden]{display:none}.billing-summary{display:grid;gap:14px}.billing-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.billing-kpis article{display:grid;gap:4px;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fff,#f6f9fc)}.billing-kpis span,.billing-kpis small{color:var(--muted)}.billing-kpis strong{font-size:clamp(20px,2.5vw,30px);color:var(--ink)}.billing-comparison{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:14px}.billing-comparison>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(90px,.5fr) minmax(90px,.5fr);gap:10px;padding:9px 13px;border-bottom:1px solid var(--line)}.billing-comparison>div:last-child{border-bottom:0}.billing-comparison-head{background:#eef4f8;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.04em}.billing-plan-form{padding:15px;border:1px solid var(--line);border-radius:16px;background:#f9fbfc}.billing-form-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.billing-form-head h3,.billing-form-head p{margin:0}.billing-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.billing-plan-grid .checkbox-field{align-content:center;justify-content:start;grid-template-columns:auto 1fr;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.billing-admin-actions{display:flex;gap:8px;justify-content:flex-end}.billing-history{display:grid;grid-template-columns:1fr 1fr;gap:18px}.billing-record-list{display:grid;gap:8px}.billing-record-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.billing-record-list article>div{display:grid;gap:2px}.billing-record-list small{color:var(--muted)}.billing-payment-form{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;margin-bottom:12px}.billing-payment-form .billing-note-field{grid-column:span 2}.billing-payment-form .button{align-self:end}.pricing-admin-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.pricing-admin-grid .pricing-pair{display:contents}.pricing-unit-note{grid-column:1/-1;margin:0;padding:10px 12px;border-left:3px solid var(--brand-blue);background:#f0f7fc;color:var(--muted)}
@media(max-width:1000px){.billing-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-history{grid-template-columns:1fr}.pricing-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.billing-kpis,.billing-plan-grid,.billing-payment-form,.pricing-admin-grid{grid-template-columns:1fr 1fr}.billing-form-head{display:grid}.billing-comparison>div{grid-template-columns:minmax(110px,1fr) 72px 72px}.billing-payment-form .billing-note-field{grid-column:1/-1}.billing-admin-actions{display:grid;grid-template-columns:1fr}.billing-admin-actions .button{width:100%}}
@media(max-width:480px){.billing-kpis,.billing-plan-grid,.billing-payment-form,.pricing-admin-grid{grid-template-columns:1fr}.billing-payment-form .billing-note-field{grid-column:auto}}
.pricing-settings-panel{display:grid;gap:16px}.pricing-version-bar{display:flex;align-items:center;gap:24px;padding:10px 12px;border:1px solid #cfe0ec;border-radius:12px;background:#f4f9fc}.pricing-version-bar>div{display:grid;gap:2px}.pricing-version-bar small{color:var(--muted)}.pricing-version-bar strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--brand-blue);overflow-wrap:anywhere}.pricing-settings-form{gap:14px}.pricing-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(230px,1fr));gap:10px}.pricing-rule-card{min-width:0;margin:0;padding:11px 12px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.pricing-rule-card legend{padding:0 5px;font-size:13px;font-weight:900;color:var(--ink)}.pricing-rule-card p,.pricing-rule-card label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;color:var(--muted);line-height:1.5}.pricing-rule-card label{justify-content:space-between;margin-top:8px}.pricing-rule-card input{box-sizing:border-box;width:clamp(78px,8vw,118px);height:36px;padding:5px 8px;border:1px solid #b8c8d4;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:700;text-align:right}.pricing-rule-card input:focus{border-color:var(--brand-blue);outline:2px solid rgba(14,110,184,.14)}.pricing-rule-card-small{display:grid;grid-template-columns:1fr 1fr;gap:8px;grid-column:span 2}.pricing-rule-card-small label{margin:0}.pricing-save-button{justify-self:end;min-width:220px}.pricing-history-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.pricing-history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pricing-history-list article{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fafcfd}.pricing-history-list article div{display:grid;gap:2px}.pricing-history-list article strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--brand-blue);overflow-wrap:anywhere}.pricing-history-list article p,.pricing-history-list article small{margin:0;color:var(--muted)}.pricing-history-list article p b{color:var(--ink)}
@media(max-width:1050px){.pricing-rule-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.pricing-rule-card-small{grid-column:auto}.pricing-history-list{grid-template-columns:1fr}}
@media(max-width:640px){.pricing-version-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pricing-rule-grid{grid-template-columns:1fr}.pricing-rule-card-small{grid-template-columns:1fr 1fr}.pricing-rule-card input{width:92px}.pricing-save-button{justify-self:stretch;width:100%;min-width:0}.pricing-unit-note{padding:9px 10px}.pricing-history-list article{padding:9px 10px}}
@media(max-width:390px){.pricing-version-bar,.pricing-rule-card-small{grid-template-columns:1fr}}
/* V1.0.4 Chinese application label, borderless media derivatives, and pricing layout */
html[lang^="zh"] .exhibition-apply-eyebrow{display:none}
.media-viewer-stage{background:radial-gradient(circle at 50% 40%,#26334c 0,#111725 62%,#090d16 100%)}
.media-viewer-content{background:transparent}
.pricing-rule-card{display:grid;align-content:start;gap:10px;min-height:118px}
.pricing-rule-card .pricing-formula{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.pricing-rule-card .pricing-formula input{flex:0 1 104px;min-width:72px;max-width:104px}
.pricing-rule-card-capacity{grid-row:span 1}
.pricing-capacity-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px!important;margin-top:0!important;padding-top:9px;border-top:1px solid var(--line)}
.pricing-value-unit{display:flex;align-items:center;gap:6px;white-space:nowrap}
.pricing-history-list details{margin-top:3px;border-top:1px solid var(--line);padding-top:6px}
.pricing-history-list summary{cursor:pointer;color:var(--brand-blue);font-size:12px;font-weight:800}
.pricing-history-exhibitions{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}
.pricing-history-exhibitions li{display:grid;gap:1px;padding:6px 8px;border-radius:7px;background:#f2f6f9}
.pricing-history-exhibitions b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pricing-history-exhibitions small{overflow-wrap:anywhere}
@media(max-width:760px){.pricing-rule-card .pricing-formula{flex-wrap:wrap;white-space:normal}.pricing-capacity-row{grid-template-columns:1fr}.pricing-value-unit{justify-content:flex-start}}

/* V1.0.4 booth shape templates, metric grids and polygon drafting */
.editor-shape-template-actions{align-self:end}.editor-shape-template-actions .toolbar{flex-wrap:wrap}.editor-booth-polygon-guide{position:absolute;z-index:11;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.editor-booth-polygon-guide polyline{fill:color-mix(in srgb,var(--brand-red) 10%,transparent);stroke:var(--brand-red);stroke-width:.35;stroke-dasharray:1.2 .7}.editor-draw-point.first{background:#fff;box-shadow:0 0 0 3px var(--brand-red)}.editor-map-viewport[data-active-tool="booth-polygon"] .editor-canvas{cursor:crosshair}.editor-item.polygon{overflow:hidden}.editor-item.polygon .editor-resize-handle{display:none!important}
@media(max-width:700px){.editor-shape-template-actions{grid-column:1/-1}.editor-shape-template-actions .toolbar{display:grid;grid-template-columns:1fr 1fr}}
/* Public floor-plan direct pan controls and calibrated editor scale 2026-08-25 */
.public-map-toolbar button[data-map-pan],.booth-map-actions .button{display:inline-grid;width:38px;min-width:38px;height:38px;padding:0;place-items:center;font-size:0;line-height:1}
.public-map-toolbar button[data-map-pan] .ui-icon,.booth-map-actions .button .ui-icon{width:20px;height:20px}
.public-map-toolbar button[data-map-pan].active,.booth-map-actions .button.active{border-color:color-mix(in srgb,var(--brand-blue) 35%,#cbd5e1);background:#eef7fd;color:var(--brand-blue)}
.booth-map-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}
.map-viewport.pan-enabled,.booth-map-viewport.pan-enabled{cursor:grab;touch-action:none;user-select:none}
.map-viewport.pan-enabled .floor-canvas,.booth-map-viewport.pan-enabled .floor-canvas,.map-viewport.pan-enabled .map-booth,.booth-map-viewport.pan-enabled .map-booth{cursor:grab}
.map-viewport.is-panning,.booth-map-viewport.is-panning,.map-viewport.is-panning .floor-canvas,.booth-map-viewport.is-panning .floor-canvas,.map-viewport.is-panning .map-booth,.booth-map-viewport.is-panning .map-booth{cursor:grabbing!important}
.map-viewport .floor-canvas,.booth-map-viewport .floor-canvas{will-change:transform}
@media(max-width:700px){.booth-map-actions{width:100%;justify-content:flex-start}.booth-map-toolbar>span.muted{width:100%}}
/* Compact booth-editor plan overlays 2026-08-26 */
.editor-overlay-settings .editor-form-grid{grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px}.editor-overlay-settings .field{min-width:0}.editor-overlay-checks{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:8px}@media(max-width:720px){.editor-overlay-settings .editor-form-grid{grid-template-columns:1fr 1fr}}

.upload-selection-fields[hidden]{display:none!important}

/* Exhibition branding upload guidance */
.image-upload-guide{display:flex;flex-wrap:wrap;gap:5px 10px;margin:0 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.image-upload-guide span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;background:#f7f9fc;color:var(--ink)}.image-upload-guide small{flex-basis:100%;font-size:12px;color:var(--muted)}.exhibition-image-file{min-width:0;gap:3px}.exhibition-image-file>span{font-size:12px}.exhibition-image-file input{max-width:220px}@media(max-width:520px){.image-upload-guide span{flex:1 1 auto}.exhibition-image-file input{max-width:none;width:100%}}
/* V1.0.4 full-bleed responsive brand images */
.exhibition-brand-preview img,.exhibition-library-item img,.exhibition-selection-avatar,.exhibition-card .exhibition-avatar,.marketing-exhibition-avatar{object-fit:cover!important;background:transparent!important}
.exhibition-branding>.banner-branding-card{grid-column:1/-1;grid-template-columns:minmax(320px,46%) minmax(0,1fr)}
.exhibition-brand-preview.banner-preview{width:100%;height:auto;aspect-ratio:3/1;background:#eef2f5}
.exhibition-brand-preview.banner-preview img{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center}
.exhibition-brand-preview.avatar-preview img{object-fit:cover!important;object-position:center}
@media(max-width:760px){.exhibition-branding>.banner-branding-card{grid-template-columns:1fr}.exhibition-brand-preview.banner-preview{width:100%;height:auto;aspect-ratio:3/1}}
@media(max-width:520px){.exhibition-brand-preview.avatar-preview{aspect-ratio:1/1;height:auto}.exhibition-brand-preview.banner-preview{height:auto;aspect-ratio:3/1}}
/* V1.0.4 per-booth pricing model layout */
.pricing-rule-grid-v2{grid-template-columns:repeat(4,minmax(190px,1fr))}
.pricing-rule-grid-v2 .pricing-rule-card{min-height:116px;padding:13px 14px}
.pricing-rule-grid-v2 .pricing-simple-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:0}
.pricing-rule-grid-v2 .pricing-value-unit{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.pricing-rule-grid-v2 .pricing-value-unit input{width:104px;min-width:76px}
.pricing-rule-grid-v2 .pricing-rule-card>small{display:block;color:var(--muted);font-size:12px;line-height:1.45}
.pricing-rule-card-compact{min-height:96px!important}
@media(max-width:1100px){.pricing-rule-grid-v2{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:620px){.pricing-rule-grid-v2{grid-template-columns:1fr}.pricing-rule-grid-v2 .pricing-simple-field{grid-template-columns:1fr auto}.pricing-rule-grid-v2 .pricing-rule-card{min-height:0}}
/* Blank floor-plan canvas sizes and aspect-ratio controls 2026-08-26 */
.floorplan-canvas-size-card{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.floorplan-canvas-size-card legend{padding:0 6px;font-weight:900}.floorplan-canvas-size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:end}.floorplan-canvas-size-grid .wide{grid-column:1/-1}.floorplan-canvas-size-card.is-disabled{opacity:.58}.floorplan-upload-form>.floorplan-canvas-size-card{grid-column:1/-1}.floorplan-source-settings>.floorplan-canvas-size-card{display:grid;gap:8px;align-content:start}
@media(max-width:1050px){.floorplan-source-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.floorplan-source-settings>fieldset:last-child{grid-column:1/-1}}
@media(max-width:800px){.floorplan-source-settings,.floorplan-canvas-size-grid{grid-template-columns:1fr}.floorplan-source-settings>fieldset:last-child,.floorplan-canvas-size-grid .wide{grid-column:auto}}
/* V1.0.4 actual billing, sticky header and back-to-top control 2026-08-26 */
html{scroll-padding-top:82px}
body>.site-header{position:sticky!important;top:0!important;z-index:120!important}
.back-to-top{position:fixed;right:max(16px,calc((100vw - 1440px)/2));bottom:22px;z-index:118;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:linear-gradient(145deg,var(--brand-red),#a80020);color:#fff;box-shadow:0 10px 26px rgba(140,0,28,.28);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.back-to-top.visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover,.back-to-top:focus-visible{background:#97001d;outline:3px solid rgba(209,11,47,.2);outline-offset:2px}
.back-to-top .ui-icon{width:22px;height:22px}
.billing-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.billing-comparison{overflow-x:auto}
.billing-comparison>div{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(82px,.5fr));min-width:520px}
@media(max-width:900px){.billing-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:520px){html{scroll-padding-top:72px}.back-to-top{right:12px;bottom:14px;width:42px;height:42px}.billing-kpis{grid-template-columns:1fr}.billing-comparison>div{grid-template-columns:minmax(125px,1fr) repeat(3,76px);min-width:410px}}
/* V1.0.4 progressive mixed feed and single-row topics 2026-08-27 */
.hot-topic-list{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:24px!important;overflow-x:auto;overscroll-behavior-inline:contain;margin:0;padding:2px 0 7px;list-style:none;scrollbar-width:thin}
.hot-topic-list li{flex:0 0 auto;padding:0!important}
.hot-topic-list a{display:inline-flex!important;width:max-content;min-width:max-content;padding:6px 3px!important;white-space:nowrap}
.feed-inline-support{display:none}
@media(max-width:900px),(pointer:coarse){
  .feed-layout.feed-layout-three{display:block!important;width:100%;max-width:650px;margin-inline:auto}
  .feed-layout-three>.exhibition-highlight-column,.feed-layout-three>.feed-right-column{display:none!important}
  .feed-layout-three>.feed-main-column{display:block;width:100%}
  .feed-inline-support{display:block;margin:2px 0;border-radius:18px}
  .feed-inline-support .exhibition-highlight-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .feed-inline-support .exhibition-highlight-card{grid-template-columns:46px minmax(0,1fr)}
  .feed-inline-support .exhibition-highlight-card img{width:46px;height:40px}
}
@media(max-width:620px){
  .feed-inline-support .exhibition-highlight-groups{grid-template-columns:1fr}
  .feed-inline-support{padding:15px}
  .hot-topic-list{gap:22px!important}
}
/* V1.0.4 sticky motion and progressive feed */
body > .site-header{transition:box-shadow .24s ease,background-color .24s ease,transform .24s ease;transform-origin:50% 0}
body > .site-header.is-scrolled{box-shadow:0 8px 28px rgba(15,23,42,.1);background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
body > .site-header.is-scrolling-down .brand-icon,body > .site-header.is-scrolling-down .brand-logo{animation:header-brand-turn .36s ease}
body > .site-header.is-scrolling-up .brand-icon,body > .site-header.is-scrolling-up .brand-logo{animation:header-brand-return .3s ease}
@keyframes header-brand-turn{50%{transform:translateY(2px) rotate(2.5deg) scale(.97)}}
@keyframes header-brand-return{50%{transform:translateY(-1px) rotate(-1.5deg) scale(1.015)}}
.feed-right-column{min-width:0;max-width:250px;width:100%}.feed-right-column .side-card,.feed-right-column p,.feed-right-column a{max-width:100%;overflow-wrap:anywhere;word-break:normal}
.hot-topic-list{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;overflow:visible!important;white-space:normal!important}.hot-topic-list li,.hot-topic-list a{width:auto!important;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
.feed-batch-footer{opacity:0;transform:translateY(22px) rotateX(-14deg);transform-origin:50% 0;transition:opacity .3s ease,transform .38s cubic-bezier(.2,.8,.2,1)}
.feed-batch-footer.batch-visible{opacity:1;transform:translateY(0) rotateX(0)}.feed-batch-footer.batch-moving{opacity:0;transform:translateY(-20px) rotateX(10deg);pointer-events:none}
@media(max-width:900px){.feed-right-column{max-width:none}.feed-inline-support{max-width:100%;overflow:hidden}.feed-inline-support p,.feed-inline-support a{white-space:normal;overflow-wrap:anywhere}}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px 0}.admin-pagination select{min-width:112px;height:40px}.admin-sort-field select{min-width:150px}.admin-result-row{flex-wrap:wrap}.admin-inline-detail{flex:1 0 100%;border-top:1px solid #dbe3ee;padding:14px 16px;background:#f8fafc;display:flex;gap:12px;align-items:flex-start}.admin-inline-detail pre{margin:0;max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.admin-record-expand{border:1px solid #dbe3ee;background:#fff;border-radius:10px;width:40px;height:40px;display:grid;place-items:center;color:#475569}.admin-record-expand[aria-expanded="true"]{background:#fff1f2;color:#be123c;transform:rotate(90deg)}
.pricing-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.pricing-actions .button{width:auto}

.map-download-format select{height:40px;min-width:78px}.public-map-toolbar [data-map-download]{white-space:nowrap}@media(max-width:760px){.map-download-format{order:4}.public-map-toolbar [data-map-download]{order:4}}

.admin-client-controls{display:grid;grid-template-columns:minmax(160px,1fr) repeat(3,auto) auto auto;gap:8px;align-items:center;margin:10px 0}.admin-client-controls input,.admin-client-controls select,.admin-client-controls button{height:40px;min-width:0}.admin-client-list-body{display:grid;gap:10px}@media(max-width:760px){.admin-client-controls{grid-template-columns:1fr 1fr}.admin-client-controls input{grid-column:1/-1}}

/* V1.0.4 always-visible fixed header */
body:not(.legal-page){padding-top:70px}
body:not(.legal-page) > .site-header{position:fixed!important;inset:0 0 auto 0!important;width:100%!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto}
@media(max-width:600px){body:not(.legal-page){padding-top:70px}}
/* V1.0.4 unified floor-plan booth and zone presentation */
.public-map-toolbar>button{display:inline-grid!important;width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;place-items:center!important;font-size:0!important;line-height:1!important}.public-map-toolbar>button .ui-icon{width:20px;height:20px}.map-booth-label{display:grid;justify-items:center;align-content:center;gap:1px}.map-booth-label:empty{display:none}.map-booth-code{font-size:max(9px,.82em);line-height:1.05}.map-booth-name{line-height:1.04}

.map-booth,.editor-item{text-decoration:none!important;font-family:Inter,"Noto Sans TC","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
.map-booth-name,.editor-booth-name{display:-webkit-box;width:100%;max-width:100%;max-height:none;padding:1px 2px;overflow:hidden;color:inherit;font-size:var(--booth-font-size,inherit);font-weight:750;line-height:1.04;text-align:center;text-decoration:none!important;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:6}
.map-booth-hover{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:90;display:none;width:max-content;min-width:170px;max-width:min(290px,calc(100vw - 28px));box-sizing:border-box;padding:8px 10px;border:1px solid color-mix(in srgb,var(--booth-color,var(--editor-color,#c30e23)) 28%,#e5c5ca);border-top:3px solid var(--brand-red,#c30e23);border-radius:9px;background:rgba(255,255,255,.97);color:#8f0b1d;box-shadow:0 10px 24px rgba(50,20,26,.14);font-size:max(11px,.9em);font-weight:750;line-height:1.18;text-align:left;text-decoration:none;white-space:normal;transform:translateX(-50%)}
.map-booth-hover>span{display:block!important;max-width:100%;overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere}.map-booth-hover>span+span{margin-top:2px}.map-booth-hover>.map-booth-hover-line{white-space:nowrap!important}.map-booth-hover-name{display:-webkit-box!important;max-width:270px!important;overflow:hidden!important;line-height:1.15!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}.map-booth-hover-stats{display:flex!important;align-items:center;gap:6px!important;margin-top:5px!important;padding-top:5px;border-top:1px solid rgba(195,14,35,.15);color:var(--brand-red,#c30e23)}.map-booth-hover-stats>span{display:inline-flex!important;align-items:center;gap:3px;white-space:nowrap!important}.map-booth-hover-stats .ui-icon{width:14px;height:14px}.map-booth-hover-stats>i{display:block;width:1px;height:12px;background:rgba(195,14,35,.24)}.map-booth:is(:hover,:focus-visible)>.map-booth-hover,.editor-item:is(:hover,:focus-visible)>.map-booth-hover{display:block}.map-booth-hover::after{position:absolute;left:50%;bottom:-5px;width:9px;height:9px;border-right:1px solid #e5c5ca;border-bottom:1px solid #e5c5ca;background:#fff;content:"";transform:translateX(-50%) rotate(45deg)}
.floor-canvas.landmark-mode .map-booth.landmark>.map-booth-hover,.editor-item.landmark>.map-booth-hover{left:50%;bottom:calc(50% + var(--landmark-size,36px)/2 + 8px);min-width:170px;width:max-content;max-width:min(290px,calc(100vw - 28px));padding:8px 10px;text-align:left}.floor-canvas.landmark-mode .map-booth.landmark:is(:hover,:focus-visible)>.map-booth-hover,.editor-item.landmark:is(:hover,:focus-visible)>.map-booth-hover{display:block!important}
.floorplan-zone-legend{position:absolute;z-index:25;display:grid;gap:5px;min-width:145px;max-width:min(260px,40%);padding:8px;border:1px solid #d6dee7;border-radius:9px;background:color-mix(in srgb,var(--zone-legend-bg,#fff) var(--zone-legend-opacity,90%),transparent);box-shadow:0 5px 16px rgba(17,32,52,.12);font-size:var(--zone-legend-size,11px);line-height:1.08;transform:translate(-50%,-50%)}
.floorplan-zone-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:6px;align-items:stretch}.floorplan-zone-row>i{grid-row:1/3;display:block;min-height:27px;border-radius:3px;background:var(--zone-color,#374151)}.floorplan-zone-row>span{display:grid;gap:2px;min-width:0}.floorplan-zone-row b,.floorplan-zone-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.floorplan-zone-row b{color:var(--ink);font-size:1em}.floorplan-zone-row small{color:var(--muted);font-size:.88em}
.floorplan-zone-legend-editor{cursor:move}.floorplan-canvas-save,.floorplan-save-bar button[data-save-floorplan-setup],.editor-save-bar [data-save-booths-bottom]{display:none!important}
.editor-coordinate-readout{position:absolute;left:12px;bottom:12px;z-index:24;display:grid;gap:2px;max-width:min(390px,calc(100% - 24px));padding:6px 9px;border:1px solid rgba(255,255,255,.48);border-radius:8px;background:rgba(16,25,42,.84);color:#fff;font:800 12px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:move;touch-action:none}.editor-coordinate-readout b{overflow:hidden;color:#fff;font-family:inherit;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.floorplan-coordinate-readout{cursor:move;touch-action:none}
.editor-item.landmark{width:var(--landmark-size,36px)!important;height:var(--landmark-size,36px)!important;min-width:var(--landmark-size,36px);min-height:var(--landmark-size,36px);border:0!important;background:transparent!important;outline:0}.editor-item.landmark>.map-booth-hover{color:#8f0b1d}.editor-item.selected{filter:saturate(.62) brightness(1.25);outline:2px solid var(--brand-red)!important;outline-offset:2px}.editor-item.selected>.editor-booth-name{color:#66101a}
@media(max-width:700px){.map-booth-hover{max-width:min(230px,82vw);font-size:12px}.floorplan-zone-legend{max-width:52%;padding:6px}.editor-coordinate-readout{font-size:12px}.floorplan-zone-row small{white-space:normal}}
/* Current Stories */
.story-rail-card{display:grid;gap:10px;min-width:0;padding:14px 15px;border:1px solid rgba(208,11,45,.16);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fff8f9 100%)}
.story-rail-card>header{display:flex;align-items:center;gap:7px;color:var(--brand-red)}
.story-rail-card>header h2{margin:0;font-size:16px;line-height:1.2}.story-rail-card>header .ui-icon{width:20px;height:20px}
.story-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(108px,1fr);gap:9px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:2px}
.story-tile,.story-mosaic-tile{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:0;border-radius:13px;background:#101827;cursor:pointer;scroll-snap-align:start;aspect-ratio:4/5}
.story-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.story-tile:hover .story-image,.story-mosaic-tile:hover .story-image{transform:scale(1.035)}
.story-account{position:absolute;left:7px;bottom:7px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:2px solid #fff;border-radius:50%;background:var(--brand-red);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.22)}
.story-account>img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.story-account>i{font-style:normal;font-weight:900}.story-account>.ui-icon{position:absolute;right:-5px;bottom:-4px;width:15px;height:15px;padding:2px;border-radius:50%;background:var(--brand-red);color:#fff}
.story-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.story-mosaic-tile{aspect-ratio:1/1}
.media-viewer-story-context{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;border:1px solid rgba(208,11,45,.18);border-radius:12px;background:#fff6f7;color:var(--brand-red)}
.media-viewer-story-context>.ui-icon{width:19px;height:19px}.media-viewer-story-context>img,.media-viewer-story-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover}.media-viewer-story-avatar{display:grid;place-items:center;background:var(--brand-red);color:#fff;font-weight:900}.media-viewer-story-context>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.media-viewer-story-context>span:last-child{margin-left:auto;font-size:12px;font-weight:800}
@media(max-width:900px){.story-mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.story-rail{grid-auto-columns:minmax(96px,31%)}.story-rail-card{margin:2px 0}}
@media(max-width:560px){.story-mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.story-rail{grid-auto-columns:minmax(88px,37%)}.media-viewer-story-context>span:last-child{display:none}}
/* V1.0.4 startup footer: visible above content until the first downward scroll */
body > .site-footer.startup-footer{
  position:fixed!important;
  inset:auto 0 0 0!important;
  z-index:180!important;
  width:100%!important;
  margin:0!important;
  border-top:1px solid rgba(255,255,255,.2);
  background:linear-gradient(120deg,rgba(17,24,47,.98),rgba(32,45,76,.98))!important;
  box-shadow:0 -12px 36px rgba(11,18,35,.32);
  opacity:0!important;
  visibility:visible!important;
  transform:translateY(100%)!important;
  pointer-events:none!important;
  transition:opacity .28s ease,transform .38s cubic-bezier(.2,.8,.2,1)!important;
}
body > .site-footer.startup-footer.startup-footer-visible{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
body > .site-footer.startup-footer.startup-footer-released{
  opacity:0!important;
  transform:translateY(100%)!important;
  pointer-events:none!important;
}
body > .site-footer.startup-footer .footer-bottom{
  width:min(1220px,calc(100% - 32px));
  min-height:66px;
  padding-block:12px;
}
@media(max-width:600px){
  body > .site-footer.startup-footer .footer-bottom{width:calc(100% - 24px);min-height:0;gap:7px;padding-block:10px}
  body > .site-footer.startup-footer .footer-links{justify-content:center;gap:7px 12px}
}

/* Cursor-following booth hover */
.map-booth>.map-booth-hover[data-cursor-hover="true"],.editor-item>.map-booth-hover[data-cursor-hover="true"]{left:calc(var(--hover-x,50)*1%)!important;top:calc(var(--hover-y,50)*1%)!important;bottom:auto!important;transform:translate(-50%,12px)!important;pointer-events:none!important}
.map-booth>.map-booth-hover[data-cursor-hover="true"][data-hover-above="true"],.editor-item>.map-booth-hover[data-cursor-hover="true"][data-hover-above="true"]{transform:translate(-50%,calc(-100% - 12px))!important}
.map-booth>.map-booth-hover[data-cursor-hover="true"][data-hover-align="left"],.editor-item>.map-booth-hover[data-cursor-hover="true"][data-hover-align="left"]{transform:translate(0,12px)!important}
.map-booth>.map-booth-hover[data-cursor-hover="true"][data-hover-align="left"][data-hover-above="true"],.editor-item>.map-booth-hover[data-cursor-hover="true"][data-hover-align="left"][data-hover-above="true"]{transform:translate(0,calc(-100% - 12px))!important}
.map-booth>.map-booth-hover[data-cursor-hover="true"][data-hover-align="right"],.editor-item>.map-booth-hover[data-cursor-hover="true"][data-hover-align="right"]{transform:translate(-100%,12px)!important}
.map-booth>.map-booth-hover[data-cursor-hover="true"][data-hover-align="right"][data-hover-above="true"],.editor-item>.map-booth-hover[data-cursor-hover="true"][data-hover-align="right"][data-hover-above="true"]{transform:translate(-100%,calc(-100% - 12px))!important}
.map-booth-hover[data-cursor-hover="true"]::after{display:none!important}
.map-booth-hover>.map-booth-hover-stats{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;width:max-content!important;max-width:100%!important;white-space:nowrap!important}
.map-booth-hover>.map-booth-hover-stats>span{display:inline-flex!important;margin-top:0!important;white-space:nowrap!important}

/* Keep every floorplan hover card above booths, shapes, lines, text and overlays. */
.map-booth:is(:hover,:focus-visible,:focus-within),.editor-item:is(:hover,:focus-visible,:focus-within){z-index:2147483000!important;isolation:isolate}
.map-booth>.map-booth-hover,.editor-item>.map-booth-hover,.floor-canvas.landmark-mode .map-landmark-popover,.editor-item.landmark .editor-landmark-popover{z-index:2147483640!important}

/* Floorplan visibility and deletion controls. */
.floorplan-library-card{position:relative;grid-template-columns:minmax(0,1fr) auto;padding:0;overflow:hidden}
.floorplan-library-select{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;width:100%;min-width:0;min-height:82px;padding:8px;border:0;background:transparent;color:inherit;text-align:left}
.floorplan-library-select>span:nth-child(2){display:grid;gap:3px;min-width:0}.floorplan-library-select>span:nth-child(2)>.status{justify-self:start;font-style:normal}
.floorplan-library-select>i{grid-column:1/-1;justify-self:end;padding:2px 6px;border-radius:999px;background:#dceefb;color:#07588f;font-size:12px;font-style:normal;font-weight:800}
.floorplan-library-actions{display:grid;gap:5px;align-content:center;padding:8px 8px 8px 0}.floorplan-library-actions .admin-record-open{width:34px;height:34px}
.floorplan-library-card.is-hidden{border-color:#e4c8cc;background:#fff8f9}.floorplan-library-card.is-hidden .floorplan-library-thumb{filter:grayscale(1);opacity:.58}.floorplan-library-card.is-hidden .floorplan-library-select>b{color:var(--muted)}
@media(max-width:700px){.floorplan-library-card{grid-template-columns:minmax(0,1fr) auto}.floorplan-library-select{grid-template-columns:82px minmax(0,1fr)}.floorplan-library-thumb{width:82px}}

/* Public floor-plan icon tooltips and shared text sizing */
.public-map-toolbar,.booth-map-actions{overflow:visible!important}.public-map-toolbar>button,.booth-map-actions>button{position:relative;overflow:visible!important}.public-map-toolbar>button::after,.booth-map-actions>button::after{position:absolute;z-index:1200;left:50%;top:calc(100% + 7px);display:block;width:max-content;max-width:210px;padding:5px 8px;border-radius:6px;background:rgba(20,29,45,.96);color:#fff;box-shadow:0 5px 16px rgba(15,23,42,.2);content:attr(aria-label);font-size:12px!important;font-weight:750;line-height:1.25;letter-spacing:0;opacity:0;pointer-events:none;text-align:center;white-space:normal;transform:translate(-50%,-3px);transition:opacity .14s,transform .14s}.public-map-toolbar>button:is(:hover,:focus-visible)::after,.booth-map-actions>button:is(:hover,:focus-visible)::after{opacity:1;transform:translate(-50%,0)}.public-map-toolbar>button::before,.booth-map-actions>button::before{position:absolute;z-index:1201;left:50%;top:calc(100% + 2px);width:8px;height:8px;background:rgba(20,29,45,.96);content:"";opacity:0;pointer-events:none;transform:translateX(-50%) rotate(45deg);transition:opacity .14s}.public-map-toolbar>button:is(:hover,:focus-visible)::before,.booth-map-actions>button:is(:hover,:focus-visible)::before{opacity:1}.booth-map-actions button[data-booth-font="down"] .ui-icon{transform:scale(.82)}.booth-map-actions button[data-booth-font="up"] .ui-icon{transform:scale(1.08)}.floor-canvas .map-booth-hover,.booth-floor-canvas .map-booth-hover{z-index:1200!important;font-size:var(--floorplan-hover-font-size,12px)!important}.floor-canvas .map-booth:is(:hover,:focus-visible),.booth-floor-canvas .map-booth:is(:hover,:focus-visible){z-index:1199!important}

/* Current floor-plan lifecycle actions in the booth editor. */
.editor-current-plan-actions{display:grid;gap:6px;align-self:end}.editor-current-plan-actions[hidden]{display:none}.editor-current-plan-actions-label{color:var(--muted);font-size:12px;font-weight:900}.editor-current-plan-actions>div{display:flex;gap:7px;flex-wrap:wrap}.editor-current-plan-actions .button{min-height:42px;padding:7px 11px!important}.editor-current-plan-actions .button.danger{border:1px solid var(--brand-red,#c30e23);background:var(--brand-red,#c30e23);color:#fff}.editor-current-plan-actions .ui-icon{width:16px;height:16px}
@media(max-width:650px){.editor-current-plan-actions,.editor-current-plan-actions>div{width:100%}.editor-current-plan-actions .button{flex:1}}

/* Online venue gateway floor-plan selector 2026-08-30 */
#map .map-sidebar.venue-gateway{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(190px,230px) minmax(0,1fr);align-items:stretch;gap:16px;min-height:190px;padding:16px 18px;overflow:hidden;border:0;border-bottom:1px solid rgba(68,211,255,.3);background:#071526;color:#fff}
#map .map-sidebar.venue-gateway::before{position:absolute;z-index:-2;inset:0;background-image:linear-gradient(96deg,rgba(4,12,27,.97) 0%,rgba(5,31,51,.91) 42%,rgba(5,25,51,.7) 100%),var(--venue-gateway-banner);background-position:center;background-size:cover;content:""}
#map .map-sidebar.venue-gateway::after{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(90deg,rgba(54,214,255,.09) 1px,transparent 1px),linear-gradient(rgba(54,214,255,.07) 1px,transparent 1px),linear-gradient(115deg,transparent 58%,rgba(50,211,255,.14) 58.5%,transparent 59%);background-size:32px 32px,32px 32px,100% 100%;content:"";mask-image:linear-gradient(90deg,transparent 8%,#000 56%,#000)}
.venue-gateway-heading{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:8px 4px 8px 2px}.venue-gateway-heading::after{width:74px;height:2px;margin-top:14px;background:linear-gradient(90deg,#39d5ff,transparent);box-shadow:0 0 13px rgba(57,213,255,.85);content:""}.venue-gateway-kicker{margin-bottom:8px;color:#5fe4ff;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.venue-gateway-heading h3,#map .map-sidebar .venue-gateway-heading h3{margin:0;color:#fff;font-size:22px;line-height:1.25;white-space:normal}.venue-gateway-heading p{max-width:210px;margin:8px 0 0;color:rgba(224,244,255,.76);font-size:13px;line-height:1.55}
#map .map-sidebar.venue-gateway [data-floor-list]{position:relative;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,250px);gap:10px;min-width:0;padding:1px 3px 7px 1px;overflow-x:auto;overflow-y:hidden;scrollbar-color:rgba(91,222,255,.58) rgba(255,255,255,.08);scroll-snap-type:x proximity}
#map .map-sidebar.venue-gateway .floor-button.venue-entry-card{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:auto;min-width:0;height:150px;margin:0;padding:14px;overflow:hidden;border:1px solid rgba(130,218,244,.3);border-radius:14px;background:#0c2540;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.08),0 9px 26px rgba(0,0,0,.2);cursor:pointer;scroll-snap-align:start;transition:border-color .18s,box-shadow .18s,transform .18s}
#map .map-sidebar.venue-gateway .floor-button.venue-entry-card::before{position:absolute;z-index:-2;inset:0;background-color:#0d2944;background-image:linear-gradient(105deg,rgba(5,18,34,.94) 3%,rgba(7,34,57,.74) 54%,rgba(8,37,64,.5)),var(--venue-entry-image,none);background-position:center;background-size:cover;content:"";transition:filter .2s,transform .24s}
#map .map-sidebar.venue-gateway .floor-button.venue-entry-card::after{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,transparent 0 72%,rgba(55,221,255,.16) 72% 73%,transparent 73%),linear-gradient(180deg,rgba(90,229,255,.1) 1px,transparent 1px);background-size:100% 100%,100% 22px;content:"";opacity:.75}
#map .map-sidebar.venue-gateway .floor-button.venue-entry-card:is(:hover,:focus-visible){border-color:rgba(100,230,255,.82);box-shadow:inset 0 1px rgba(255,255,255,.14),0 0 0 1px rgba(56,213,255,.22),0 12px 30px rgba(0,13,30,.38);outline:none;transform:translateY(-2px)}#map .map-sidebar.venue-gateway .floor-button.venue-entry-card:is(:hover,:focus-visible)::before{filter:saturate(1.15) brightness(1.06);transform:scale(1.025)}
#map .map-sidebar.venue-gateway .floor-button.venue-entry-card.active{border-color:#53e2ff;background:#0a3550;color:#fff;box-shadow:inset 0 0 0 1px rgba(119,237,255,.35),0 0 20px rgba(27,199,238,.25),0 12px 30px rgba(0,13,30,.38)}#map .map-sidebar.venue-gateway .floor-button.venue-entry-card.active::after{background:linear-gradient(90deg,transparent 0 72%,rgba(70,229,255,.24) 72% 73%,transparent 73%),linear-gradient(180deg,rgba(90,229,255,.16) 1px,transparent 1px),linear-gradient(125deg,transparent 55%,rgba(42,217,255,.16));background-size:100% 100%,100% 22px,100% 100%}
.venue-entry-number{position:absolute;top:12px;right:13px;color:rgba(156,233,255,.72);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:800;letter-spacing:.08em}.venue-entry-current{display:none;align-items:center;gap:5px;padding:3px 7px;border:1px solid rgba(102,234,255,.42);border-radius:999px;background:rgba(4,28,46,.68);color:#85efff;font-size:12px;font-weight:900;letter-spacing:.04em}.venue-entry-current::before{width:6px;height:6px;border-radius:50%;background:#54e4ff;box-shadow:0 0 8px #54e4ff;content:""}.venue-entry-card.active .venue-entry-current{display:inline-flex}.venue-entry-copy{display:grid;gap:3px;width:calc(100% - 22px);margin-top:auto;text-shadow:0 2px 8px rgba(0,0,0,.7)}.venue-entry-copy strong{overflow:hidden;font-size:17px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.venue-entry-copy>span{overflow:hidden;color:#d8f5ff;font-size:13px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.venue-entry-copy small{overflow:hidden;color:rgba(214,239,249,.64);font-size:12px;letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap}.venue-entry-action{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:10px;padding-top:8px;border-top:1px solid rgba(146,224,246,.22);color:#7feaff;font-size:12px;font-weight:900;letter-spacing:.04em}.venue-entry-action b{font-size:17px;line-height:1;transition:transform .18s}.venue-entry-card:is(:hover,:focus-visible) .venue-entry-action b{transform:translateX(3px)}.venue-entry-empty{align-self:center;margin:0;padding:14px 18px;border:1px dashed rgba(133,225,249,.42);border-radius:12px;color:rgba(225,245,251,.78)}
@media(max-width:760px){#map .map-sidebar.venue-gateway{grid-template-columns:1fr;gap:12px;min-height:0;padding:14px}.venue-gateway-heading{padding:0}.venue-gateway-heading::after{position:absolute;right:0;bottom:2px;margin:0}.venue-gateway-heading p{max-width:none;margin-top:4px;font-size:12px}.venue-gateway-heading h3,#map .map-sidebar .venue-gateway-heading h3{font-size:19px}#map .map-sidebar.venue-gateway [data-floor-list]{grid-auto-columns:minmax(205px,72vw);width:100%;padding-bottom:5px}#map .map-sidebar.venue-gateway .floor-button.venue-entry-card{height:132px;padding:12px}.venue-entry-copy strong{font-size:16px}.venue-entry-action{margin-top:7px;padding-top:6px}}
@media(prefers-reduced-motion:reduce){#map .map-sidebar.venue-gateway .floor-button.venue-entry-card,#map .map-sidebar.venue-gateway .floor-button.venue-entry-card::before,.venue-entry-action b{transition:none}}

/* Google Maps-style embedded floor plan and persistent overview maps 2026-08-30 */
.mini-map-label{position:absolute;z-index:3;top:4px;left:4px;padding:2px 6px;border-radius:4px;background:rgba(17,29,48,.84);color:#fff;font-size:12px;font-weight:850;line-height:1.25;letter-spacing:.02em;pointer-events:none}
html:has(body.embed-body){height:100%;overflow:hidden}
body.embed-body{height:100%;min-height:0;padding-top:0!important;overflow:hidden;background:#dfe8ed}
body.embed-body .embed-shell{position:relative;display:block;height:100dvh;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 42%,#f8fbfc 0%,#edf3f5 48%,#d8e3e8 100%)}
.embed-header{position:absolute;z-index:310;top:12px;left:50%;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;width:min(1120px,calc(100% - 28px));min-width:0;padding:7px 9px;border:1px solid rgba(105,125,143,.28);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 5px 20px rgba(18,37,54,.18);transform:translateX(-50%);backdrop-filter:blur(12px)}
.embed-header .brand{display:flex;align-items:center;min-width:0;margin-right:8px;padding-right:8px;border-right:1px solid #dbe3e8}
.embed-header .brand-logo{display:block;width:94px;height:auto;max-height:30px;object-fit:contain}.embed-header .brand-icon{display:none}
.embed-header .toolbar{display:flex;flex-flow:row nowrap;align-items:center;gap:5px;min-width:0;padding:0;overflow-x:auto;overflow-y:visible;border:0;background:transparent;scrollbar-width:thin}
.embed-header .public-map-toolbar>button{flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:36px!important;border-color:#c9d6df;background:#fff}
.embed-header .public-map-toolbar>button:is(:hover,:focus-visible){border-color:#1473c8;background:#eaf4ff;color:#075da9}
.embed-header .map-search{flex:1 1 190px;min-width:150px;height:36px;padding:7px 10px}.embed-header select{flex:0 0 auto;width:auto;min-width:106px;height:36px;padding-block:5px}.embed-header .map-scale{flex:0 0 auto;padding:0 4px;color:#526477;font-size:12px;font-weight:750;white-space:nowrap}
.embed-map{position:absolute;inset:0;min-height:0}.embed-map .map-shell{position:relative;display:block;height:100%;min-height:0;overflow:hidden}.embed-map .map-workspace{display:block;height:100%;min-height:0}.embed-map .map-viewport{height:100%;min-height:0!important;max-height:none!important;overflow:hidden;background-color:#e6edf0;background-image:linear-gradient(rgba(75,101,120,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(75,101,120,.08) 1px,transparent 1px);background-size:32px 32px;cursor:grab;touch-action:none}.embed-map .map-viewport.is-panning{cursor:grabbing}.embed-map .floor-canvas{border-color:#aebfc9;border-radius:3px;box-shadow:0 12px 38px rgba(26,48,64,.2)}
.embed-floor-switcher{position:absolute!important;z-index:280;top:50%;left:14px;display:block!important;width:56px;min-width:0;padding:6px!important;overflow:visible!important;border:1px solid rgba(102,124,141,.3)!important;border-radius:12px;background:rgba(255,255,255,.96)!important;box-shadow:0 6px 22px rgba(20,39,55,.2);transform:translateY(-50%);backdrop-filter:blur(10px)}
.embed-floor-switcher[hidden]{display:none!important}.embed-floor-switcher [data-floor-list]{display:grid;gap:6px;overflow:visible}.embed-floor-button{position:relative;display:grid!important;grid-template-columns:1fr;place-items:center;width:44px!important;min-width:44px!important;height:46px!important;margin:0!important;padding:4px!important;overflow:visible!important;border:1px solid #d5dfe6!important;border-radius:9px!important;background:#fff!important;color:#3d5265!important;text-align:center!important;box-shadow:0 1px 4px rgba(17,35,50,.08)}
.embed-floor-button .ui-icon{width:19px;height:19px}.embed-floor-button b{display:block;max-width:38px;overflow:hidden;font-size:12px;line-height:1;text-overflow:ellipsis;white-space:nowrap}.embed-floor-button:is(:hover,:focus-visible){z-index:3;border-color:#1683df!important;background:#eff7ff!important;color:#0867b5!important;outline:none}.embed-floor-button.active{border-color:#1477c9!important;background:#1477c9!important;color:#fff!important;box-shadow:0 3px 10px rgba(11,107,186,.28)}
.embed-floor-button::after{position:absolute;z-index:20;top:50%;left:calc(100% + 9px);display:block;width:max-content;max-width:min(330px,calc(100vw - 100px));padding:6px 9px;border-radius:6px;background:rgba(18,29,44,.96);color:#fff;box-shadow:0 5px 16px rgba(15,23,42,.22);content:attr(data-floor-name);font-size:12px;font-weight:750;line-height:1.35;opacity:0;pointer-events:none;text-align:left;white-space:normal;transform:translate(-4px,-50%);transition:opacity .14s,transform .14s}.embed-floor-button:is(:hover,:focus-visible)::after{opacity:1;transform:translate(0,-50%)}
.embed-map-detail{position:absolute!important;z-index:285;top:74px;right:14px;display:block!important;width:min(260px,calc(100% - 28px));max-height:calc(100% - 166px);padding:15px!important;overflow:auto;border:1px solid rgba(107,128,145,.3)!important;border-radius:13px;background:rgba(255,255,255,.97)!important;box-shadow:0 7px 24px rgba(18,37,54,.21);backdrop-filter:blur(12px)}.embed-map-detail[hidden]{display:none!important}.embed-map-detail .button{width:100%;margin-top:7px}.embed-detail-close{position:absolute;top:6px;right:6px;display:grid;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#eef3f6;color:#354a5d;font-size:20px;line-height:1;place-items:center}.embed-detail-close:is(:hover,:focus-visible){background:#d7e9f7;color:#075f9e}.embed-map-detail>h3{padding-right:28px}
.embed-map .mini-map{z-index:275;right:14px;bottom:14px;width:154px;height:98px;margin:0;cursor:crosshair;border:2px solid #fff;border-radius:9px;background-color:#eef3f6;box-shadow:0 7px 24px rgba(18,37,54,.26)}.embed-map .mini-map-viewport{border-width:2px}
.embed-footer{position:absolute;z-index:290;right:14px;bottom:14px;left:14px;display:none;gap:8px;max-height:106px;padding:8px;border:1px solid rgba(107,128,145,.28);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 7px 24px rgba(18,37,54,.2);overflow:auto;backdrop-filter:blur(10px)}.embed-footer.has-media{display:flex}.embed-footer .carousel-item{flex:0 0 140px}.embed-footer .carousel-photo{height:58px}.embed-footer .carousel-context,.embed-footer small{display:none}.embed-shell:has(.embed-footer.has-media) .embed-map .mini-map{bottom:132px}
@media(max-width:720px){.embed-header{top:7px;width:calc(100% - 14px);padding:6px}.embed-header .brand{margin-right:5px;padding-right:5px}.embed-header .brand-logo{width:72px;max-height:25px}.embed-header .toolbar{gap:4px}.embed-header .public-map-toolbar>button{flex-basis:34px!important;width:34px!important;min-width:34px!important;height:34px!important}.embed-header .map-search{flex-basis:135px;min-width:120px;height:34px}.embed-header select{min-width:98px;height:34px}.embed-header .map-scale{display:none}.embed-floor-switcher{top:auto;bottom:12px;left:10px;width:auto;max-width:calc(100% - 182px);transform:none}.embed-floor-switcher [data-floor-list]{display:flex;gap:5px;max-width:100%;overflow-x:auto;overflow-y:visible}.embed-floor-button{flex:0 0 42px;width:42px!important;min-width:42px!important;height:44px!important}.embed-floor-button::after{top:auto;bottom:calc(100% + 8px);left:0;transform:translateY(4px)}.embed-floor-button:is(:hover,:focus-visible)::after{transform:translateY(0)}.embed-map .mini-map{right:10px;bottom:12px;width:142px;height:90px}.embed-map-detail{top:61px;right:8px;width:min(250px,calc(100% - 16px));max-height:calc(100% - 170px)}.embed-footer{right:8px;bottom:8px;left:8px;max-height:100px}.embed-shell:has(.embed-footer.has-media) .embed-map .mini-map{bottom:120px}}

/* Embed branding, safe booth typography, media viewer and admin live preview 2026-08-30 */
.embed-header .brand:has(.embed-brand-icon){justify-content:center;width:42px;min-width:42px;margin-right:7px;padding:0 7px 0 0}.embed-header .embed-brand-icon{display:block!important;width:34px;height:34px;max-width:none;max-height:none;object-fit:contain}.embed-map .map-booth:not(.landmark)>.map-booth-label{box-sizing:border-box;max-width:100%;max-height:100%;overflow:hidden!important}.embed-map .map-booth.embed-text-fitted>.map-booth-label{gap:0}.embed-media-tile{position:relative;display:block;min-width:0;padding:0;overflow:hidden;border:0;border-radius:9px;background:#eef3f6;cursor:pointer;text-align:left}.embed-media-tile .carousel-photo{display:block;width:100%;transition:transform .18s}.embed-media-tile:is(:hover,:focus-visible){outline:2px solid var(--brand-blue,#0e6eb8);outline-offset:-2px}.embed-media-tile:is(:hover,:focus-visible) .carousel-photo{transform:scale(1.04)}
.admin-embed-preview-card{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.admin-embed-preview-card .admin-workspace-head h3{margin:3px 0;font-size:19px}.admin-embed-preview-card .admin-workspace-head p{margin:0}.admin-embed-preview-stage{position:relative;width:100%;min-width:0;min-height:320px;overflow:hidden;border:1px solid #c9d6df;border-radius:14px;background:#dfe8ed;box-shadow:0 10px 30px rgba(18,37,54,.12)}.admin-embed-preview-stage iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;background:#dfe8ed}.admin-section[data-admin-section="embed"] .form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-section[data-admin-section="embed"] .form-grid>.field.wide{grid-column:span 3}.admin-section[data-admin-section="embed"] .form-grid>.field:not(.wide){grid-column:span 2}.admin-section[data-admin-section="embed"] [data-admin-embed-code]{min-height:96px}
@media(max-width:800px){.admin-section[data-admin-section="embed"] .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section[data-admin-section="embed"] .form-grid>.field.wide{grid-column:1/-1}.admin-section[data-admin-section="embed"] .form-grid>.field:not(.wide){grid-column:span 1}.admin-embed-preview-stage{min-height:360px}.embed-header .brand:has(.embed-brand-icon){width:38px;min-width:38px;padding-right:5px}.embed-header .embed-brand-icon{width:30px;height:30px}}
@media(max-width:520px){.admin-section[data-admin-section="embed"] .form-grid{grid-template-columns:1fr}.admin-section[data-admin-section="embed"] .form-grid>.field:not(.wide){grid-column:1}.admin-embed-preview-stage{min-height:420px}}

/* Compact movable embed controls, bilingual branding and per-exhibition embed settings 2026-08-30 */
.embed-header.embed-control-dock{left:12px;display:flex;width:auto;max-width:calc(100% - 24px);padding:6px;overflow:visible;gap:6px;transform:none;transition:max-width .18s ease,box-shadow .18s ease}
.embed-toolbar-summary{display:flex;align-items:center;gap:4px;min-width:0}
.embed-brand-wordmark{display:inline-flex;align-items:center;height:36px;padding:0 7px;border-radius:8px;background:#fff;font-family:Arial,"Helvetica Neue",sans-serif;font-size:24px;font-weight:950;letter-spacing:-.075em;line-height:1;text-decoration:none;white-space:nowrap}
.embed-brand-letter{display:none}.embed-brand-letter:first-child{display:inline;color:var(--brand-red)}
.embed-brand-letter.brand-red{color:var(--brand-red)}.embed-brand-letter.brand-orange{color:var(--brand-orange)}.embed-brand-letter.brand-green{color:var(--brand-green)}.embed-brand-letter.brand-blue{color:var(--brand-blue)}
.embed-control-dock:is(:hover,:focus-within,.is-expanded,.is-dragging) .embed-brand-letter{display:inline}
.embed-toolbar-toggle,.embed-toolbar-drag{display:grid;width:36px;min-width:36px;height:36px;padding:0;border:1px solid #c9d6df;border-radius:8px;background:#fff;color:#3b5267;font-size:0;place-items:center}.embed-toolbar-toggle .ui-icon,.embed-toolbar-drag .ui-icon{width:19px;height:19px}.embed-toolbar-toggle:is(:hover,:focus-visible),.embed-toolbar-drag:is(:hover,:focus-visible){border-color:var(--brand-blue);background:#eef7ff;color:var(--brand-blue)}.embed-toolbar-drag{cursor:grab}.embed-control-dock.is-dragging,.embed-control-dock.is-dragging .embed-toolbar-drag{cursor:grabbing;transition:none}
.embed-control-dock .embed-toolbar-controls{display:flex!important;width:0;max-width:0;min-width:0;padding:0!important;overflow:visible!important;opacity:0;pointer-events:none;visibility:hidden;transform:translateX(-5px);transition:max-width .2s ease,opacity .14s ease,transform .18s ease,visibility 0s linear .2s}
.embed-control-dock:is(:hover,:focus-within,.is-expanded,.is-dragging) .embed-toolbar-controls{width:auto;max-width:min(850px,calc(100vw - 184px));opacity:1;pointer-events:auto;visibility:visible;transform:none;transition:max-width .22s ease,opacity .16s ease,transform .18s ease}
.embed-control-dock .embed-language-toggle b{display:block;font-size:12px;line-height:1}.embed-control-dock .embed-language-toggle .ui-icon{width:17px;height:17px}.embed-control-dock .embed-language-toggle{grid-template-rows:17px 11px!important;gap:1px!important}
.embed-map-detail{top:12px!important;right:12px!important;width:min(430px,calc(100% - 24px))!important;max-height:calc(100% - 24px)!important;padding:18px!important}.embed-map-detail [data-booth-detail]>h3{margin:8px 34px 5px 0;font-size:19px}.embed-map-detail [data-booth-detail]>p{margin:5px 0 10px}
.embed-detail-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}.embed-detail-photo-grid>.muted{grid-column:1/-1}.embed-detail-photo{display:grid;grid-template-rows:auto minmax(28px,auto);width:100%;min-width:0;border-radius:9px!important;background:#eef3f6}.embed-detail-photo .carousel-photo{height:auto!important;aspect-ratio:4/3;background-position:center;background-size:cover}.embed-detail-photo small{display:-webkit-box;padding:5px 6px 6px;overflow:hidden;color:#35495b;font-size:12px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.embed-footer{display:none!important}
.admin-section[data-admin-section="embed"] .admin-embed-form{grid-template-columns:minmax(250px,1fr) minmax(230px,1fr) 104px 104px minmax(150px,175px) minmax(150px,175px);align-items:start;gap:12px}
.admin-section[data-admin-section="embed"] .admin-embed-form>.field{grid-column:auto}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-code-field{grid-column:1/-2}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-copy-button{grid-column:-2/-1;align-self:end;min-width:0;min-height:42px;margin:0}.admin-section[data-admin-section="embed"] .admin-embed-form .embed-dimension-field input{min-width:0}.admin-embed-save-status{min-height:17px;color:#567083}.admin-embed-save-status[data-state="saved"]{color:#148451}.admin-embed-save-status[data-state="saving"]{color:#9a6600}.admin-embed-save-status[data-state="error"]{color:var(--brand-red)}
@media(max-width:1180px){.admin-section[data-admin-section="embed"] .admin-embed-form{grid-template-columns:repeat(12,minmax(0,1fr))}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-source-field{grid-column:span 6}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-dimension-field{grid-column:span 2}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-font-field,.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-language-field{grid-column:span 4}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-code-field{grid-column:span 9}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-copy-button{grid-column:span 3}}
@media(max-width:760px){.embed-header.embed-control-dock{top:7px;left:7px;width:auto;max-width:calc(100% - 14px);padding:5px}.embed-brand-wordmark{height:34px;font-size:22px}.embed-toolbar-toggle,.embed-toolbar-drag{width:34px;min-width:34px;height:34px}.embed-control-dock .embed-toolbar-controls{position:absolute;top:calc(100% + 6px);left:0;flex-wrap:wrap;width:min(470px,calc(100vw - 14px));max-width:min(470px,calc(100vw - 14px));max-height:0;padding:0!important;border:1px solid rgba(105,125,143,.28)!important;border-radius:11px;background:rgba(255,255,255,.97)!important;box-shadow:0 6px 22px rgba(18,37,54,.18);overflow:visible!important;transform:translateY(-5px)}.embed-control-dock:is(:hover,:focus-within,.is-expanded,.is-dragging) .embed-toolbar-controls{width:min(470px,calc(100vw - 14px));max-height:150px;padding:6px!important;transform:none}.embed-control-dock .map-search{flex:1 1 170px!important}.embed-map-detail{top:7px!important;right:7px!important;width:min(390px,calc(100% - 14px))!important;max-height:calc(100% - 14px)!important}.embed-detail-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section[data-admin-section="embed"] .admin-embed-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-source-field,.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-font-field,.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-language-field,.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-code-field{grid-column:1/-1}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-dimension-field{grid-column:span 1}.admin-section[data-admin-section="embed"] .admin-embed-form>.embed-copy-button{grid-column:1/-1}}
@media(max-width:420px){.embed-toolbar-drag{display:none}.embed-control-dock:is(:hover,:focus-within,.is-expanded,.is-dragging) .embed-brand-letter:not(:first-child){display:none}.embed-map-detail{padding:14px!important}.embed-detail-photo-grid{gap:6px}.admin-section[data-admin-section="embed"] .admin-embed-form{grid-template-columns:1fr}.admin-section[data-admin-section="embed"] .admin-embed-form>*{grid-column:1!important}}

/* Bilingual account reset and issue support pages 2026-08-30 */
.support-language-switch{position:relative;z-index:2;flex:0 0 auto;margin:0 0 10px auto}.issue-report-shell>.page-head{align-items:flex-start}.issue-report-shell>.page-head .support-language-switch{margin-top:0}.account-reset-panel>.support-language-switch{align-self:flex-end;margin-bottom:-4px}
@media(max-width:640px){.issue-report-shell>.page-head{align-items:stretch}.issue-report-shell>.page-head .support-language-switch{align-self:flex-end}.account-reset-panel>.support-language-switch{margin-bottom:0}}
