:root{--popup-bg: linear-gradient(180deg, rgba(255, 255, 255, .985), rgba(248, 250, 255, .965));--popup-border: rgba(15, 23, 42, .08);--popup-shadow: 0 30px 70px rgba(15, 23, 42, .18);--popup-border-radius: 24px;--popup-header-border: rgba(15, 23, 42, .06);--popup-title-color: #0f172a;--popup-text-color: #475569;--popup-overlay: rgba(15, 23, 42, .62);--close-button-bg: rgba(241, 245, 249, .9);--close-button-hover-bg: rgba(226, 232, 240, .96);--close-button-color: #0f172a;--close-button-border: rgba(148, 163, 184, .28);--close-button-shadow: 0 10px 22px rgba(15, 23, 42, .12);--close-button-focus-ring: 0 0 0 3px rgba(37, 99, 235, .24);--close-button-hover-border: rgba(100, 116, 139, .34);--popup-input-bg: rgba(248, 250, 252, .92);--popup-input-border: rgba(148, 163, 184, .3);--popup-input-focus-bg: rgba(255, 255, 255, .98);--popup-input-focus-border: rgba(37, 99, 235, .45);--popup-input-focus-shadow: rgba(37, 99, 235, .15);--popup-input-placeholder: rgba(100, 116, 139, .7);--popup-input-color: var(--popup-title-color);--popup-input-addon-bg: rgba(148, 163, 184, .16);--popup-input-addon-border: rgba(148, 163, 184, .35);--popup-input-addon-color: var(--popup-title-color);--btn-confirm-bg: var(--primary-color, #2563eb);--btn-confirm-hover-bg: var(--primary-hover-color, #1d4ed8);--btn-cancel-bg: rgba(148, 163, 184, .18);--btn-cancel-hover-bg: rgba(148, 163, 184, .35);--btn-danger-bg: #ef4444;--btn-danger-hover-bg: #dc2626}body.dark-mode{--popup-bg: linear-gradient(180deg, rgba(15, 23, 42, .97), rgba(17, 24, 39, .94));--popup-border: rgba(148, 163, 184, .18);--popup-shadow: 0 28px 56px rgba(2, 6, 23, .7);--popup-header-border: rgba(148, 163, 184, .18);--popup-title-color: rgba(226, 232, 240, .98);--popup-text-color: rgba(226, 232, 240, .82);--popup-overlay: rgba(2, 6, 23, .8);--close-button-bg: rgba(30, 41, 59, .9);--close-button-hover-bg: rgba(51, 65, 85, .98);--close-button-color: rgba(248, 250, 252, .98);--close-button-border: rgba(148, 163, 184, .28);--close-button-shadow: 0 12px 24px rgba(2, 6, 23, .48);--close-button-focus-ring: 0 0 0 3px rgba(96, 165, 250, .35);--close-button-hover-border: rgba(148, 163, 184, .42);--popup-input-bg: rgba(15, 23, 42, .65);--popup-input-border: rgba(148, 163, 184, .28);--popup-input-focus-bg: rgba(30, 41, 59, .75);--popup-input-focus-border: rgba(96, 165, 250, .45);--popup-input-focus-shadow: rgba(37, 99, 235, .25);--popup-input-placeholder: rgba(148, 163, 184, .65);--popup-input-color: rgba(226, 232, 240, .95);--popup-input-addon-bg: rgba(30, 41, 59, .8);--popup-input-addon-border: rgba(148, 163, 184, .28);--popup-input-addon-color: rgba(226, 232, 240, .95);--btn-confirm-bg: var(--primary-color, #60a5fa);--btn-confirm-hover-bg: var(--primary-hover-color, #3b82f6);--btn-cancel-bg: rgba(148, 163, 184, .25);--btn-cancel-hover-bg: rgba(148, 163, 184, .4);--btn-danger-bg: #f87171;--btn-danger-hover-bg: #ef4444}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:translateY(8px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;padding:1rem;background:radial-gradient(circle at top,rgba(148,163,184,.16),transparent 55%),var(--popup-overlay);display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeInOverlay .3s ease}.popup{background:var(--popup-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:clamp(1.35rem,2.2vw,1.9rem);border-radius:var(--popup-border-radius);box-shadow:var(--popup-shadow);border:1px solid var(--popup-border);text-align:left;position:relative;max-height:90vh;max-height:min(90vh,calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));display:flex;flex-direction:column;overflow:hidden;width:min(560px,calc(100vw - 2rem));max-width:min(560px,calc(100vw - 2rem));animation:scaleIn .3s ease;transition:opacity .3s ease,transform .3s ease;outline:none}body.dark-mode .popup{border:1px solid var(--popup-border)}.popup.plan-popup{width:fit-content;max-width:90vw}@media(max-width:1024px){.popup.plan-popup{width:90%;max-width:500px}}.popup.popup-image{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:10px;width:auto}.popup.popup-image .popup-body{padding:0;display:flex;justify-content:center;align-items:center}.popup.closing{opacity:0;transform:scale(.95)}.popup-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--popup-header-border)}.popup-title{flex:1;margin:0 .5rem 0 0;text-align:left;font-size:clamp(1.18rem,1vw + .98rem,1.55rem);font-weight:700;letter-spacing:-.02em;color:var(--popup-title-color);line-height:1.3}.popup-close-button{background-color:var(--close-button-bg);color:var(--close-button-color);border:1px solid var(--close-button-border);border-radius:14px;width:2.5rem;height:2.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease;padding:0;box-shadow:var(--close-button-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.popup-close-button:hover{background-color:var(--close-button-hover-bg);color:var(--close-button-color);border-color:var(--close-button-hover-border);transform:translateY(-1px);box-shadow:0 16px 26px #0f172a29}.popup-close-icon{position:relative;display:inline-block;width:.95rem;height:.95rem;pointer-events:none;color:inherit}.popup-close-icon:before,.popup-close-icon:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:2px;border-radius:999px;background:currentColor;transform-origin:center}.popup-close-icon:before{transform:translate(-50%,-50%) rotate(45deg)}.popup-close-icon:after{transform:translate(-50%,-50%) rotate(-45deg)}.popup-close-button:active{transform:scale(.96);box-shadow:none}.popup-close-button:focus-visible{outline:none;box-shadow:var(--close-button-shadow),var(--close-button-focus-ring);transform:translateY(-1px)}.popup label{font-weight:600;color:var(--popup-title-color)}.popup .form-text{color:var(--text-muted-color)!important}.popup .popup-body{flex:1 1 auto;min-width:0;min-height:0;padding:0;display:grid;gap:.95rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.popup .popup-body>*:first-child{margin-top:0}.popup-message,.popup p,.popup .popup-body p{margin:0;font-size:.96rem;line-height:1.6;color:var(--popup-text-color, var(--text-color))}.popup .popup-body>*+*{margin-top:0}.popup code{display:inline-flex;align-items:center;padding:.12rem .42rem;border-radius:999px;background:rgba(var(--border-color-rgb, 82, 95, 136),.12);color:var(--popup-title-color);font-size:.85em}.popup:not(.no-default-button-styles) button:not(.MuiButton-root):not(.gsi-material-button){margin:0;border:none;border-radius:calc(var(--popup-border-radius) - 10px);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .3s ease,transform .2s ease,box-shadow .2s ease}.popup:not(.no-default-button-styles) .popup-btn,.popup:not(.no-default-button-styles) .btn.popup-btn{margin:0}.popup:not(.no-default-button-styles) .btn-danger{border:none!important;padding:.58rem .92rem!important;border-radius:14px!important;transition:background .3s ease,transform .2s ease,box-shadow .2s ease;background-color:var(--btn-danger-bg)!important;box-shadow:0 12px 24px #ef444438}.popup:not(.no-default-button-styles) .btn-danger:hover{background-color:var(--btn-danger-hover-bg)!important;transform:translateY(-2px);box-shadow:0 16px 28px #ef444447}.popup:not(.no-default-button-styles) .btn-secondary{border:none!important;padding:.58rem .92rem!important;border-radius:14px!important;background-color:var(--btn-cancel-bg)!important;color:var(--popup-title-color)!important;transition:background .3s ease,transform .2s ease,box-shadow .2s ease}.popup:not(.no-default-button-styles) .btn-primary{border:none!important;padding:.58rem .92rem!important;border-radius:14px!important;background-color:var(--btn-confirm-bg)!important;color:#fff!important;transition:background .3s ease,transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 24px #2563eb2e}.popup:not(.no-default-button-styles) .btn-primary:hover{background-color:var(--btn-confirm-hover-bg)!important;transform:translateY(-1px);box-shadow:0 16px 28px #2563eb3d}.popup:not(.no-default-button-styles) .btn-secondary:hover{background-color:var(--btn-cancel-hover-bg)!important;transform:translateY(-1px);box-shadow:0 12px 20px #0f172a1a}.popup .alert{margin:0 auto;width:min(420px,100%);text-align:center;border-radius:14px;margin-top:.625rem}.popup .form-control,.popup input[type=text],.popup input[type=url],.popup input[type=email],.popup input[type=password],.popup textarea,.popup select{border-radius:12px;border:1px solid var(--popup-input-border);padding:.75rem 1rem;background-color:var(--popup-input-bg);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease;color:var(--popup-input-color);width:100%}.popup .form-control:focus,.popup input[type=text]:focus,.popup input[type=url]:focus,.popup input[type=email]:focus,.popup input[type=password]:focus,.popup textarea:focus,.popup select:focus{border-color:var(--popup-input-focus-border);box-shadow:0 0 0 3px var(--popup-input-focus-shadow);background-color:var(--popup-input-focus-bg);color:var(--popup-input-color);outline:none}.popup .form-control::placeholder,.popup textarea::placeholder,.popup input::placeholder{color:var(--popup-input-placeholder)}.popup input[type=checkbox],.popup input[type=radio]{accent-color:var(--primary-color, #2563eb)}.popup .form-check,.popup .form-group,.popup .mb-4,.popup .mb-0{margin-bottom:0}.popup .text-danger,.popup .error-text{color:var(--danger-color);font-size:.85rem}.popup-footer{flex:0 0 auto;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;align-items:center;border-top:1px solid var(--popup-header-border);margin-top:1.15rem}.popup-footer>*{margin:0!important}.popup-footer .popup-btn:not(.surface-button),.popup-footer .btn,.popup-footer .btn-neutral,.popup-footer .association-card-button{min-height:2.5rem}.popup-footer .popup-btn.cancel-btn:not(.surface-button){background-color:var(--btn-cancel-bg);color:var(--popup-title-color)}.popup-footer .popup-btn.confirm-btn:not(.surface-button){background-color:var(--btn-confirm-bg);color:#fff}.popup.profile-travel-preferences-popup{max-width:800px;padding:2rem 1.5rem;overflow-y:hidden}.popup.profile-travel-preferences-popup .popup-body{padding:0}.popup.preview-popup{width:min(1180px,calc(100vw - 48px));max-width:min(1180px,calc(100vw - 48px));padding:clamp(1.75rem,3vw,2.25rem)}.popup.preview-popup .preview-content{width:100%;padding:0}.popup.preview-popup .popup-body{padding:0rem}.popup-image-content{max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);width:auto;height:auto;object-fit:contain;border-radius:8px;display:block}.btn-neutral{border-radius:14px;padding:.62rem .95rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color, #2563eb),var(--primary-hover-color, #1d4ed8));border:none;color:#fff;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;letter-spacing:.02em;box-shadow:0 14px 30px #2563eb38}.btn-neutral:disabled{background:linear-gradient(135deg,#94a3b873,#94a3b859);box-shadow:none}.btn-neutral:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 32px #2563eb47}@media(max-width:480px){.popup{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);margin:0;padding:1.15rem 1rem 1rem;box-shadow:0 18px 36px #0f172a40}.popup-close-button{width:2.1rem;height:2.1rem;font-size:1.1rem}.popup-header{padding-bottom:.82rem;margin-bottom:.95rem}.popup-title{font-size:1.12rem}.popup.profile-travel-preferences-popup{padding:1rem .5rem}.popup.preview-popup{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:1.25rem}.popup.plan-popup{padding:1rem .5rem}}@media(prefers-reduced-motion:reduce){.popup-overlay,.popup{animation:none;transition:none}.popup button,.popup input,.popup select,.popup textarea,.popup .btn-neutral{transition-duration:.01ms!important}.popup button:hover,.popup button:focus-visible,.popup .btn-neutral:hover:not(:disabled){transform:none}}
