.search-form{margin-bottom:25px}.form-group{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:600;font-size:.95rem}.form-group input{width:100%;padding:15px;border:2px solid #edf2f4;border-radius:10px;font-size:1rem;transition:border-color .3s ease;outline:none}.form-group input:focus{border-color:#ef233c}.form-group input::placeholder{color:#cbd5e0}@media(max-width:600px){.form-group input{padding:12px;font-size:16px}}.guest-dropdown{margin-top:20px;margin-bottom:20px}.dropdown-header{font-size:.9rem;color:#2b2d42;font-weight:600;margin-bottom:10px}.dropdown-list{border:2px solid #edf2f4;border-radius:10px;overflow:hidden;max-height:300px;overflow-y:auto}.guest-item{width:100%;padding:15px;background:#fff;border:none;border-bottom:1px solid #edf2f4;text-align:left;cursor:pointer;transition:background .2s ease}.guest-item:last-child{border-bottom:none}.guest-item:hover{background:#edf2f4}.guest-item:active{background:#8d99ae}.guest-name{font-weight:600;color:#2d3748;font-size:1.05rem;margin-bottom:5px}.guest-identifier{font-size:.9rem;color:#718096}.guest-name strong{font-weight:800;color:#d90429}.no-results{padding:16px;text-align:center;color:#2b2d42;font-size:.95rem;line-height:1.4;background:#fff;border:2px solid #edf2f4;border-radius:10px}@media(max-width:600px){.guest-item{padding:12px}.guest-name{font-size:1rem}.guest-identifier{font-size:.85rem}}.floor-plan-wrapper{position:relative;display:block;line-height:0;aspect-ratio:2400 / 1831;min-width:100vw;min-height:100dvh;width:auto;height:auto}.floor-plan-image{display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pin-assigned{position:absolute;width:44px;height:44px;transform:translate(-50%,calc(-100% - 16px));pointer-events:none;z-index:10;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.pin-assigned-svg{width:36px;height:44px;position:absolute;left:50%;top:0;transform:translate(-50%);display:block}.pin-assigned-number{position:absolute;left:50%;top:14px;transform:translate(-50%);color:#fff;font-size:14px;font-weight:700;line-height:1;letter-spacing:.02em;pointer-events:none}.pin-pulse-ring{position:absolute;left:50%;top:18px;width:44px;height:44px;margin-left:-22px;margin-top:-22px;border-radius:50%;background:#d90429;animation:pinPulse 1.2s ease-in-out infinite;pointer-events:none}.pin-dot{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);pointer-events:none;z-index:9;display:flex;align-items:center;justify-content:center}.pin-dot:before{content:"";width:12px;height:12px;border-radius:50%;background:#8d99ae;border:1px solid #ffffff;box-sizing:border-box}.pin-label{position:absolute;left:50%;top:calc(50% + 10px);transform:translate(-50%);font-size:12px;font-weight:700;color:#2b2d42;text-shadow:0 0 3px #ffffff,0 0 3px #ffffff;white-space:nowrap;opacity:0;transition:opacity .2s ease;pointer-events:none}.floor-plan-wrapper.labels-visible .pin-dot .pin-label{opacity:1}@media(prefers-reduced-motion:reduce){.pin-pulse-ring{animation:none}.pin-label{transition:none}}@media(max-width:600px){.pin-label{font-size:11px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes mapSlideDown{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pinPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:0}}.map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:50;overscroll-behavior:contain;animation:fadeIn .3s ease}.map-surface{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.map-surface>.react-transform-wrapper.map-transform-wrapper{width:100%;height:100%;max-width:100%;max-height:100%;touch-action:none}.map-transform-content{width:auto;height:auto;min-width:100%;min-height:100%}.map-overlay-card{position:fixed;top:max(16px,env(safe-area-inset-top));left:16px;right:16px;max-width:480px;margin:0 auto;padding:12px 16px;background:#2b2d42e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;box-shadow:0 4px 20px #00000059;z-index:100;pointer-events:none;animation:fadeIn .3s ease,mapSlideDown .3s cubic-bezier(.22,1,.36,1)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.map-overlay-card{background:#2b2d42}}.map-overlay-card>*{pointer-events:auto}.map-overlay-card-greeting{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:#fff}.map-overlay-card-description,.map-overlay-card-fallback{margin:4px 0 0;font-size:14px;font-weight:400;line-height:1.5;color:#edf2f4}.map-overlay-error-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,420px);padding:28px 24px;background:#fff;color:#2b2d42;border-radius:16px;box-shadow:0 20px 60px #0006;z-index:105;display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center;animation:fadeIn .25s ease}.map-overlay-error-headline{margin:0;font-size:20px;font-weight:700;line-height:1.3;color:#2b2d42}.map-overlay-error-body{margin:0;font-size:15px;line-height:1.5;color:#2b2d42}.map-overlay-error-button{margin-top:4px;align-self:center;padding:12px 28px;min-width:140px;background:#2b2d42;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s ease}.map-overlay-error-button:hover,.map-overlay-error-button:focus{background:#1f2132;outline:none}.map-overlay-error-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #2b2d42}.map-close-button{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;padding:0;background:#2b2d42b3;color:#fff;border:none;border-radius:50%;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:110;transition:background .2s ease;animation:fadeIn .3s ease}.map-close-button:hover,.map-close-button:focus{background:#2b2d42f2;outline:none}.map-close-button:focus-visible{box-shadow:0 0 0 2px #fff}@media(prefers-reduced-motion:reduce){.map-overlay,.map-overlay-card,.map-close-button{animation:none}.pin-pulse-ring{animation:none!important}}@media(max-width:600px){.map-overlay-card{left:12px;right:12px;padding:10px 14px}.map-overlay-card-greeting{font-size:15px}.map-overlay-card-description,.map-overlay-card-fallback{font-size:13px}}.staleness-badge{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;margin:8px 0 0;background:transparent;border:1px solid rgba(141,153,174,.35);border-radius:10px;color:#8d99ae;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease}.staleness-badge:hover,.staleness-badge:focus-visible{background:#8d99ae14;border-color:#8d99ae80;outline:none}.staleness-badge-stale{color:#8d99ae}.staleness-badge-offline{color:#2b2d42;border-color:#2b2d4259;background:#edf2f499}.staleness-badge-offline:hover,.staleness-badge-offline:focus-visible{background:#edf2f4e6;border-color:#2b2d4299}@media(max-width:600px){.staleness-badge{font-size:11px;padding:5px 9px}}@keyframes slideUpToast{0%{transform:translate(-50%,24px);opacity:0}to{transform:translate(-50%);opacity:1}}.update-toast{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100vw - 32px);background:#2b2d42;color:#edf2f4;border-radius:10px;padding:10px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px #0000004d;z-index:9999;animation:slideUpToast .2s ease-out;font-size:14px}.update-toast-text{white-space:nowrap}.update-toast-btn{background:#d90429;color:#fff;border:0;border-radius:8px;padding:6px 12px;font-weight:600;font-size:13px;cursor:pointer;min-height:32px;transition:background .2s ease}.update-toast-btn:hover,.update-toast-btn:focus-visible{background:#b8031f;outline:none}@media(prefers-reduced-motion:reduce){.update-toast{animation:none}}@media(max-width:600px){.update-toast{font-size:13px;padding:9px 12px}}.app-container{width:100%;min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;padding:20px;position:relative}.app-container:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;z-index:0}.app-container>.card{position:relative;z-index:1}.card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px 30px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:500px}.title{font-size:2.5rem;font-weight:700;color:#2b2d42;text-align:center;margin-bottom:10px}.subtitle{font-size:1.2rem;color:#2b2d42;text-align:center;margin-bottom:30px;font-weight:500}.welcome-text{text-align:center;color:#666;margin-bottom:30px;font-size:1rem}.loading,.error{text-align:center;padding:30px;font-size:1.1rem}.loading{color:#2b2d42}.error{color:#e53e3e;background:#fff5f5;border-radius:10px;margin-bottom:20px}.retry-button{display:block;width:100%;padding:15px;background:#ef233c;color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .3s ease}.retry-button:hover{background:#d90429}@media(max-width:600px){.card{padding:30px 20px}.title{font-size:2rem}.subtitle{font-size:1rem}}.error-boundary-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:#edf2f4;box-sizing:border-box}.error-boundary-card{width:min(90vw,460px);padding:32px 28px;background:#fff;border-radius:16px;box-shadow:0 12px 48px #0000002e;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:stretch}.error-boundary-headline{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:#2b2d42}.error-boundary-body{margin:0;font-size:15px;line-height:1.55;color:#2b2d42}.error-boundary-button{align-self:center;margin-top:4px;padding:12px 28px;min-width:140px;background:#2b2d42;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:background .15s ease}.error-boundary-button:hover,.error-boundary-button:focus{background:#1f2132;outline:none}.error-boundary-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #2b2d42}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}#root{width:100%;min-height:100vh}
