:root{--timing-fast: .15s;--timing-medium: .25s;--timing-slow: .35s;--slide-distance: 20px;--modal-scale-duration: .2s;--slide-duration: .4s;--slide-easing: cubic-bezier(.2, .8, .2, 1);--shadow-modal: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--z-modal-overlay: 10000;--z-modal: 10001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@keyframes rotateBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInRightView{0%{opacity:0;transform:translate(10%)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeftView{0%{opacity:0;transform:translate(-10%)}to{opacity:1;transform:translate(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed!important;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:var(--z-modal-overlay)}.modal-container{background:#fff;border-radius:1rem;width:28rem;max-width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);animation:modalIn var(--modal-scale-duration) cubic-bezier(.16,1,.3,1) ease-out;position:relative;z-index:var(--z-modal);overflow:hidden;transition:height .3s cubic-bezier(.4,0,.2,1)}.modal-header{padding:1.5rem 1.5rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;background:linear-gradient(to bottom,rgba(249,250,251,.8),transparent)}.modal-title{font-size:1.25rem;font-weight:700;color:#111827;line-height:1.3}.modal-subtitle{font-size:.875rem;color:#6b7280;font-weight:400}.modal-content{flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9;min-height:0;padding-top:.8rem}.custom-scrollbar::-webkit-scrollbar,.modal-content::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track,.modal-content::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb,.modal-content::-webkit-scrollbar-thumb{background:#e2e8f0;background-color:#0000001a;border-radius:20px;border:2px solid white}.custom-scrollbar::-webkit-scrollbar-thumb:hover,.modal-content::-webkit-scrollbar-thumb:hover{background-color:#0003}.view-transition-container{display:flex;flex-direction:column;height:100%;width:100%;animation-duration:var(--slide-duration);animation-timing-function:var(--slide-easing);animation-fill-mode:both}.slide-in-right{animation-name:slideInRightView}.slide-in-left{animation-name:slideInLeftView}.selectable-tab{display:flex;align-items:center;padding:.75rem;cursor:pointer;border-bottom:1px solid #f3f4f6;border-radius:.5rem;transition:all .25s ease;opacity:0;transform:translate(var(--slide-distance));animation:slideInRight .35s ease-out forwards;animation-delay:var(--animation-delay, 0ms);position:relative;overflow:hidden}.selectable-tab:hover{background:#f9fafb;transform:translateY(-1px) translate(0)!important}.selectable-tab:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.selectable-tab--currently-selected{border-color:#10b981;background:#f0fdf4}.selectable-tab--currently-selected:hover{border-color:#059669;background:#ecfdf5}.selectable-tab--animating-out{animation:slideOutLeft .35s ease-out forwards!important}.selectable-tab--border-animation:before{content:"";position:absolute;inset:-2px;background:conic-gradient(from 0deg,transparent 0deg,transparent 70deg,#2563eb 90deg,#1d4ed8 150deg,transparent 180deg,transparent 360deg);border-radius:10px;animation:rotateBorder 1s linear infinite;z-index:0}.selectable-tab--border-animation:after{content:"";position:absolute;inset:1px;background:#fff;border-radius:7px;z-index:0}.selectable-tab>*{position:relative;z-index:1}.selectable-tab--policy{padding:1rem}.selectable-tab--policy .selectable-tab__title{font-size:1.125rem}.selectable-tab__image-container{width:2.5rem;height:2.5rem;background:#f3f4f6;border-radius:.375rem;margin-right:.75rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.selectable-tab__image{width:2rem;height:2rem;object-fit:contain}.selectable-tab__content{flex:1;min-w:0;margin-left:12px}.selectable-tab__title{font-weight:600;color:#111827;font-size:.875rem;line-height:1.25}.selectable-tab__subtitle{color:#6b7280;font-size:.75rem;margin-top:2px;line-height:1.25}.selectable-tab--currently-selected .selectable-tab__subtitle{color:#059669}.selectable-tab__detail{color:#374151;font-size:.75rem;margin-top:2px;font-weight:500}.recent-airline-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;transition:all .2s ease;opacity:0;transform:translate(5px);animation:slideInUp .3s ease forwards;cursor:pointer;position:relative}.recent-airline-logo:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb26}.recent-airline-logo--selected{border-color:#10b981;background:#f0fdf4}.section-header{font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.75rem;padding-left:1rem;padding-right:1rem;text-transform:capitalize;animation:fadeIn .25s ease-out}.section-header--first{margin-top:0}.settings-dropdown__menu{position:absolute;right:0;top:100%;margin-top:.5rem;width:14rem;background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a;z-index:50;animation:fadeIn .2s ease-out;max-height:400px;overflow-y:auto}.back-button{padding:.375rem .75rem;border-radius:.5rem;font-weight:500;font-size:.875rem;color:#374151;display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:none;cursor:pointer;transition:background-color .15s}.back-button:hover{background:#f3f4f6}@media (max-width: 640px){.modal-container{max-width:calc(100% - 1rem);margin:.5rem;max-height:90vh;border-radius:.875rem}.modal-header{padding:1.25rem 1.25rem .75rem}.modal-title{font-size:1.125rem}.recent-airline-logo:nth-child(n+6){display:none!important}}
