
/* The reference has separate grade/method and seat/confirmation panels. */
body.seat-workspace #app{max-width:none;padding:0}body.seat-workspace .progress-steps{display:none}body.seat-workspace .session-top{padding:18px 28px;margin:0;border-bottom:1px solid #e6e8ee}.reference-workspace{grid-template-columns:minmax(0,1fr) 400px;border:0;border-radius:0;height:calc(100dvh - 150px);min-height:620px;overflow:hidden}.reference-workspace [hidden]{display:none!important}.reference-workspace .seat-stage>.panel{height:100%;min-height:0;padding:0;position:relative;overflow:hidden}.reference-workspace .seat-stage{height:100%}.reference-workspace .seat-topline{position:absolute;top:14px;right:20px;z-index:10;background:#edf0f5dd;padding:7px;border-radius:6px}.reference-workspace .seat-topline>span:first-child{display:none}.reference-workspace .seat-stage-actions{position:absolute;top:14px;left:16px;z-index:10;margin:0}.reference-workspace .seat-stage-actions>span,.reference-workspace #expandStage{display:none}.reference-workspace #mapWrap{position:absolute;inset:0;display:block!important}.reference-workspace .interactive-map-scroll{height:100%;max-height:none;min-height:0;display:grid;place-items:center}.reference-workspace #mapCanvas{height:100%;min-width:100%;display:flex;align-items:center;justify-content:center;transition:transform 180ms ease-out,opacity 180ms ease-out;transform-origin:var(--focus-x,50%) var(--focus-y,50%)}.reference-workspace .interactive-map{width:100%;height:100%;object-fit:contain}.reference-workspace .map-toolbar{position:absolute;bottom:22px;right:20px;top:auto;z-index:12}.reference-workspace .map-toolbar>div{display:flex;flex-direction:column;gap:3px}.reference-workspace #mapScale{display:none}.reference-workspace .region-controls,.reference-workspace #regionList{display:none!important}.reference-workspace .seat-side{height:100%;min-height:0;max-height:none;position:relative;top:0;padding:24px;overflow:hidden}.reference-workspace #gradePanel{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:0;border:0}.reference-workspace #gradePanel h3{font-size:23px}.reference-workspace #allRemaining{display:block;margin-top:8px;font-size:12px}.reference-workspace #grades{flex:1;max-height:none;overflow:auto}.reference-workspace .grade-row{font-size:17px;padding:18px 10px}.reference-workspace #methodPanel{flex-shrink:0;margin:0!important;padding:16px 0 0!important;border:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:white}.reference-workspace #methodPanel h3,.reference-workspace #autoGrade{display:none}.reference-workspace .auto-controls{grid-column:1/-1;margin:0;display:flex;justify-content:flex-end}.reference-workspace #autoQty{width:90px}.reference-workspace #autoAssign,.reference-workspace #manualSelect{margin:0;min-height:56px;font-size:14px;padding:10px}.reference-workspace #chosenPanel{display:flex;flex-direction:column;flex:1;margin:0;padding:0;border:0;min-height:0}.reference-workspace #selectionList{flex:1;overflow:auto;min-height:0}.reference-workspace #selectionList>.muted{height:100%;font-size:17px}.reference-workspace #giveup{display:none}.reference-workspace #finish{flex-shrink:0;min-height:60px}.reference-workspace .seat-detail{position:absolute;inset:0;margin:0;background:white;padding:66px 22px 48px;z-index:5;transform-origin:var(--focus-x,50%) var(--focus-y,50%)}.reference-workspace .seat-head{position:absolute;top:20px;left:220px;right:140px}.reference-workspace .simulation-note{display:none}.reference-workspace .seat-grid-wrap{height:100%;max-height:none;border-radius:0;display:grid;align-items:center;justify-items:center;padding:0}.reference-workspace .detail-zoom{position:absolute;bottom:15px;right:18px;z-index:8;margin:0}.reference-workspace .legend{position:absolute;bottom:16px;left:160px;font-size:11px}.reference-workspace .seat-prices{z-index:15}.reference-workspace.is-detail #mapCanvas{transform:scale(3);opacity:0}.reference-workspace .seat-shape-caption{display:none}.reference-workspace .seat-cell{font-size:9px}.reference-workspace .seat-cell.sold{background:#eceef3}.reference-workspace .seat-topline{z-index:16}.reference-workspace .seat-stage-actions{z-index:16}.reference-workspace .zoom-enter{animation:seat-zoom-in 180ms ease-out both}
@media(max-width:900px){.reference-workspace{height:auto;min-height:0;display:flex;padding-bottom:0}.reference-workspace .seat-stage{height:52dvh;min-height:330px}.reference-workspace .seat-side{height:40dvh;min-height:270px;padding:16px 16px 138px;overflow:hidden}.reference-workspace .seat-side:before{display:none}.reference-workspace #gradePanel h3{font-size:18px;margin:0 0 8px}.reference-workspace #allRemaining{display:none}.reference-workspace #methodPanel{position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(12px + env(safe-area-inset-bottom))!important;z-index:40;box-shadow:0 -2px 12px #0001}.reference-workspace #grades{max-height:none}.reference-workspace .grade-row{min-height:48px;font-size:14px;padding:12px 8px}.reference-workspace .seat-detail{padding:60px 8px 50px}.reference-workspace .seat-head{top:44px;left:12px;right:12px;font-size:12px}.reference-workspace .seat-head h3{font-size:13px}.reference-workspace .seat-topline{top:5px;right:5px}.reference-workspace #seatElapsed{font-size:13px}.reference-workspace .seat-stage-actions{top:5px;left:5px;gap:4px}.reference-workspace .seat-stage-actions button{font-size:11px;padding:6px;min-height:32px}.reference-workspace .legend{display:none}.reference-workspace .detail-zoom{bottom:8px;right:8px;gap:3px}.reference-workspace .detail-zoom button{font-size:14px;min-width:34px;min-height:34px;padding:4px}.reference-workspace .seat-prices{left:8px;bottom:8px;padding:8px;font-size:11px}.reference-workspace[data-mode=detail] .seat-side,.reference-workspace[data-mode=manual] .seat-side{height:33dvh;min-height:230px;padding-bottom:75px}.reference-workspace #finish{position:fixed;bottom:0;left:0;width:100%;z-index:40;border-radius:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.reference-workspace .total{margin:5px 0}.reference-workspace #selectionList li{padding:8px}.reference-workspace #chosenPanel h3{font-size:17px;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.reference-workspace #mapCanvas{transition:none}.reference-workspace .zoom-enter{animation:none}}

/* Visual QA corrections: one viewport, fit map, one set of zoom controls. */
body.seat-workspace{overflow:hidden;background:white}body.seat-workspace>header{height:64px;min-height:64px}body.seat-workspace .session-top{height:76px;box-sizing:border-box;background:#fff;padding:12px 24px}body.seat-workspace footer{display:none}.reference-workspace{height:calc(100dvh - 140px);min-height:0}.reference-workspace #mapCanvas{width:100%;height:100%;min-height:0;min-width:0;flex-shrink:0}.reference-workspace .interactive-map-scroll{display:block;overflow:auto}.reference-workspace .interactive-map{display:block;width:100%;height:100%;min-height:0;max-height:100%;flex:none}.reference-workspace.is-detail .map-toolbar{display:none!important}.reference-workspace .seat-grid-wrap{display:block;overflow:auto;min-height:0}.reference-workspace .seat-grid{width:max-content;max-width:none;min-width:0;margin:auto;padding:0;background:transparent;border:0}.reference-workspace .seat-shape{background:#fff;border:0;border-radius:0}.reference-workspace .seat-detail{padding:88px 22px 72px}.reference-workspace .seat-head{top:55px;left:22px;right:22px;display:flex;gap:12px}.reference-workspace .seat-head h3{font-size:17px;margin:0}.reference-workspace .simulation-note{display:block;position:absolute;top:8px;left:22px;right:185px;font-size:11px;margin:0;color:#707888;pointer-events:none}.reference-workspace .seat-stage-actions{top:28px}.reference-workspace .seat-topline{top:0}.reference-workspace .seat-cell{width:18px;height:18px;min-width:18px;min-height:18px;font-size:9px}.reference-workspace .seat-shape .seat-cell{margin:6px}.reference-workspace .legend{left:170px;bottom:20px;max-width:calc(100% - 380px)}.reference-workspace .shape-field{background:#f4f5f8;border-color:#e0e3e9}.reference-workspace .detail-zoom{bottom:18px}.reference-workspace .seat-prices{max-height:calc(100% - 85px)}.reference-workspace #selectionList{font-size:14px}.reference-workspace #selectionList>.muted{min-height:0}
@media(max-width:900px){body.seat-workspace>header{height:52px;min-height:52px}body.seat-workspace .session-top{height:68px;padding:10px 12px}body.seat-workspace .session-top h1{font-size:18px}.reference-workspace{height:calc(100dvh - 120px);display:grid;grid-template-rows:minmax(230px,1fr) minmax(200px,.8fr);grid-template-columns:minmax(0,1fr);padding:0}.reference-workspace .seat-stage{height:100%;min-height:0}.reference-workspace .seat-side{height:100%;min-height:0;padding:12px 12px 118px}.reference-workspace .interactive-map-scroll{height:100%;min-height:0;max-height:none}.reference-workspace #methodPanel{padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;gap:6px}.reference-workspace #autoQty{height:30px;min-height:30px;width:80px;font-size:12px}.reference-workspace #autoAssign,.reference-workspace #manualSelect{min-height:46px;font-size:13px;padding:8px}.reference-workspace .auto-controls{justify-content:flex-end}.reference-workspace .grade-row{padding:10px 5px;min-height:42px}.reference-workspace .seat-detail{padding:78px 8px 50px}.reference-workspace .seat-head{top:57px;left:10px;right:10px}.reference-workspace .seat-head h3{font-size:12px;line-height:1.2}.reference-workspace #zoneRemaining{font-size:10px;white-space:nowrap}.reference-workspace .simulation-note{top:30px;left:10px;right:10px;font-size:10px}.reference-workspace .seat-stage-actions{top:0;left:5px}.reference-workspace .seat-topline{top:0;right:5px}.reference-workspace #seatElapsed{font-size:11px}.reference-workspace .seat-stage-actions button{font-size:10px;min-height:28px}.reference-workspace .detail-zoom{bottom:8px}.reference-workspace .seat-prices{max-width:calc(100% - 16px)}.reference-workspace[data-mode=detail],.reference-workspace[data-mode=manual]{grid-template-rows:minmax(260px,1fr) minmax(165px,.55fr)}.reference-workspace[data-mode=detail] .seat-side,.reference-workspace[data-mode=manual] .seat-side{height:100%;min-height:0;padding:12px 12px 64px}.reference-workspace .seat-grid-wrap{height:100%;max-height:none}.reference-workspace .seat-cell{width:26px;height:26px;min-width:26px;min-height:26px}.reference-workspace .seat-shape .seat-cell{margin:2px}.reference-workspace #finish{min-height:54px}.reference-workspace #chosenPanel h3{margin:0 0 6px;font-size:15px}.reference-workspace #selectionList{font-size:12px}.reference-workspace #selectionList>.muted{font-size:14px}.reference-workspace .total{font-size:12px}.reference-workspace .total strong{font-size:18px}}
.reference-workspace .seat-head{margin:0;flex-direction:row;align-items:center;justify-content:space-between;z-index:7;pointer-events:none}.reference-workspace .simulation-note{padding:0;background:transparent;line-height:1.5;top:8px}.reference-workspace.is-detail{padding-bottom:0}.reference-workspace .total{padding:10px 0}.reference-workspace .seat-head #zoneTitle{white-space:normal}.reference-workspace .selection-list>li{min-height:52px}
@media(max-width:900px){.reference-workspace .simulation-note{top:35px}.reference-workspace .seat-head{top:57px;margin:0;flex-direction:row}.reference-workspace .total{padding:8px 0;margin:4px 0}.reference-workspace #selectionList{margin:4px 0}.reference-workspace #selectionList li{padding:6px 4px;min-height:48px}.reference-workspace .seat-side{padding-bottom:112px}}

@media(min-width:901px){.reference-workspace .seat-head{top:76px}.reference-workspace .seat-detail{padding-top:112px}}

.reference-workspace #autoCountPanel{display:flex;flex-direction:column;gap:16px;flex:1;min-height:0}.reference-workspace #autoCountPanel h3{font-size:22px;margin:0}.reference-workspace #autoCountGrade{font-weight:700;color:#4e4bff;margin:0}.reference-workspace #autoCountPanel #autoQty{width:100%;min-height:48px}.reference-workspace .count-actions{display:grid;grid-template-columns:80px 1fr;gap:8px;margin-top:auto}.reference-workspace .count-actions button{min-height:52px}.reference-workspace #methodPanel{grid-template-columns:1fr 1fr}@media(max-width:900px){.reference-workspace #autoCountPanel{gap:8px}.reference-workspace #autoCountPanel h3{font-size:17px}.reference-workspace .count-actions{position:fixed;bottom:0;left:0;right:0;background:white;padding:12px 12px calc(12px + env(safe-area-inset-bottom));z-index:40}}
.booking-notice{box-sizing:border-box;width:min(382px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 32px);padding:20px;border:0;border-radius:18px;background:#fff;color:#111;overflow:auto;box-shadow:0 12px 48px #0003}.booking-notice::backdrop{background:#0009}.booking-notice-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-notice-head h2{font-size:20px;font-weight:800;margin:0}.booking-notice-head button{border:0;background:transparent;color:#777;font-size:28px;line-height:1;width:32px;height:32px;padding:0;cursor:pointer}.booking-notice h3{font-size:16px;font-weight:700;color:#777;margin:12px 0 44px}.booking-notice p{font-size:15px;line-height:1.5;color:#777;margin:0 0 42px;word-break:keep-all}.booking-notice p:last-child{margin-bottom:24px}.booking-notice #confirmBookingNotice{background:#514cff;border:0;border-radius:16px;min-height:52px;font-size:17px;font-weight:800;color:#fff;width:100%}.booking-notice button:focus-visible{outline:3px solid #9996ff;outline-offset:3px}@media(max-height:500px){.booking-notice h3{margin-bottom:20px}.booking-notice p{margin-bottom:20px}}

/* Navigation sits immediately above the zoom controls in both map modes. */
.reference-workspace .seat-stage-actions{top:auto;left:auto;right:18px;bottom:192px;display:flex;gap:8px}
.reference-workspace.is-detail .seat-stage-actions{bottom:68px}
.reference-workspace #autoAttemptStatus{line-height:1.6;color:#bd303b;font-weight:700}
.reference-workspace #retryGrades{background:#4f4fff;color:white;border-color:#4f4fff;margin:12px 0;min-height:48px}
@media(max-width:900px){.reference-workspace .seat-stage-actions{top:auto;left:auto;right:8px;bottom:182px}.reference-workspace.is-detail .seat-stage-actions{bottom:50px}.reference-workspace .seat-stage-actions button{font-size:12px;min-height:36px;padding:8px}.reference-workspace #autoCountPanel{overflow:auto;max-height:100%}}

/* Mobile uses document flow so in-app browser toolbars cannot hide controls. */
.mobile-map-toggle{display:none}
@media(max-width:900px){
 body.seat-workspace{overflow:auto}
 body.seat-workspace>header{height:auto;min-height:64px}
 body.seat-workspace .header{height:auto;min-height:64px;flex-wrap:wrap}
 body.seat-workspace .header nav{position:static;width:auto;margin-left:auto}
 body.seat-workspace .session-top{height:auto;min-height:68px}
 .reference-workspace,.reference-workspace[data-mode=detail],.reference-workspace[data-mode=manual]{display:flex;height:auto;min-height:0;flex-direction:column;overflow:visible}
 .reference-workspace .seat-stage{height:400px;height:clamp(360px,58svh,560px);flex:none}
 .reference-workspace[data-mode=grade] .seat-stage{height:190px;padding-top:44px;position:relative}
 .reference-workspace[data-mode=grade].mobile-map-expanded .seat-stage{height:400px}
 .reference-workspace[data-mode=grade] .mobile-map-toggle{display:block;position:absolute;top:4px;left:12px;min-height:36px;font-size:14px;z-index:20}
 .reference-workspace[data-mode=grade] .map-toolbar{display:none}
 .reference-workspace[data-mode=grade].mobile-map-expanded .map-toolbar{display:flex}
 .reference-workspace .seat-side,.reference-workspace[data-mode=detail] .seat-side,.reference-workspace[data-mode=manual] .seat-side{height:auto;min-height:0;padding:20px 16px;overflow:visible;display:flex;flex-direction:column}
 .reference-workspace #gradePanel{flex:none}
 .reference-workspace #gradePanel h3{font-size:21px;line-height:1.4;margin-bottom:12px}
 .reference-workspace #grades{flex:none;max-height:350px;max-height:50svh;overflow:auto;overscroll-behavior:contain}
 .reference-workspace .grade-row{font-size:17px;min-height:56px;padding:14px 10px}
 .reference-workspace #methodPanel,.reference-workspace #finish,.reference-workspace .count-actions{position:static;width:100%;box-shadow:none;margin-top:16px!important;padding:8px 0 calc(8px + env(safe-area-inset-bottom))!important}
 .reference-workspace #autoAssign,.reference-workspace #manualSelect,.reference-workspace #finish{font-size:16px;min-height:56px}
 .reference-workspace #chosenPanel{flex:none;min-height:220px}
 .reference-workspace #selectionList{flex:none;min-height:100px;max-height:240px;overflow:auto;font-size:16px}
 .reference-workspace #chosenPanel h3{font-size:20px}
 .reference-workspace #autoCountPanel{flex:none;max-height:none;overflow:visible}
 .reference-workspace #autoCountPanel h3{font-size:20px}
 .reference-workspace #autoAttemptStatus{font-size:16px}
 #toast,body.has-mobile-start #toast{top:calc(12px + env(safe-area-inset-top));bottom:auto;z-index:1000;font-size:16px;font-weight:700;line-height:1.6;padding:16px 20px;max-width:calc(100vw - 24px)}
 .stadiums .stadium{align-items:center;justify-content:center;text-align:center;padding:18px 10px;gap:10px;min-height:164px}
 .stadiums .stadium-icon{margin:0 auto;align-items:center;justify-content:center}
 .stadiums .stadium-copy{width:100%;text-align:center}
 .stadiums .stadium strong{font-size:16px;line-height:1.5}
 .stadiums .stadium small{font-size:13px;line-height:1.6}
 .settings-row{grid-template-columns:1fr;gap:12px;margin:24px 0}
 .settings-row .field-label{font-size:17px;font-weight:800}
 .settings-row .segments{display:flex;flex-wrap:wrap;gap:6px}
 .settings-row .segments button{flex:1;min-width:60px;min-height:56px;font-size:18px;font-weight:800;padding:12px 6px}
 .settings-row .custom summary{font-size:16px;min-height:44px;padding-top:12px}
 .settings-note{font-size:15px;line-height:1.7}
}

.header .brand-character{width:64px;height:42px;object-fit:contain;border-radius:0}.header .brand{white-space:nowrap;font-size:22px;gap:10px}@media(max-width:900px){.header .brand{font-size:20px;letter-spacing:-.6px}.header .brand-character{width:52px;height:36px}.header nav{position:static;flex-wrap:wrap}}

.knowhow-nav{display:inline-flex;align-items:center;text-decoration:none}.header nav{flex-wrap:wrap}@media(max-width:900px){.header nav{width:100%;gap:18px;justify-content:flex-start}.header nav .nav-button{font-size:14px;min-height:44px}.header{height:auto!important}.header .brand{font-size:20px}}
