*{box-sizing:border-box}[hidden]{display:none!important}:root{--bg: #f6f7f9;--card: #ffffff;--card-2: #fafbfc;--ink: #1c1e21;--muted: #6b7280;--line: #e5e7eb;--line-2: #c9cdd3;--primary: #2f7cf6;--primary-dark: #1d5fd0;--primary-soft: #eaf1fe;--danger: #d64545;--code-bg: #eef0f3;color-scheme:light}:root[data-theme=dark]{--bg: #111418;--card: #1a1e24;--card-2: #20252c;--ink: #e6e8eb;--muted: #9aa3ad;--line: #2b323b;--line-2: #3a424d;--primary: #5b9cff;--primary-dark: #3d7fe6;--primary-soft: #1b2a44;--danger: #ef6b6b;--code-bg: #262c34;color-scheme:dark}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--ink)}code{background:var(--code-bg);padding:.1em .35em;border-radius:4px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1.5rem;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--ink)}.topbar nav{display:flex;align-items:center;gap:1.2rem}.topbar nav a{text-decoration:none;color:var(--muted);font-weight:500}.topbar nav a:hover{color:var(--ink)}.theme-toggle{background:none;border:1px solid var(--line);border-radius:8px;padding:.2rem .5rem;cursor:pointer;font-size:1rem}.app.embed main{padding:.6rem}.embed-page h1{font-size:1.2rem}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:2px;box-shadow:0 0 0 3px #22c55e40}main{padding:1.5rem}.page{max-width:1000px;margin:0 auto}.page.wide{max-width:1400px}.page.narrow{max-width:560px}h1{font-size:1.5rem;margin:.2rem 0 .6rem}.small{font-size:.85rem}.error{color:var(--danger)}.error.banner{background:#fdeaea;border:1px solid #f5c2c2;padding:.6rem .9rem;border-radius:8px;margin:.6rem 0}.req{color:var(--danger);margin-left:.15em}.card{background:var(--card);border:1px solid var(--line);border-radius:12px}.card.pad{padding:1.1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:1rem}.show-card{padding:1.1rem;text-decoration:none;color:inherit;display:block;transition:box-shadow .15s}.show-card:hover{box-shadow:0 4px 16px #00000014}.show-card h3{margin:0 0 .3rem}.btn{display:inline-block;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none;font-size:.95rem}.btn:hover{border-color:#c9cdd3}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-dark)}.btn.small{padding:.3rem .7rem;font-size:.85rem}.btn.block{display:block;width:100%;text-align:center;margin-top:.8rem}.btn:disabled{opacity:.6;cursor:default}.link{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;text-decoration:underline;font:inherit;font-size:.9rem}.link.danger{color:var(--danger)}.link:disabled{opacity:.4;cursor:default}.row-between{display:flex;align-items:center;justify-content:space-between;gap:1rem}.row-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.booking-layout{display:grid;grid-template-columns:1fr 320px;gap:1.2rem;align-items:start}@media(max-width:900px){.booking-layout{grid-template-columns:1fr}}.map-panel{padding:.8rem}.floormap{width:100%;display:block;background:#fbfcfd;border-radius:8px}.venue-outline{fill:#fff;stroke:#94a3b8;stroke-width:.12}.hover-info{padding:.5rem .3rem .1rem;font-size:.92rem;min-height:2.2rem}.legend-wrap{display:flex;flex-direction:column;gap:.3rem}.legend{display:flex;flex-wrap:wrap;gap:1rem;padding:.6rem .3rem .2rem;font-size:.85rem;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:.4rem}.swatch{width:14px;height:14px;border-radius:4px;border:1.5px solid;display:inline-block;flex-shrink:0}.type-chips,.palette{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.2rem .3rem .4rem}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .65rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;font:inherit;font-size:.83rem;cursor:pointer;color:var(--ink)}.chip:hover{border-color:var(--chip, #c9cdd3)}.chip.active{border-color:var(--chip, var(--primary));background:var(--chip-bg, #eaf1fe);font-weight:600}.chip.full,.chip:disabled{opacity:.45;cursor:not-allowed}.chip-count{color:var(--muted);font-size:.78rem;font-weight:400}.type-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;margin:.6rem 0 1rem}.type-card{border:1.5px solid;border-radius:10px;padding:.6rem .8rem}.type-card p{margin:.3rem 0 0}.type-card-head{display:flex;align-items:center;gap:.5rem}.basket{padding:1.1rem;position:sticky;top:4.5rem}.basket h3{margin-top:0}.basket-list{list-style:none;margin:0 0 .6rem;padding:0}.basket-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed var(--line)}.basket-total{display:flex;justify-content:space-between;padding:.6rem 0;font-size:1.05rem}.countdown{font-variant-numeric:tabular-nums;font-weight:600;color:#b26a00;background:#fff4e0;padding:.25rem .6rem;border-radius:6px;display:inline-block}.countdown.danger{color:#fff;background:var(--danger)}.answers{margin:.6rem 0;padding:.6rem .8rem;background:#fafbfc;border-radius:8px;font-size:.9rem}.answers div{display:flex;gap:.6rem;padding:.2rem 0}.answers dt{color:var(--muted);min-width:40%}.answers dd{margin:0}.form label{display:block;margin-bottom:.8rem;font-weight:600;font-size:.9rem}.form input,.form textarea,.form select{display:block;width:100%;margin-top:.25rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400;background:#fff}.form input[type=color]{padding:.15rem;height:2.4rem}.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--primary);outline-offset:-1px;border-color:transparent}.form .check,.check{display:flex;align-items:center;gap:.5rem;font-weight:500}.form .check input,.check input{width:auto;display:inline;margin:0}.check.small{font-size:.82rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.narrow-form{max-width:640px}fieldset.type-picker{border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem .4rem;margin:0 0 .8rem}fieldset.type-picker legend{font-weight:600;font-size:.85rem;color:var(--muted);padding:0 .3rem}fieldset.type-picker .check{margin-bottom:.4rem;font-size:.9rem}fieldset.type-picker>input{margin-bottom:.6rem}.field-inputs label{margin-bottom:.6rem}.field-inputs.compact label{font-size:.85rem}.field-row{border:1px dashed var(--line);border-radius:8px;padding:.5rem .6rem;margin-bottom:.5rem;background:#fafbfc}.field-row-main{display:grid;grid-template-columns:1.4fr 1fr 1.5fr;gap:.5rem}.field-row-main input,.field-row-main select,.field-row-extra input{margin-top:0!important}.field-row-extra{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.5rem}.field-row-extra input{flex:1 1 180px;width:auto!important}.field-row-extra .check{margin:0;white-space:nowrap;flex:0 0 auto}.reorder{display:inline-flex;gap:.5rem;margin-left:auto}.reorder .link{text-decoration:none}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:1rem}.table th,.table td{text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--line);font-size:.92rem}.table th{background:#fafbfc;color:var(--muted);font-weight:600;white-space:nowrap}.table tr:last-child td{border-bottom:none}.table a{color:inherit;text-decoration:none}.table a:hover{text-decoration:underline}.pill{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:#eef0f3;border:1px solid var(--line);cursor:pointer;font:inherit;font-size:.8rem}.pill.ok{background:#e8f6ec;border-color:#b7e0c3;color:#1d7a3d}.tabs{display:flex;gap:.4rem;margin:1rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.tab{background:none;border:none;padding:.55rem 1rem;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2.5px solid transparent}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.map-wrap{position:relative}.floormap.zoomed{cursor:grab}.floormap.zoomed:active{cursor:grabbing}.zoom-controls{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:4px;align-items:center}.zoom-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fffffff2;font-size:1.05rem;line-height:1;cursor:pointer;box-shadow:0 1px 3px #00000014}.zoom-btn:hover{border-color:#c9cdd3}.zoom-btn:disabled{opacity:.4;cursor:default}.zoom-level{font-size:.7rem;color:var(--muted);background:#ffffffe6;padding:1px 4px;border-radius:4px}.designer{display:grid;grid-template-columns:1fr 340px;gap:1.2rem;align-items:start}@media(max-width:1000px){.designer{grid-template-columns:1fr}}.designer-canvas{padding:.8rem}.designer-svg{touch-action:none;-webkit-user-select:none;user-select:none}.designer-svg.draw,.designer-svg.object{cursor:crosshair}.designer-svg.pan{cursor:grab}.designer-svg.pan:active{cursor:grabbing}.toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}.tool-group{display:inline-flex;gap:.25rem;padding:.15rem;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.tool-group .btn{border-color:transparent;background:transparent}.tool-group .btn.primary{background:var(--primary)}.tool-group .btn:hover:not(:disabled):not(.primary){background:#eef0f3}.tool-group .btn.danger:hover:not(:disabled){color:var(--danger)}.tool-hint{flex:1 1 100%}.chip-icon{font-weight:700}.gridline{stroke:#eef1f4;stroke-width:.03}.gridline.minor{stroke:#f4f6f8;stroke-width:.015}.ghost-rect{fill:#2f7cf62e;stroke:var(--primary);stroke-width:.08;stroke-dasharray:.3 .2}.marquee-rect{fill:#2f7cf614;stroke:var(--primary);stroke-width:.05;stroke-dasharray:.2 .15}.align-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin-bottom:.3rem}.shape-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.hall-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.6rem;border-bottom:1px solid var(--line);padding-bottom:.4rem}.hall-tab{background:var(--card-2);border:1px solid var(--line);border-radius:8px;padding:.3rem .7rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--ink)}.hall-tab.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.hall-tab.add{font-weight:500;color:var(--muted);border-style:dashed}.form-inline{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;margin-bottom:.6rem}.form-inline select{padding:.3rem .5rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);color:var(--ink)}.shape-chips .chip{font-size:.8rem}.align-grid .btn{padding:.3rem 0;font-size:1rem}kbd{background:#eef0f3;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 .3em;font-size:.8em;font-family:inherit}.form input[type=range]{padding:0}.designer-panel{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow-y:auto}.quota-list{list-style:none;padding:0;margin:.6rem 0 0;font-size:.9rem}.quota-list li{display:flex;align-items:center;gap:.4rem;padding:.25rem 0}.logo-upload{margin-bottom:.8rem}.logo-upload-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.logo-drop{display:flex;align-items:center;justify-content:center;min-height:96px;border:1.5px dashed #c9cdd3;border-radius:10px;background:#fafbfc;cursor:pointer;padding:.5rem}.logo-drop:hover{border-color:var(--primary)}.logo-preview{max-height:120px;max-width:100%;object-fit:contain}.logo-upload .row-actions{margin-top:.35rem}.ex-logo{object-fit:contain;border-radius:8px;background:#fff;border:1px solid var(--line);padding:3px;flex-shrink:0}.ex-initials{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#eef0f3;color:var(--muted);font-weight:700;flex-shrink:0}.exhibitors{margin-top:1.2rem}.exhibitors .search{padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;min-width:220px}.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem;margin-top:.8rem}.ex-card{display:flex;gap:.7rem;align-items:center;padding:.6rem;border:1px solid var(--line);border-radius:10px;background:#fff}.ex-card:hover{border-color:#c9cdd3}.ex-card.compact{border:none;padding:0;background:transparent}.ex-card .ex-body{min-width:0}.ex-card .ex-body a{color:var(--primary);text-decoration:none}.ex-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booked-note{margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px dashed var(--line)}.stall-picker{display:flex;flex-wrap:wrap;gap:.35rem;max-height:160px;overflow-y:auto;padding:.2rem 0}.stall-picker .chip{font-size:.8rem;padding:.2rem .55rem;font-weight:500;margin:0}.manual-booking{max-width:760px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin:.6rem 0 .8rem}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem}.stat-value{font-size:1.3rem;font-weight:700}.stat-label{color:var(--muted);font-size:.8rem}.toolbar-row{margin-top:.4rem;flex-wrap:wrap}.toolbar-row .search,.toolbar-row select{padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}.toolbar-row .search{min-width:260px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:#fafbfc}.table tr.muted td{color:var(--muted)}.detail-row td{background:#f8fafc}.detail{display:flex;flex-direction:column;gap:.6rem}.detail-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.88rem}.detail-meta .muted{margin-right:.3rem}.inline-form{max-width:640px}.btn.danger{color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.pill.off{background:#f4f4f5;color:var(--muted)}.message-body{white-space:pre-wrap;font:inherit;font-size:.85rem;margin:0;background:#fafbfc;padding:.6rem .8rem;border-radius:8px}.stack{display:flex;flex-direction:column;gap:1.5rem}.promo-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.2rem 0 .6rem}.promo-form input{padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;text-transform:uppercase;width:160px}.discount-line{color:#1d7a3d}.terms-box{max-height:160px;overflow-y:auto;white-space:pre-wrap;font-size:.85rem;background:#fafbfc;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;margin-bottom:.6rem}.notice.banner{background:#fff8e6;border:1px solid #f5dfa0;color:#7a5a00;padding:.6rem .9rem;border-radius:8px;margin:.6rem 0}.confirmation-note{white-space:pre-wrap;background:#fafbfc;border-left:3px solid var(--primary);padding:.6rem .8rem;border-radius:6px;margin:.6rem 0;font-size:.92rem}.soldout-row{display:flex;flex-direction:column;gap:.2rem;padding:.4rem .3rem 0}.waitlist-form{margin-top:.8rem}.print-only{display:none}@media print{.topbar,.no-print,.btn{display:none!important}.print-only{display:block}main{padding:0}.card{border:1px solid #999;box-shadow:none}body{background:#fff}.checkin .stats-row,.checkin .checkin-list{display:none!important}.passes{display:grid!important;grid-template-columns:1fr 1fr;gap:8mm}.pass{break-inside:avoid}.admin-page .tabs,.admin-page h1+p,.admin-page>.row-between{display:none!important}}.addons{margin:.4rem 0 .6rem;border-top:1px dashed var(--line);padding-top:.5rem}.addon-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.35rem 0}.addon-info{min-width:0}.qty{display:inline-flex;align-items:center;gap:.5rem}.qty span{min-width:1.2rem;text-align:center;font-weight:600}.qty .btn{padding:.2rem .6rem}.notice.banner.overdue{background:#fdeaea;border-color:#f5c2c2;color:var(--danger)}.warn-text{color:#b26a00}.map-search{display:flex;align-items:center;gap:.6rem;padding:.3rem .3rem 0;flex-wrap:wrap}.map-search input{padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;min-width:240px;background:var(--card);color:var(--ink)}.manage-link{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;background:var(--card-2);border:1px dashed var(--line);border-radius:8px;padding:.5rem .7rem}.manage-link input{flex:1 1 260px;font:inherit;font-size:.8rem;padding:.25rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}.find-booking{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem}.find-booking input{padding:.4rem .6rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--card);color:var(--ink)}.invoice-head,.invoice-parties{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.2rem}.invoice-org{text-align:right}.invoice .pre{white-space:pre-wrap}.invoice-table .num{text-align:right;font-variant-numeric:tabular-nums}.invoice-table tfoot th{font-size:1.05rem;border-top:2px solid var(--ink);background:transparent;color:var(--ink)}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.preview{margin-top:.8rem;border-top:1px dashed var(--line);padding-top:.6rem}.recipients{columns:2;font-size:.85rem;padding-left:1.2rem}.checkin-list{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-direction:column;gap:.4rem}.checkin-list li{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--card)}.checkin-list li.arrived{opacity:.7;background:var(--card-2)}.checkin-body{flex:1;min-width:0}.checkin-btn{min-width:150px;min-height:44px}.passes{display:none}.pass{border:2px solid #111;border-radius:12px;padding:8mm;text-align:center}.pass-show{font-size:12pt;color:#555}.pass-name{font-size:26pt;font-weight:800;margin:3mm 0}.pass-stalls{font-size:20pt;font-weight:600}.pass-hall{font-size:13pt}.pass-meta{font-size:10pt;margin-top:2mm}.stat-sub{margin-top:.15rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{background:var(--card);border:none;padding:.3rem .7rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.hbars{display:flex;flex-direction:column;gap:.55rem;margin-top:.8rem}.hbar-row{display:grid;grid-template-columns:170px 1fr 200px;gap:.8rem;align-items:center;font-size:.9rem}.hbar-label{display:flex;align-items:center;gap:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{position:relative;height:14px}.hbar-total,.hbar-done{position:absolute;left:0;top:0;height:100%;border-radius:4px}.hbar-value{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:700px){.hbar-row{grid-template-columns:1fr;gap:.2rem}.hbar-value{text-align:left}}.timeline-wrap{position:relative;margin-top:.4rem}.timeline{width:100%;height:auto;display:block}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{stroke:var(--line-2);stroke-width:1}.chart-tick{font-size:10px;fill:var(--muted)}.chart-bar{fill:var(--primary);opacity:.85}.chart-bar.hover{opacity:1}.chart-tip{position:absolute;top:0;transform:translate(-50%);background:var(--ink);color:var(--bg);font-size:.8rem;padding:.35rem .55rem;border-radius:6px;pointer-events:none;white-space:nowrap}.activity{list-style:none;padding:0;margin:.8rem 0}.activity li{display:grid;grid-template-columns:24px 150px 200px 1fr;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.9rem;align-items:baseline}@media(max-width:800px){.activity li{grid-template-columns:24px 1fr}.act-when,.act-action,.act-detail{grid-column:2}}.act-detail{color:var(--muted);overflow-wrap:anywhere}.occ{height:6px;background:var(--code-bg);border-radius:3px;overflow:hidden;margin:.3rem 0 .2rem}.occ-fill{height:100%;background:var(--primary);border-radius:3px}.pill.warn{background:#fff4e0;border-color:#f5dfa0;color:#7a5a00}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:root[data-theme=dark] .card,:root[data-theme=dark] .table,:root[data-theme=dark] .stat,:root[data-theme=dark] .ex-card,:root[data-theme=dark] .zoom-btn,:root[data-theme=dark] .btn,:root[data-theme=dark] .chip,:root[data-theme=dark] .form input,:root[data-theme=dark] .form textarea,:root[data-theme=dark] .form select,:root[data-theme=dark] .toolbar-row .search,:root[data-theme=dark] .toolbar-row select,:root[data-theme=dark] .exhibitors .search,:root[data-theme=dark] .promo-form input,:root[data-theme=dark] .type-item{background:var(--card);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}:root[data-theme=dark] .table th,:root[data-theme=dark] .field-row,:root[data-theme=dark] .tool-group,:root[data-theme=dark] .logo-drop,:root[data-theme=dark] .terms-box,:root[data-theme=dark] .message-body,:root[data-theme=dark] .answers,:root[data-theme=dark] .confirmation-note,:root[data-theme=dark] .detail-row td,:root[data-theme=dark] .table tr.clickable:hover td{background:var(--card-2);color:var(--ink);border-color:var(--line)}:root[data-theme=dark] .pill{background:var(--code-bg);border-color:var(--line);color:var(--ink)}:root[data-theme=dark] .pill.ok{background:#14351f;border-color:#1f5c33;color:#7bd88f}:root[data-theme=dark] .pill.warn{background:#3a2c0a;border-color:#5c4614;color:#f5c96a}:root[data-theme=dark] .chip.active{background:var(--chip-bg, var(--primary-soft))}:root[data-theme=dark] .type-items li.active{background:var(--primary-soft)}:root[data-theme=dark] .error.banner{background:#3a1a1a;border-color:#5c2b2b}:root[data-theme=dark] .notice.banner{background:#3a2c0a;border-color:#5c4614;color:#f5c96a}:root[data-theme=dark] .countdown{background:#3a2c0a;color:#f5c96a}:root[data-theme=dark] .tool-group .btn{background:transparent}:root[data-theme=dark] .tool-group .btn:hover:not(:disabled):not(.primary){background:var(--code-bg)}:root[data-theme=dark] .type-card{background:var(--card-2)!important}:root[data-theme=dark] kbd{background:var(--code-bg);border-color:var(--line)}:root[data-theme=dark] .ex-logo{background:#fff}:root[data-theme=dark] .ex-initials{background:var(--code-bg)}:root[data-theme=dark] .floormap{background:#fbfcfd}@media(max-width:700px){main{padding:.8rem}.topbar{padding:.6rem .9rem}.topbar nav{gap:.7rem;font-size:.9rem}.basket{position:static}.two-col,.field-row-main{grid-template-columns:1fr}.tabs{overflow-x:auto;flex-wrap:nowrap}.tab{white-space:nowrap;padding:.55rem .7rem}.designer-panel{position:static;max-height:none}.tool-hint{display:none}.btn,.chip{min-height:36px}.row-between{flex-wrap:wrap}}.types-layout{display:grid;grid-template-columns:300px 1fr;gap:1.2rem;align-items:start}@media(max-width:900px){.types-layout{grid-template-columns:1fr}}.type-items{list-style:none;padding:0;margin:.6rem 0 0}.type-items li{display:flex;align-items:center;gap:.3rem;border-radius:8px;padding:.15rem .3rem}.type-items li.active{background:#eaf1fe}.type-item{flex:1;display:flex;align-items:center;gap:.5rem;background:none;border:none;font:inherit;text-align:left;padding:.45rem .3rem;cursor:pointer;color:inherit}.type-item .type-name{flex:1;font-weight:600}.type-form{max-width:760px}:root,:root[data-theme=dark]{--char: #1C1F22;--char-2: #23272B;--slab: #2C3238;--vis: #FFCC00;--white: #F2F3EF;--grey: #8A949E;--slate: #4E5864;--muted-ct: #AEB6BE;--label: #9AA3AC;--err: #FF7A59;--f-display: "Bungee", "Arial Black", Impact, sans-serif;--f-label: "Barlow Condensed", "Arial Narrow", sans-serif;--f-body: "Barlow", "Helvetica Neue", Arial, sans-serif;--bg: var(--char);--card: var(--char-2);--card-2: var(--slab);--ink: var(--white);--muted: var(--muted-ct);--line: rgba(138,148,158,.28);--line-2: var(--grey);--primary: var(--vis);--primary-dark: #E6B800;--primary-soft: rgba(255,204,0,.14);--on-primary: var(--char);--danger: var(--err);--code-bg: var(--slab);--ok: #7BD88F;--ok-bg: #14351F;--ok-line: #1F5C33;color-scheme:dark}:root[data-theme=light]{--char: #FFFFFF;--char-2: #F4F4F1;--slab: #EAEBE7;--white: #1C1F22;--grey: #69727C;--slate: #7D8791;--muted-ct: #4E5864;--label: #5F6872;--bg: var(--char);--card: var(--char-2);--card-2: var(--slab);--ink: var(--white);--muted: var(--muted-ct);--line: rgba(28,31,34,.14);--line-2: var(--grey);--primary: #7A5C00;--primary-dark: #5E4700;--primary-soft: rgba(255,204,0,.22);--on-primary: #FFFFFF;--code-bg: var(--slab);--ok: #1D7A3D;--ok-bg: #E8F6EC;--ok-line: #B7E0C3;color-scheme:light}:root[data-theme=light] .btn.primary,:root[data-theme=light] .chip.active{background:var(--vis);border-color:var(--vis);color:#1c1f22}body{font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased}h1{font:400 clamp(1.6rem,3.4vw,2.4rem)/1.02 var(--f-display);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance}h2{font:400 clamp(1.3rem,2.4vw,1.8rem)/1.05 var(--f-display);text-transform:uppercase}h3,.basket h3,legend,.logo-upload-label,.stat-label,.legend,.type-card-head strong,.form label,.form-inline,.tab,.hall-tab,.pill,.chip,.countdown,.brand-tag{font-family:var(--f-label)}h3{font-weight:800;font-size:1.15rem;line-height:1.15;text-transform:uppercase;letter-spacing:.03em}.form label,legend,.stat-label,.logo-upload-label,fieldset.type-picker legend{font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--label)}.form input,.form textarea,.form select{font:500 1rem/1.3 var(--f-body);color:var(--ink)}.tab{font-weight:800;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.pill,.chip,.hall-tab{font-weight:700;letter-spacing:.06em;text-transform:uppercase}.chip{font-size:.8rem}code,kbd{font-family:var(--f-label);font-size:.95em;letter-spacing:.04em}.card,.btn,.chip,.pill,.table,.form input,.form textarea,.form select,.tab,.hall-tab,.seg,.seg button,.stat,.ex-card,.ex-logo,.ex-initials,.zoom-btn,.zoom-level,.tool-group,.field-row,.logo-drop,.terms-box,.message-body,.answers,.confirmation-note,.countdown,.manage-link,.manage-link input,.map-search input,.find-booking input,.exhibitors .search,.toolbar-row .search,.toolbar-row select,.promo-form input,.type-card,.error.banner,.notice.banner,.occ,.occ-fill,.hbar-total,.hbar-done,.chart-tip,.checkin-list li,.pass,.type-items li,.form-inline select,.theme-toggle,.floormap,.show-card{border-radius:0}.btn,.btn.small,.qty .btn,.align-grid .btn{font:800 .95rem/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;padding:13px 20px;min-height:44px;border:2px solid var(--line-2);background:transparent;color:var(--ink);transition:background-color .2s,border-color .2s,color .2s}.btn:hover:not(:disabled){border-color:var(--ink)}.btn.primary,:root[data-theme=dark] .btn.primary{background:var(--vis);border-color:var(--vis);color:#1c1f22}.btn.primary:hover:not(:disabled){background:var(--white);border-color:var(--white);color:var(--char)}:root[data-theme=light] .btn.primary:hover:not(:disabled){background:#1c1f22;border-color:#1c1f22;color:#fff}.btn.danger-solid{background:var(--err);border-color:var(--err);color:#1c1f22}.btn:focus-visible,.chip:focus-visible,.tab:focus-visible,.link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--bg),0 0 0 6px var(--vis)}.tool-group .btn{min-height:36px;padding:6px 12px}.qty .btn{min-height:36px;padding:4px 12px}.link{color:var(--primary);font-weight:600}a{color:var(--primary)}.chip{border-width:2px;background:var(--card);color:var(--ink);min-height:36px}.chip.active{background:var(--chip-bg, var(--primary-soft));border-color:var(--chip, var(--vis))}.pill{background:var(--code-bg);border:1.5px solid var(--line);color:var(--ink)}.pill.ok,:root[data-theme=dark] .pill.ok{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}.pill.warn,:root[data-theme=dark] .pill.warn{background:var(--primary-soft);border-color:var(--vis);color:var(--ink)}.card,.stat{background:var(--card);border:1px solid var(--line)}.card.pad,.basket,.stat,.type-card,.show-card{border-top:3px solid var(--vis)}.map-panel{border-top:none}.show-card:hover{box-shadow:0 14px 30px #00000047;transition:box-shadow .25s ease}.table{background:var(--card)}.table th{background:var(--card-2);color:var(--label);font:700 .78rem/1.2 var(--f-label);letter-spacing:.14em;text-transform:uppercase}.form input,.form textarea,.form select,.map-search input,.find-booking input,.exhibitors .search,.toolbar-row .search,.toolbar-row select,.promo-form input{background:var(--bg);color:var(--ink);border:1.5px solid var(--grey);padding:12px}.form input:focus,.form textarea:focus,.form select:focus,.map-search input:focus,.promo-form input:focus{outline:none;border-color:var(--vis)}.tab.active{color:var(--ink);border-bottom:3px solid var(--vis)}.hall-tab.active{background:var(--primary-soft);border-color:var(--vis);color:var(--ink)}.seg button.active{background:var(--primary-soft);color:var(--ink)}.countdown{background:var(--primary-soft);color:var(--ink);border:1.5px solid var(--vis)}.countdown.danger{background:var(--err);color:#1c1f22;border-color:var(--err)}.discount-line{color:var(--ok)}.error.banner{background:#ff7a591f;border:2px dashed var(--err);color:var(--ink)}.notice.banner{background:var(--primary-soft);border:2px solid var(--vis);color:var(--ink)}.confirmation-note{background:var(--card-2);border-left:3px solid var(--vis)}.ghost-rect{fill:#ffcc002e;stroke:#b07300}.marquee-rect{fill:#ffcc0014;stroke:#b07300}.chart-bar,.occ-fill,.hbar-done{fill:var(--vis);background:var(--vis)}.chart-tip{background:var(--ink);color:var(--bg)}.live-dot{background:var(--vis);box-shadow:0 0 0 3px var(--primary-soft)}.topbar{background:var(--card);border-bottom:1px solid var(--line);padding:.6rem clamp(16px,4vw,40px)}.brand{display:inline-flex;align-items:center;gap:12px}.brand img{height:44px;width:auto;display:block}.brand-tag{font:700 .72rem/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--label)}.topbar nav a{font:700 .9rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);padding:10px 2px;position:relative}.topbar nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:3px;background:var(--vis);transition:right .2s ease}.topbar nav a:hover:after,.topbar nav a[aria-current=page]:after{right:0}.theme-toggle{border:2px solid var(--line-2);background:transparent;color:var(--ink);min-width:44px;min-height:44px}main{padding:clamp(16px,3vw,32px) clamp(16px,4vw,40px)}.page>h1+p.muted,.row-between h1+p{max-width:62ch}.muted{color:var(--muted)}.floormap,:root[data-theme=dark] .floormap{background:#fbfcfd;border:1px solid var(--line)}.venue-outline{fill:#fff;stroke:#94a3b8}.app.embed{background:var(--char)}.app.embed main{padding:12px}.embed-page h1{font-size:1.1rem}@media print{body{background:#fff;color:#111}.card{border-top-color:#111}}@media(max-width:700px){.brand img{height:36px}.brand-tag{display:none}.topbar nav{gap:.5rem}.topbar nav a{font-size:.8rem;letter-spacing:.08em}}.app.full{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.app.full .topbar{flex:0 0 auto;position:static}.app.full main{flex:1 1 auto;min-height:0;padding:10px clamp(12px,2vw,24px) 12px;overflow:hidden}.app.full.embed main{padding:8px}.book{height:100%;max-width:none;display:grid;grid-template-columns:minmax(340px,400px) 1fr;gap:14px;min-height:0}.book>*{min-height:0}.book-side{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:4px;scrollbar-gutter:stable}.book-head{margin:0 0 .9rem}.eyebrow{font:700 .72rem/1.2 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--label);margin:0 0 .35rem}.book-head h1{margin:0 0 .35rem;font-size:clamp(1.25rem,1.8vw,1.6rem)}.book-meta{color:var(--muted);margin:0;font-size:.95rem}.book-meta b{color:var(--ink);font-weight:600}.book-about{margin:.4rem 0 0;font-size:.9rem;color:var(--muted)}.book-about summary{cursor:pointer;color:var(--primary);font-weight:600}.book-about p{margin:.3rem 0 0}.step{margin:0 0 .9rem}.step-head{display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem}.step-head h2{margin:0;font-size:1.05rem}.step-num{display:inline-grid;place-items:center;width:30px;height:30px;flex:0 0 auto;background:var(--vis);color:#1c1f22;font:800 .95rem/1 var(--f-label)}.step.done .step-num{background:transparent;color:var(--ink);border:2px solid var(--vis)}.step-pick{display:flex;align-items:flex-start;gap:.7rem;flex-wrap:wrap;padding:.7rem .8rem;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--zone, var(--vis))}.step-pick .zone-dot{margin-top:.4rem}.step-pick>div{flex:1 1 200px}.step-pick .link{margin-left:auto;min-height:36px}.tier-hint{margin:0 0 .6rem;font-size:.95rem}.bt-picker{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--vis);padding:.8rem .8rem .9rem}.bt-label{display:block;font:700 .76rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--label);margin:0 0 .4rem}.bt-search{width:100%;display:block;font:500 1rem/1.3 var(--f-body);color:var(--ink);background:var(--bg);border:1.5px solid var(--grey);padding:11px 12px;min-height:46px}.bt-search:focus{outline:none;border-color:var(--vis)}.bt-hint{margin:.8rem 0 .35rem}.bt-help{margin:.8rem 0 0}.bt-results{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:3px}.bt-results.columns{margin-top:.6rem;max-height:42vh;overflow-y:auto}.bt-item{width:100%;display:flex;align-items:center;gap:.6rem;text-align:left;min-height:42px;padding:7px 10px;background:var(--card-2);border:1px solid var(--line);color:var(--ink);font:500 .95rem/1.25 var(--f-body);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.bt-item:hover,.bt-item:focus-visible{border-color:var(--vis);outline:none}.bt-item[aria-disabled=true]{opacity:.6}.bt-item .bt-name{flex:1;min-width:0}.bt-item .bt-zone{font:700 .68rem/1.2 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--label);text-align:right;flex:0 0 auto;max-width:45%}.zone-dot{width:12px;height:12px;flex:0 0 auto;background:var(--zone, var(--grey));border:1px solid rgba(0,0,0,.25)}.zone-chips{display:flex;flex-wrap:wrap;gap:.35rem}.zone-chips .chip{min-height:36px;font-size:.74rem;transition:border-color .15s ease,background-color .15s ease}.zone-chips .swatch,.legend .swatch{border-radius:0}.tier-note{margin:0 0 .8rem;padding:.6rem .8rem;background:var(--primary-soft);border:2px solid var(--vis);font-weight:500;font-size:.95rem}.tier-note.full,.tier-note.none,.tier-note.sold_out,.tier-note.phase2{background:transparent;border-color:var(--grey)}.tier-note .link{margin-left:.4rem}.basket.empty{display:none}.basket{position:sticky;bottom:0;top:auto;margin-top:auto;padding:.9rem 1rem;z-index:2}.basket h3{margin:0 0 .5rem}.basket-empty{color:var(--muted);margin:0}.basket .countdown{margin:.4rem 0;display:inline-block}.basket .btn.block{margin-top:.5rem}.basket-bar{display:none}.basket-list li>span:first-child{flex:1;min-width:0}.basket-list li>span:first-child .muted{display:block;font-size:.85rem}.book-side .exhibitors,.book-side .find-booking{flex:0 0 auto}.book-side .exhibitors{margin-top:.9rem}.book-side .ex-grid{grid-template-columns:1fr}.book-map{display:flex;flex-direction:column;min-height:0;padding:.5rem}.book-map .hall-tabs{margin-bottom:.4rem}.map-wrap.fill{flex:1 1 auto;min-height:0;position:relative}.map-wrap.fill .floormap{width:100%;height:100%;display:block}.map-foot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;padding-top:.4rem}.map-foot .legend,.map-foot .map-search{padding:0}.map-foot .map-search input{min-width:220px;padding:8px 10px}.map-wrap .site-card{position:absolute;left:10px;bottom:10px;width:min(460px,calc(100% - 20px));height:118px;overflow:hidden;margin:0;box-shadow:0 10px 26px #00000047;transition:border-color .18s ease}.site-card{padding:.65rem .85rem;background:var(--card-2);border:1px solid var(--line);border-left:5px solid var(--zone, var(--grey))}:root[data-theme=dark] .site-card{background:#23272bf5}:root[data-theme=light] .site-card{background:#f4f4f1f7}.site-title{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.site-title strong{font:800 1.1rem/1 var(--f-label);letter-spacing:.04em;text-transform:uppercase}.site-title>span{font-size:.9rem}.site-price{margin-left:auto;font:800 1.05rem/1 var(--f-label);white-space:nowrap}.site-card p{margin:.25rem 0 0;font-size:.92rem;line-height:1.4}.site-card .why{color:var(--muted)}.site-card .why b,.site-card p b{color:var(--ink)}@media(max-width:900px){.app.full{height:auto;overflow:visible}.app.full main{overflow:visible}.book{display:block;height:auto}.book-side{overflow:visible;padding-right:0}.book-map{margin-top:.6rem}.map-wrap.fill{flex:none}.map-wrap.fill .floormap{aspect-ratio:1;height:auto}.map-wrap .site-card{position:static;width:auto;height:auto;min-height:92px;box-shadow:none;margin-top:.5rem}.book.picked .book-side .exhibitors,.book.picked .book-side .find-booking{display:none}.basket{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:20;margin:0;border-top:3px solid var(--vis);padding:.6rem 16px calc(.6rem + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #00000059}.basket.empty,.basket h3,.basket .basket-detail{display:none}.basket-bar{display:flex;align-items:center;gap:.8rem}.basket-bar .sum{flex:1;min-width:0}.basket-bar .sum strong{display:block;font:800 1rem/1.15 var(--f-label);text-transform:uppercase;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.basket-bar .countdown{margin:.2rem 0 0;font-size:.85rem}.basket-bar .btn{margin:0;flex:0 0 auto}.page.has-holds{padding-bottom:110px}}@media(max-width:700px){.book-map{padding:.4rem;margin-left:-4px;margin-right:-4px}.bt-picker{padding:.7rem}}.confirm .book-head{margin-bottom:1rem}.confirm .book-head h1{font-size:clamp(1.6rem,3vw,2.2rem)}.confirm-actions{margin:0 0 1rem;gap:.5rem}.confirm-card{margin-bottom:1rem}.confirm-card .eyebrow{margin-bottom:.6rem}.confirm-show{margin:0 0 .6rem;line-height:1.45}.confirm-facts{margin:.8rem 0 0;padding:.6rem 0 0;border-top:1px dashed var(--line);font-size:.95rem}.confirm-facts>div{display:grid;grid-template-columns:130px 1fr;gap:.6rem;padding:.3rem 0}.confirm-facts dt{color:var(--label);font:700 .74rem/1.6 var(--f-label);letter-spacing:.12em;text-transform:uppercase}.confirm-facts dd{margin:0}.promo-card{border-top-color:var(--vis)}.promo-code{font:400 clamp(1.5rem,4vw,2.2rem)/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.04em;color:var(--vis);margin:0 0 .4rem;word-break:break-all}.promo-card p:last-child{margin:0}.confirm-brand{margin-top:.8rem}.private-link p{margin:0 0 .7rem}.confirm-notes{margin-top:.4rem}@media(max-width:700px){.confirm-facts>div{grid-template-columns:1fr;gap:.1rem}.confirm-actions .btn{flex:1 1 45%;text-align:center}}
