.blueprint-booking-container{box-sizing:border-box;background:#fff;grid-template-columns:1fr 300px;gap:0;width:100%;height:calc(100vh - 72px);display:grid;overflow:hidden}.application-first-container{box-sizing:border-box;background:#fafaf8;justify-content:center;align-items:flex-start;height:calc(100vh - 72px);padding:1.5rem;display:flex;overflow-y:auto}.application-first-panel{background:#fff;border:1px solid #e0d9d2;width:100%;max-width:780px}.blueprint-section{flex-direction:column;gap:.5rem;min-height:0;padding:.75rem .75rem .75rem 1rem;display:flex;overflow:hidden}.map-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.map-toolbar h2{color:#2d5016;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:1rem;line-height:1.15}.map-toolbar p{color:#777;margin:.15rem 0 0;font-size:.78rem}.map-back-btn{color:#2d5016;cursor:pointer;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap;background:#fff;border:1.5px solid #2d5016;padding:.45rem .7rem;font-family:Georgia,serif;font-size:.72rem;font-weight:700}.map-back-btn:hover{color:#fff;background:#2d5016}.stats-bar{border:1px solid #ddd;border-radius:2px;flex-shrink:0;gap:0;display:flex;overflow:hidden}.stat{background:#fafaf8;border-right:1px solid #ddd;flex-direction:column;flex:1;align-items:center;padding:.45rem .5rem;display:flex}.stat:last-child{border-right:none}.stat-available{background:#f1f8f1}.stat-booked{background:#fdf6f5}.stat-prefs{background:#fffbee}.stat-num{color:#2d5016;font-family:Georgia,serif;font-size:1.3rem;font-weight:700;line-height:1}.stat-available .stat-num{color:#2d5016}.stat-booked .stat-num{color:#795548}.stat-prefs .stat-num{color:#a07800}.stat-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:.65rem}.blueprint-canvas{background:#e8f0e0;border:2px solid #2d5016;flex:1;min-height:0;overflow:hidden}.blueprint-canvas svg{width:100%;height:100%}.site-map-canvas{background:#d9f2df}.floor-plan-canvas{background:#fbfaf6}.site-building{fill:#eef0f2;stroke:#cfd4da;stroke-width:3px;cursor:pointer;filter:drop-shadow(0 5px 6px #00000014);transition:fill .2s,stroke .2s,filter .2s}.site-building:hover{fill:#f7fbf2;stroke:#2d5016}.site-building.disabled{cursor:not-allowed;fill:#fff8e8;stroke:#e0cda8;opacity:.9}.plan-booth{cursor:pointer;transition:opacity .2s}.plan-booth:hover{opacity:.82}.plan-booth.is-booked{cursor:not-allowed}.building-tabs{flex-shrink:0;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;display:grid}.building-tabs button{color:#333;cursor:pointer;text-align:left;background:#fafaf8;border:1px solid #ddd;flex-direction:column;gap:.1rem;min-height:46px;padding:.45rem .5rem;font-family:Georgia,serif;display:flex}.building-tabs button:hover:not(:disabled),.building-tabs button.active{background:#f1f8f1;border-color:#2d5016}.building-tabs button.disabled{cursor:not-allowed;opacity:.62}.building-tabs span{text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:700;line-height:1.1;overflow:hidden}.building-tabs small{color:#777;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;line-height:1.1;overflow:hidden}.legend{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:1.25rem;padding:.4rem 0;display:flex}.legend-item{color:#555;align-items:center;gap:.4rem;font-family:Georgia,serif;font-size:.8rem;display:flex}.legend-color{border:1.5px solid #999;border-radius:2px;flex-shrink:0;width:18px;height:18px}.legend-color.available{background:#e8f5e9;border-color:#2d5016}.legend-color.booked{background:#d7ccc8;border-color:#795548}.legend-color.recommended{background:#e7f4ff;border-color:#1f6f9f}.legend-color.pref-1{background:gold;border-color:#a07800}.legend-color.pref-2{background:#ff8c42;border-color:#b05000}.legend-color.pref-3{background:#82c4e8;border-color:#2a7faa}.details-section{background:#fafaf8;border-left:1px solid #ddd;flex-direction:column;gap:0;display:flex;overflow-y:auto}.preferences-panel{border-bottom:1px solid #e0d9d2;padding:1.25rem 1.25rem 1rem}.preferences-panel h3,.application-panel h3{color:#2d5016;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem;font-size:1rem;font-weight:700}.pref-hint{color:#888;margin-bottom:.85rem;font-size:.78rem;line-height:1.4}.pref-slot{background:#fff;border:1.5px solid #ddd;border-radius:2px;align-items:center;gap:.6rem;min-height:48px;margin-bottom:.4rem;padding:.55rem .7rem;display:flex}.pref-slot.empty{opacity:.7;background:#fcfcfc;border-style:dashed}.pref-slot.filled.rank-1{background:#fffbea;border-color:#a07800}.pref-slot.filled.rank-2{background:#fff5ee;border-color:#b05000}.pref-slot.filled.rank-3{background:#f0f8ff;border-color:#2a7faa}.pref-badge{text-transform:uppercase;letter-spacing:.5px;text-align:center;color:#666;flex-shrink:0;width:32px;font-size:.65rem;font-weight:700}.rank-1 .pref-badge{color:#a07800}.rank-2 .pref-badge{color:#b05000}.rank-3 .pref-badge{color:#2a7faa}.pref-info{flex-direction:column;flex:1;min-width:0;display:flex}.pref-stand{color:#333;font-size:.85rem;font-weight:700}.pref-loc{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.pref-empty-text{color:#bbb;flex:1;font-size:.78rem;font-style:italic}.pref-remove{color:#bbb;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .2rem;font-size:1.1rem;line-height:1;transition:color .2s}.pref-remove:hover{color:#c62828}.recommendations-panel{background:#fff;border:1.5px solid #c6dceb;margin-bottom:.85rem;padding:.75rem}.recommendations-header{color:#1f6f9f;letter-spacing:.4px;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;display:flex}.recommendations-header small{color:#1f6f9f;background:#e7f4ff;padding:.15rem .45rem;font-size:.68rem}.recommendation-tags{flex-wrap:wrap;gap:.35rem;margin-top:.55rem;display:flex}.recommendation-tags span{color:#2d5016;background:#f1f8f1;padding:.2rem .45rem;font-size:.7rem}.recommendation-list{flex-direction:column;gap:.35rem;margin-top:.65rem;display:flex}.recommendation-row{color:#333;cursor:pointer;text-align:left;background:#fbfdff;border:1px solid #d5e5ef;justify-content:space-between;align-items:center;padding:.45rem .55rem;font-family:Georgia,serif;display:flex}.recommendation-row:hover{border-color:#1f6f9f}.recommendation-row strong{color:#1f6f9f;font-size:.78rem}.recommendation-row span{color:#777;font-size:.72rem}.application-panel{padding:1.25rem}.application-header{border-bottom:1px solid #e0d9d2;margin-bottom:1rem;padding-bottom:1rem}.application-header p{color:#777;margin:0;font-size:.8rem;line-height:1.45}.application-back{color:#2d5016;cursor:pointer;letter-spacing:.4px;text-transform:uppercase;background:0 0;border:none;margin:0 0 .65rem;padding:0;font-family:Georgia,serif;font-size:.74rem;font-weight:700}.application-back:hover{text-decoration:underline}.application-summary{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.application-form{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.application-form .form-field.has-error input,.application-form .form-field.has-error textarea{background:snow;border-color:#c62828}.field-error,.form-error-summary{color:#c62828;margin:.3rem 0 0;font-size:.72rem;font-style:italic;line-height:1.35}.form-error-summary{grid-column:1/-1;margin-top:0;font-weight:700}.application-form textarea{box-sizing:border-box;color:#333;resize:vertical;background:#fff;border:1.5px solid #ddd;outline:none;width:100%;min-height:92px;padding:.6rem .75rem;font-family:Georgia,serif;font-size:.88rem}.application-form textarea:focus{border-color:#2d5016}.stand-type-list{flex-direction:column;gap:.45rem;display:flex}.stand-type-option{cursor:pointer;background:#fff;border:1px solid #ddd;grid-template-columns:auto 1fr;align-items:flex-start;gap:.25rem .55rem;padding:.55rem;display:grid}.stand-type-option:hover{border-color:#2d5016}.stand-type-option input{margin-top:.15rem}.stand-type-option span{color:#333;font-size:.78rem;font-weight:700;line-height:1.35}.stand-type-option small{color:#777;grid-column:2;font-size:.72rem}.terms-check{color:#555;flex-wrap:wrap;grid-column:1/-1;align-items:flex-start;gap:.55rem;padding:.45rem 0;font-size:.78rem;line-height:1.4;display:flex}.terms-check input{flex-shrink:0;margin-top:.18rem}.terms-check.has-error{color:#8b1a1a}.terms-check.has-error input{outline-offset:2px;outline:2px solid #c62828}.terms-error{flex-basis:100%;margin-left:1.65rem}.email-section{flex-direction:column;gap:.3rem;margin-top:.6rem;display:flex}.email-label{text-transform:uppercase;letter-spacing:.4px;color:#999;font-size:.72rem}.email-input{color:#333;box-sizing:border-box;background:#fff;border:1.5px solid #ddd;border-radius:0;outline:none;width:100%;padding:.55rem .75rem;font-family:Georgia,serif;font-size:.88rem;transition:border-color .2s}.email-input:focus{border-color:#2d5016}.email-input.invalid{border-color:#c62828}.btn-submit{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#2d5016;border:2px solid #2d5016;border-radius:0;width:100%;margin-top:.6rem;padding:.7rem 1rem;font-family:Georgia,serif;font-size:.85rem;font-weight:700;transition:all .2s}.btn-submit:hover:not(:disabled){color:#2d5016;background:#fff}.btn-submit:disabled{opacity:.4;cursor:not-allowed}.stand-detail-panel{flex:1;padding:1rem 1.25rem}.stand-details h4{color:#2d5016;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.85rem;font-size:.95rem;font-weight:700}.detail-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem 0;display:flex}.detail-row:last-of-type{border-bottom:none}.detail-row .label{color:#999;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0;font-size:.78rem}.detail-row .value{color:#333;text-align:right;font-size:.88rem;font-weight:600}.value.status-available{color:#2d5016}.value.status-booked{color:#795548}.value.status-preference-1{color:#a07800}.value.status-preference-2{color:#b05000}.value.status-preference-3{color:#2a7faa}.info-msg{color:#999;margin-top:.75rem;font-size:.78rem;font-style:italic;line-height:1.5}.taken-msg{color:#795548}.no-selection{color:#bbb;justify-content:center;align-items:center;min-height:80px;font-size:.85rem;font-style:italic;display:flex}.btn{cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:2px solid #2d5016;border-radius:0;width:100%;margin-top:.85rem;padding:.65rem 1rem;font-family:Georgia,serif;font-size:.82rem;font-weight:700;transition:all .2s}.btn-book{color:#fff;background:#2d5016}.btn-book:hover{color:#2d5016;background:#fff}.btn-cancel{color:#795548;background:#fff;border-color:#795548}.btn-cancel:hover{color:#fff;background:#795548}.submitted-state{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.25rem;display:flex}.submitted-icon{color:#fff;background:#2d5016;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;font-weight:700;display:flex}.submitted-state h3{color:#2d5016;text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:1rem;font-weight:700}.submitted-state p{color:#888;margin:0;font-size:.82rem;line-height:1.5}.submitted-list{flex-direction:column;gap:.4rem;width:100%;margin:.5rem 0;display:flex}.submitted-row{text-align:left;border-radius:2px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.submitted-row.rank-1{background:#fffbea;border-left:3px solid #a07800}.submitted-row.rank-2{background:#fff5ee;border-left:3px solid #b05000}.submitted-row.rank-3{background:#f0f8ff;border-left:3px solid #2a7faa}.submitted-rank{text-transform:uppercase;letter-spacing:.4px;color:#666;flex-shrink:0;width:28px;font-size:.72rem;font-weight:700}.btn-reset{color:#2d5016;background:#fff;border-color:#2d5016;margin-top:.5rem}.btn-reset:hover{color:#fff;background:#2d5016}.drawer-overlay{z-index:500;background:#00000073;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-drawer{box-sizing:border-box;background:#fff;border-top:3px solid #2d5016;width:100%;max-height:80vh;padding:1.5rem 2rem 2rem;animation:.22s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.drawer-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.drawer-header h3{color:#2d5016;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.drawer-prefs-summary{flex-wrap:wrap;gap:.5rem;display:flex}.drawer-pref-chip{border-radius:999px;padding:.2rem .6rem;font-family:sans-serif;font-size:.75rem;font-weight:700}.drawer-pref-chip.rank-1{color:#a07800;background:#fffbea;border:1px solid #a07800}.drawer-pref-chip.rank-2{color:#b05000;background:#fff5ee;border:1px solid #b05000}.drawer-pref-chip.rank-3{color:#2a7faa;background:#f0f8ff;border:1px solid #2a7faa}.drawer-close{color:#aaa;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.5rem;line-height:1;transition:color .2s}.drawer-close:hover{color:#333}.drawer-form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-field{flex-direction:column;gap:.3rem;display:flex}.form-field label{text-transform:uppercase;letter-spacing:.4px;color:#999;font-size:.72rem}.form-field input{color:#333;box-sizing:border-box;background:#fff;border:1.5px solid #ddd;outline:none;width:100%;padding:.6rem .75rem;font-family:Georgia,serif;font-size:.9rem;transition:border-color .2s}.form-field input:focus{border-color:#2d5016}.form-field-full{grid-column:1/-1}.drawer-submit{width:100%;margin-top:.5rem}@media (max-width:1100px){.blueprint-booking-container{grid-template-columns:1fr;height:auto;overflow:visible}.blueprint-section{height:60vw;min-height:320px;max-height:520px}.details-section{border-top:1px solid #ddd;border-left:none}.building-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.stats-bar{flex-wrap:wrap}.stat{border-bottom:1px solid #ddd;min-width:50%}.blueprint-section{height:auto;min-height:0;max-height:none}.blueprint-canvas{flex:none;height:76vw;min-height:315px;max-height:430px}.map-toolbar{flex-direction:column;align-items:flex-start;gap:.45rem}.map-back-btn{width:100%}.building-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.application-form{grid-template-columns:1fr}.legend{gap:.75rem}}
