@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@400;500;600&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden}@supports (padding: env(safe-area-inset-top)){html{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}#root{width:100%;height:100%;position:relative;z-index:1}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}html.scrollable-page,body.scrollable-page{overflow-y:auto;height:auto}#root.scrollable-page{height:auto}@media(max-width:768px){:root{font-size:15px}h1{font-size:2.5em}button{padding:.5em 1em}}@media(max-width:480px){:root{font-size:14px}h1{font-size:2em}button{padding:.4em .8em;font-size:.9em;min-height:44px}a{padding:.25em}}@media(max-width:768px)and (orientation:landscape){html,body{overflow-y:auto}}.logo-button{background:none;border:none;padding:0;cursor:pointer;display:inline-block;transition:opacity var(--transition-base)}.logo-button:hover{opacity:.8}.logo-button:focus{outline:2px solid var(--brand-primary);outline-offset:4px;border-radius:var(--radius-sm)}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-image{display:block;object-fit:contain;image-rendering:crisp-edges}.logo-text{font-family:var(--font-display);font-weight:var(--font-light);letter-spacing:.05em;color:var(--text-primary);white-space:nowrap}.logo-small .logo-image{height:32px;width:auto}.logo-small .logo-text{font-size:var(--text-sm)}.logo-medium .logo-image{height:48px;width:auto}.logo-medium .logo-text{font-size:var(--text-lg)}.logo-large .logo-image{height:80px;width:auto}.logo-large .logo-text{font-size:var(--text-2xl)}.logo-icon{gap:0}.logo-text-only .logo-text{font-size:var(--text-xl);font-weight:var(--font-normal)}.logo.clickable{cursor:pointer}.logo-watermark{opacity:.15;filter:grayscale(100%);pointer-events:none}.logo-watermark .logo-text{display:none}@media(max-width:768px){.logo-medium .logo-image{height:40px}.logo-medium .logo-text{font-size:var(--text-base)}.logo{gap:var(--space-2)}}@media print{.logo-image{filter:none}.logo-button{cursor:default}}.login-form-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.login-form-container{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 50px -12px #00000040;animation:modalAppear .3s ease-out}@keyframes modalAppear{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.login-form-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;color:#64748b;transition:all .2s}.login-form-close:hover{background:#f1f5f9;color:#334155}.login-form-header{text-align:center;margin-bottom:24px}.login-form-header h2{font-size:24px;font-weight:600;color:#1e293b;margin:0 0 8px}.login-form-header p{font-size:14px;color:#64748b;margin:0}.login-form-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.login-form-success{background:var(--color-gray-50);border:1px solid var(--color-gray-300);color:var(--color-gray-800);padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.login-form-warning{background:var(--color-gray-50);border:1px solid var(--color-gray-300);color:var(--color-gray-700);padding:12px 16px;border-radius:8px;font-size:13px;margin-bottom:16px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:16px}.login-form-field{display:flex;flex-direction:column;gap:6px}.login-form-field label{font-size:14px;font-weight:500;color:#374151}.login-form-field input{padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .2s;background:#f8fafc}.login-form-field input:focus{outline:none;border-color:var(--color-black);background:#fff;box-shadow:0 0 0 3px #00000014}.login-form-field input::placeholder{color:#94a3b8}.login-form-field input:disabled{background:#f1f5f9;cursor:not-allowed}.login-form-submit{background:var(--color-black);color:var(--color-white);border:none;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.login-form-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.login-form-submit:active:not(:disabled){transform:translateY(0)}.login-form-submit:disabled{background:#94a3b8;cursor:not-allowed}.login-form-divider{display:flex;align-items:center;margin:24px 0;gap:16px}.login-form-divider:before,.login-form-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.login-form-divider span{font-size:13px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.login-form-oauth{display:flex;gap:12px}.login-form-oauth-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.login-form-oauth-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.login-form-oauth-btn:disabled{opacity:.5;cursor:not-allowed}.login-form-oauth-btn.google:hover:not(:disabled){border-color:#ea4335}.login-form-oauth-btn.github:hover:not(:disabled){border-color:#333}.login-form-switch{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:24px}.login-form-switch button{background:none;border:none;font-size:14px;color:#64748b;cursor:pointer;padding:4px;transition:color .2s}.login-form-switch button:hover{color:var(--color-black)}.login-form-switch button strong{color:var(--color-black);font-weight:600}@media(max-width:480px){.login-form-container{margin:16px;padding:24px}.login-form-oauth{flex-direction:column}}.app-header{background:var(--bg-primary);position:sticky;top:0;z-index:1100;padding-top:var(--safe-area-top);pointer-events:auto}.header-container{max-width:100%;margin:0;padding:var(--space-2) var(--space-6);display:flex;align-items:center;justify-content:space-between}.header-brand{flex:1;display:flex;justify-content:flex-start}.header-nav{flex:1;display:flex;justify-content:center}.nav-tabs{display:flex;gap:var(--space-2);list-style:none;margin:0;padding:0;align-items:center}.nav-tabs li{display:flex}.nav-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:36px;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);position:relative}.nav-tab:hover:not(.disabled){background:var(--bg-hover);color:var(--text-primary)}.nav-tab:focus{outline:2px solid var(--brand-primary);outline-offset:2px}.nav-tab.active{background:var(--bg-tertiary);color:var(--brand-primary);font-weight:var(--font-semibold)}.nav-tab.active:after{content:"";position:absolute;bottom:0;left:var(--space-2);right:var(--space-2);height:2px;background:var(--brand-primary);border-radius:var(--radius-full)}.nav-tab.disabled{opacity:.4;cursor:not-allowed}.nav-tab.siri-glow{position:relative;background:transparent;animation:siriPulse 2s ease-in-out infinite}.nav-tab.siri-glow:before{content:"";position:absolute;inset:-2px;background:linear-gradient(90deg,var(--color-gray-400),var(--color-gray-600),var(--color-gray-800),var(--color-gray-600),var(--color-gray-400));background-size:400% 400%;border-radius:calc(var(--radius-md) + 2px);z-index:-1;animation:siriGradient 3s linear infinite}.nav-tab.siri-glow:after{content:"";position:absolute;inset:0;background:var(--bg-tertiary, #f5f5f5);border-radius:var(--radius-md);z-index:-1}@keyframes siriPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes siriGradient{0%{background-position:0% 50%;opacity:.8}50%{background-position:100% 50%;opacity:1}to{background-position:0% 50%;opacity:.8}}.nav-tab.siri-glow{box-shadow:0 0 8px #0000001a;animation:siriPulse 2s ease-in-out infinite,siriOutlineGlow 2s ease-in-out infinite}@keyframes siriOutlineGlow{0%,to{box-shadow:0 0 8px #00000014}25%{box-shadow:0 0 12px #0000001f}50%{box-shadow:0 0 10px #00000026}75%{box-shadow:0 0 12px #0000001f}}.tab-icon{font-size:var(--text-lg);line-height:1}.tab-label{white-space:nowrap}.header-actions{flex:1;display:flex;justify-content:flex-end;gap:var(--space-2)}.dev-reset-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-left:20px;background:#0000000d;border:1px solid var(--color-gray-300);color:var(--color-gray-600);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.dev-reset-button:hover{background:#0000001a;border-color:var(--color-gray-500);transform:translateY(-1px)}.dev-reset-button:active{transform:translateY(0)}.sign-in-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);min-height:var(--touch-target-min);background:var(--color-black);border:none;color:var(--color-white);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;position:relative;z-index:1}.sign-in-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.sign-in-button:disabled{opacity:.5;cursor:not-allowed}.user-menu{position:relative}.user-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-primary)}.user-button:hover,.user-button.active{background:var(--bg-hover);border-color:var(--border-color)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-gray-900, #171717);color:var(--color-white, #fff);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-email{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-medium);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron-icon{color:var(--text-tertiary);transition:transform .2s;flex-shrink:0}.user-button.active .chevron-icon{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:260px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;animation:dropdownFadeIn .15s ease-out}.profile-dropdown.settings-dropdown{transition:width .3s ease,max-height .3s ease}.settings-dropdown.collapsed{width:260px;max-height:350px}.settings-dropdown.expanded{width:360px;max-height:450px}.dropdown-expanded-view{display:flex;flex-direction:column;width:100%;height:450px;max-height:100%}.dropdown-expanded-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);display:flex;align-items:center;flex-shrink:0}.dropdown-back-button{background:none;border:none;display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary);font-weight:600;font-size:16px;cursor:pointer;padding:0;font-family:var(--font-primary)}.dropdown-back-button:hover{opacity:.8}.dropdown-expanded-content{flex:1;overflow-y:auto;position:relative}.dropdown-expanded-content .modal-overlay,.dropdown-expanded-content .modal,.dropdown-expanded-content .travel-dna-overlay,.dropdown-expanded-content .travel-dna-drawer,.dropdown-expanded-content .integration-settings-overlay,.dropdown-expanded-content .integration-settings-modal,.dropdown-expanded-content .preferences-backdrop,.dropdown-expanded-content .preferences-container,.dropdown-expanded-content .travel-preferences-setup{position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;box-shadow:none!important;border-radius:0!important;animation:none!important;transform:none!important;padding:0!important;background:transparent!important;zoom:.8!important}.dropdown-expanded-content .preferences-backdrop,.dropdown-expanded-content .preferences-header .close-button,.dropdown-expanded-content .modal-header .close-button,.dropdown-expanded-content .dna-close-btn,.dropdown-expanded-content .preferences-header .header-title,.dropdown-expanded-content .modal-header h2,.dropdown-expanded-content .dna-title{display:none!important}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{padding:var(--space-4);border-bottom:1px solid var(--border-color)}.dropdown-user-name{font-size:14px;font-weight:600;color:var(--text-primary)}.dropdown-user-email{font-size:12px;color:var(--text-tertiary);margin-top:2px}.dropdown-section{padding:6px}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:10px var(--space-3);background:none;border:none;border-radius:var(--radius-md);font-size:14px;font-family:var(--font-primary);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);text-align:left}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.dropdown-item-label{flex:1}.dropdown-item-desc{font-size:12px;color:var(--text-tertiary);margin-top:1px}.dropdown-divider{height:1px;background:var(--border-color);margin:2px var(--space-3)}.dropdown-item.sign-out,.dropdown-item.sign-out .dropdown-item-icon{color:#dc2626}.mobile-menu-wrapper{display:none}.hamburger-btn{display:flex;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;padding:8px;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast)}.hamburger-btn:hover{background:var(--bg-hover)}.hamburger-line{display:block;width:20px;height:2px;background:var(--text-primary);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.hamburger-line.open:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:absolute;top:calc(100% + 4px);right:0;width:200px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:200;overflow:hidden;padding:6px;animation:mobileMenuSlideDown .2s ease-out}@keyframes mobileMenuSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mobile-menu-item{display:block;width:100%;padding:10px 14px;background:none;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;font-family:var(--font-primary);color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.mobile-menu-item:hover{background:var(--bg-hover)}.mobile-menu-item.active{font-weight:600;color:var(--brand-primary);background:var(--bg-tertiary)}.mobile-menu-item:disabled{opacity:.4;cursor:not-allowed}.mobile-menu-divider{height:1px;background:var(--border-color);margin:4px 8px}@media(max-width:1024px){.header-container{gap:var(--space-4);padding:var(--space-3) var(--space-4)}.nav-tabs{gap:var(--space-1)}.nav-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.tab-icon{font-size:var(--text-base)}}@media(max-width:768px){.header-container{flex-direction:row;gap:var(--space-3);align-items:center}.header-nav{display:none}.mobile-menu-wrapper{display:block;position:relative}.header-actions .user-email{display:none}}@media(max-width:480px){.nav-tabs{grid-template-columns:repeat(2,1fr)}.header-container{padding:var(--space-2) var(--space-3)}}@media print{.app-header{position:static;box-shadow:none;border-bottom:2px solid var(--border-color-dark)}.header-nav{display:none}.header-brand{justify-content:flex-start}}.main-layout{display:flex;flex-direction:row;height:100%;width:100%;overflow:hidden}.left-panel{width:var(--sidebar-width-lg);min-width:var(--panel-width-compact);max-width:var(--panel-width-expanded);height:100%;background:var(--bg-primary);overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-color);display:flex;flex-direction:column}.left-panel::-webkit-scrollbar{width:8px}.left-panel::-webkit-scrollbar-track{background:#f1f1f1}.left-panel::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.left-panel::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.right-panel{flex:1;height:100%;position:relative;overflow:hidden;background:#f9fafb}@media(max-width:1024px){.main-layout{flex-direction:column}.left-panel{width:100%;min-width:100%;height:50vh;border-right:none;border-bottom:1px solid #e5e7eb}.right-panel{height:50vh}}@media(max-width:768px){.left-panel{height:60vh}.right-panel{height:40vh}}@media(max-width:480px){.left-panel{height:65vh;min-height:300px}.right-panel{height:35vh;min-height:150px}.left-panel::-webkit-scrollbar{width:4px}}@media(max-width:768px)and (orientation:landscape){.main-layout{flex-direction:row}.left-panel{width:50%;height:100%;min-width:auto;border-right:1px solid var(--border-color);border-bottom:none}.right-panel{width:50%;height:100%}}.toast{position:fixed;top:100px;right:1.5rem;transform:translateY(0);display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;border-radius:12px;background:#000000eb;color:#fff;box-shadow:0 4px 16px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.9375rem;font-weight:500;line-height:1.4;z-index:10000;will-change:transform,opacity;backface-visibility:hidden}.toast-success{background:var(--color-gray-900);color:var(--color-white)}.toast-error{background:#ef4444f2;color:#fff}.toast-info{background:#fff;color:#1a1a1a;border:1px solid #e5e5e5}.toast-icon{font-size:1.25rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.toast-message{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.toast-enter{animation:toastSlideIn .3s cubic-bezier(.4,0,.2,1) forwards}.toast-exit{animation:toastSlideOut .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media(prefers-reduced-motion:reduce){.toast{animation:none!important;transition:none!important}.toast-enter,.toast-exit{animation:none!important}}@media(max-width:768px){.toast{top:1rem;left:1rem;right:1rem;transform:translateY(0);width:auto}.toast-message{max-width:none;white-space:normal}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}}.trip-planning-form{max-width:100%;margin:0;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.trip-planning-form h2{color:var(--color-gray-800);margin-bottom:1.5rem;font-size:2rem}.input-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.location-controls{display:flex;align-items:center;gap:.5rem}.location-icon-btn{width:32px;height:32px;padding:0;border:none;background:#0000000d;border-radius:50%;font-size:16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.location-icon-btn:hover:not(:disabled){background:#0000001a;transform:scale(1.1)}.location-icon-btn:disabled{opacity:.5;cursor:wait}.location-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#00000014;border-radius:16px;font-size:.875rem;font-weight:500;color:var(--color-gray-800);cursor:default}.clear-location-btn{width:20px;height:20px;padding:0;border:none;background:#00000014;border-radius:50%;font-size:12px;line-height:1;color:#666;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.clear-location-btn:hover{background:#ef444426;color:#c33;transform:scale(1.1)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#34495e;font-weight:500}.form-group textarea{width:100%;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .3s}.form-group textarea:focus{outline:none;border-color:var(--color-black)}.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.submit-button{width:100%;padding:1rem 2rem;background:var(--color-black);color:var(--color-white);border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #c33}.examples{margin-top:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:8px}.examples h3{color:var(--color-gray-800);font-size:1.2rem;margin-bottom:1rem}.examples ul{list-style:none;padding:0}.examples li{padding:.5rem 0;color:#555;font-style:italic}.examples li:before{content:"→ ";color:var(--color-gray-800);font-weight:700;margin-right:.5rem}.plan-trip-centered{display:flex;align-items:center;justify-content:center;min-height:100%;width:100%;padding:3rem 2rem;background:linear-gradient(135deg,#f9fafb,#f3f4f6)}.centered-container{max-width:800px;width:100%}.centered-header{text-align:center;margin-bottom:3rem}.app-title{font-size:2.5rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem;letter-spacing:-.02em;line-height:1.2}.app-subtitle{font-size:1.125rem;color:#6b7280;margin:0;line-height:1.6}@media(max-width:768px){.plan-trip-centered{padding:2rem 1rem}.centered-header{margin-bottom:2rem}.app-title{font-size:2rem}.app-subtitle{font-size:1rem}}@media(max-width:480px){.plan-trip-centered{padding:1.5rem 1rem}.app-title{font-size:1.75rem}.app-subtitle{font-size:.95rem}}.journey-view{width:100%;height:100%;position:relative;background:#f9fafb;overflow:hidden}.journey-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1rem}.journey-loading .loading-spinner{width:48px;height:48px;border:3px solid #e5e7eb;border-top-color:#1a1a1a;border-radius:50%;animation:spin 1s linear infinite}.journey-loading p{font-size:1rem;color:#6b7280;margin:0}.journey-debug{position:absolute;bottom:1rem;left:1rem;background:#000000bf;color:#fff;padding:.5rem 1rem;border-radius:6px;font-family:monospace;font-size:.75rem;z-index:9999;pointer-events:none}.journey-debug small{display:block;line-height:1.5}.journey-view-immersive{position:relative;width:100%;height:100vh;overflow:hidden;background:#fff}.journey-control-panel{position:absolute;left:0;top:0;bottom:0;width:320px;background:#fffffffa;border-right:1px solid rgba(0,0,0,.1);box-shadow:2px 0 12px #00000014;z-index:1000;overflow-y:auto;overflow-x:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.panel-header{padding:var(--space-6) var(--space-5);border-bottom:1px solid rgba(0,0,0,.08);background:linear-gradient(135deg,#f8f8f8,#fff)}.panel-header h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-normal);color:#000;margin:0 0 var(--space-1) 0;letter-spacing:-.01em}.panel-subtitle{font-size:var(--text-sm);color:#666;margin:0}.control-section{padding:var(--space-4) var(--space-5);border-bottom:1px solid rgba(0,0,0,.06)}.control-section:last-child{border-bottom:none}.control-label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:#000;margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.control-select{width:100%;padding:var(--space-3);border:1px solid #000000;border-radius:4px;background:#fff;font-size:var(--text-sm);color:#000;cursor:pointer;transition:all .2s ease;margin-bottom:var(--space-3)}.control-select:hover{background:#f8f8f8;box-shadow:0 0 0 1px #000}.control-select:focus{outline:none;box-shadow:0 0 0 2px #000}.control-checkbox{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;cursor:pointer;font-size:var(--text-sm);color:#000;transition:opacity .2s}.control-checkbox:hover{opacity:.7}.control-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#000000}.tier-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-2);border:1px solid rgba(0,0,0,.15);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease}.tier-toggle:hover{background:#f8f8f8;border-color:#000;transform:translate(4px)}.tier-toggle.hovered{background:#f0f0f0;border-color:#000;box-shadow:0 2px 8px #0000001a}.tier-toggle.active{border-color:#000}.tier-checkbox{width:20px;height:20px;border:2px solid #000000;border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;font-size:12px;color:#000;transition:all .2s ease}.tier-toggle.active .tier-checkbox{background:#000;color:#fff}.tier-line-sample{flex-shrink:0}.tier-label{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:#000}.control-slider{padding:var(--space-3) 0}.control-slider label{display:block;font-size:var(--text-xs);color:#666;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.control-slider input[type=range]{width:100%;height:6px;background:linear-gradient(to right,#000,#ccc);border-radius:3px;outline:none;-webkit-appearance:none}.control-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:#000;border-radius:50%;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0003}.control-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;background:#000;border-radius:50%;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0003}.legend-section{max-height:300px;overflow-y:auto}.legend-subsection{margin-bottom:var(--space-4)}.legend-subsection:last-child{margin-bottom:0}.legend-subtitle{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#666;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-sm);color:#000}.legend-marker{font-size:16px;width:24px;text-align:center}.journey-map-container{position:absolute;inset:0;z-index:1}.map-monochrome{filter:grayscale(100%) contrast(1.1)}.map-stats-overlay{position:absolute;top:20px;right:20px;background:#fffffff2;border:1px solid rgba(0,0,0,.1);padding:var(--space-3) var(--space-4);border-radius:8px;box-shadow:0 2px 12px #00000014;z-index:900;font-size:var(--text-sm);color:#000;font-weight:var(--font-medium);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;gap:var(--space-2)}.stop-popup h4{margin:0 0 var(--space-2) 0;font-size:var(--text-base);color:#000}.stop-meta{margin:0;font-size:var(--text-sm);color:#666}.journey-control-panel::-webkit-scrollbar{width:6px}.journey-control-panel::-webkit-scrollbar-track{background:#0000000d}.journey-control-panel::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.journey-control-panel::-webkit-scrollbar-thumb:hover{background:#0000004d}.journey-loading-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#fffffffa;padding:var(--space-8);border-radius:12px;box-shadow:0 4px 24px #00000026;z-index:2000;min-width:320px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.journey-loading-overlay .loading-spinner{width:48px;height:48px;border:3px solid rgba(0,0,0,.1);border-top-color:#000;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--space-4) auto}.journey-loading-overlay h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-normal);color:#000;margin:0 0 var(--space-2) 0}.journey-loading-overlay p{font-size:var(--text-sm);color:#666;margin:0 0 var(--space-4) 0}.progress-bar{width:100%;height:6px;background:#0000001a;border-radius:3px;overflow:hidden;margin-bottom:var(--space-2)}.progress-fill{height:100%;background:#000;transition:width .3s ease;border-radius:3px}.progress-text{font-size:var(--text-xs);font-weight:var(--font-semibold);color:#000;margin:0}@media(max-width:768px){.journey-control-panel{width:280px}.panel-header{padding:var(--space-4)}.control-section{padding:var(--space-3) var(--space-4)}.journey-loading-overlay{min-width:280px;padding:var(--space-6)}}.journey-sidebar{padding:var(--space-6);height:100%;overflow-y:auto;background:var(--bg-primary)}.journey-sidebar h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-normal);color:var(--text-primary);margin:0 0 var(--space-2) 0;letter-spacing:-.02em}.sidebar-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0;line-height:1.5}.sidebar-section{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-color-light)}.sidebar-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-primary);margin:0 0 var(--space-4) 0}.tier-toggles{display:flex;flex-direction:column;gap:var(--space-3)}.tier-toggle-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color-light);background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.tier-toggle-item:hover{background:var(--bg-tertiary);border-color:var(--brand-primary);transform:translate(2px)}.tier-toggle-item.hovered{background:var(--bg-tertiary);border-color:var(--brand-primary);box-shadow:0 2px 8px #0000001a}.tier-checkbox{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;transition:all .2s ease}.tier-toggle-item.active .tier-checkbox{background:var(--brand-primary);border-color:var(--brand-primary)}.tier-checkbox span{color:#fff;font-size:12px;font-weight:700}.tier-line-swatch{flex-shrink:0}.tier-info{flex:1}.tier-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:2px}.tier-description{font-size:var(--text-xs);color:var(--text-secondary)}.tier-hint{margin-top:var(--space-3);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary);font-style:italic}.hint-icon{font-size:14px}.hint-text{line-height:1.4}.day-selector{width:100%;padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);background-color:#fff;cursor:pointer;transition:border-color .2s;font-family:var(--font-body)}.day-selector:hover{border-color:var(--brand-primary)}.day-selector:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #00000014}.layer-toggles{display:flex;flex-direction:column;gap:var(--space-3)}.layer-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--text-primary);padding:var(--space-2) 0;transition:color .2s}.layer-toggle input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--brand-primary)}.layer-toggle:hover,.layer-toggle:hover span{color:var(--brand-primary)}.legend-section{max-height:400px;overflow-y:auto}.legend-subsection{margin-top:var(--space-4)}.legend-subsection:first-child{margin-top:0}.legend-subtitle{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.5px}.legend-item{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-primary)}.legend-icon{width:20px;height:20px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0003;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px}.legend-line{width:20px;height:3px;border-radius:2px;flex-shrink:0}.legend-text{flex:1}.journey-sidebar::-webkit-scrollbar{width:6px}.journey-sidebar::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.journey-sidebar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.journey-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.legend-section::-webkit-scrollbar{width:4px}.legend-section::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:2px}.legend-section::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}@media(max-width:768px){.journey-sidebar{padding:var(--space-4)}.journey-sidebar h2{font-size:var(--text-xl)}.sidebar-section{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.section-title{font-size:var(--text-sm)}.tier-toggle-item{padding:var(--space-2)}.tier-label,.legend-text{font-size:var(--text-xs)}.legend-icon{width:16px;height:16px;font-size:10px}.legend-line{width:16px;height:2px}}.points-management{max-width:100%;margin:0;padding:var(--space-6);background:transparent;height:auto;display:flex;flex-direction:column;gap:var(--space-6);overflow:visible}.points-management.has-itinerary{flex-direction:row;gap:var(--space-6);overflow:hidden}.points-section{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;overflow:hidden}.points-section .trust-metrics-section{margin-bottom:var(--space-5)}.points-management:not(.has-itinerary) .points-section{flex:1}.points-management.has-itinerary .points-section{min-width:350px;max-width:420px;height:100%;position:sticky;top:0;flex-shrink:0;overflow:hidden}.points-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.points-header-left{display:flex;align-items:center;gap:var(--space-4);flex:1}.points-totals-inline{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex:1}.points-header h2{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0;flex-shrink:0}.points-totals-inline .total-item{display:flex;align-items:baseline;gap:var(--space-1)}.points-totals-inline .total-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono)}.points-totals-inline .total-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:lowercase}.points-totals-inline .total-separator{color:var(--text-quaternary);font-size:var(--text-sm)}.save-status{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-0_5) var(--space-2);border-radius:var(--radius-full);animation:fadeIn .2s ease}.save-status-saving{color:var(--text-tertiary)}.save-status-saved{color:var(--color-gray-800)}.save-status-error{color:var(--color-error, #ef4444)}.auth-warning{font-size:var(--text-xs);color:var(--color-gray-600);margin-top:var(--space-1)}.points-header-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.add-card-btn-header{display:flex;align-items:center;gap:var(--space-1_5);padding:var(--space-2) var(--space-3);background:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.add-card-btn-header:hover{background:var(--color-gray-800);transform:translateY(-1px)}.add-card-btn-header:active{transform:translateY(0)}.settings-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary)}.settings-toggle:hover{background:var(--bg-hover);border-color:var(--color-black);color:var(--text-primary)}.settings-toggle:focus{outline:2px solid var(--color-black);outline-offset:2px}.points-summary{display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4);margin-bottom:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.points-summary .total-points{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.points-summary .points-label{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.advanced-panel{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.advanced-panel .explore-3d-btn{margin-bottom:var(--space-4)}.points-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color)}.tab-btn{padding:var(--space-2_5) var(--space-4);background:var(--bg-secondary);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.tab-btn.active{background:var(--color-black);color:var(--color-white);border-color:var(--color-black)}.transfers-tab-content,.optimizer-tab-content{flex:1;overflow-y:auto}.transfers-header-actions{display:flex;justify-content:flex-end;margin-bottom:var(--space-4)}.explore-3d-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2_5) var(--space-5);background:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.explore-3d-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.explore-3d-btn:active{transform:translateY(0)}.explore-3d-btn svg{width:18px;height:18px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-10) var(--space-6);color:var(--text-tertiary);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.empty-state .empty-icon{margin-bottom:var(--space-4);color:var(--text-tertiary)}.empty-state .empty-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-2) 0}.empty-state .empty-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;max-width:280px;line-height:var(--leading-normal)}.add-first-card-btn{margin-top:var(--space-5);padding:var(--space-3) var(--space-6);background:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.add-first-card-btn:hover{opacity:.9;transform:translateY(-1px)}.add-card-btn{width:100%;padding:var(--space-3) var(--space-4);background:transparent;color:var(--text-primary);border:1px dashed var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.add-card-btn:hover{border-color:var(--color-black);background:var(--bg-secondary)}.add-card-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-4)}.add-card-form h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--space-4) 0}.add-card-form .form-group{margin-bottom:var(--space-4)}.add-card-form .form-group label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.add-card-form .program-select,.add-card-form .balance-input{width:100%;height:44px;padding:0 var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:inherit;background:var(--bg-primary);box-sizing:border-box;transition:border-color var(--transition-fast)}.add-card-form .program-select:focus,.add-card-form .balance-input:focus{outline:none;border-color:var(--color-black)}.add-card-form .form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}.add-card-form .cancel-btn{flex:1;padding:var(--space-3);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.add-card-form .cancel-btn:hover{border-color:var(--color-black);background:var(--bg-hover)}.add-card-form .save-btn{flex:1;padding:var(--space-3);background:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.add-card-form .save-btn:hover:not(:disabled){opacity:.9}.add-card-form .save-btn:disabled{opacity:.5;cursor:not-allowed}.accounts-list{display:flex;flex-direction:column;gap:var(--space-4)}.account-card{padding:var(--space-3_5) var(--space-4);background:var(--bg-primary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-fast)}.account-card:hover{border-color:var(--color-black);box-shadow:var(--shadow-sm)}.account-card.bank-type{border-left:3px solid var(--color-black)}.account-card.airline-type{border-left:3px solid var(--color-gray-600)}.account-card.hotel-type{border-left:3px solid var(--color-gray-400)}.account-display{display:flex;justify-content:space-between;align-items:center}.account-program{display:flex;align-items:center;gap:var(--space-2)}.program-type-indicator{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-gray-300)}.program-type-indicator.bank{background:var(--color-black)}.program-type-indicator.airline{background:var(--color-gray-600)}.program-type-indicator.hotel{background:var(--color-gray-400)}.program-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.account-balance{display:flex;align-items:baseline;gap:var(--space-1)}.balance-value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.balance-unit{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium)}.account-edit-form{display:flex;flex-direction:column;gap:var(--space-3)}.program-select-group{flex:1}.program-select{width:100%}.balance-input-group{flex:1}.balance-input{width:100%}.account-info h3{color:var(--text-primary);font-size:var(--text-lg);margin-bottom:var(--space-3);line-height:var(--leading-snug)}.account-details{display:flex;flex-direction:column;gap:var(--space-2)}.detail{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.detail .label{font-size:var(--text-sm);color:var(--text-tertiary)}.detail .value{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.detail .value.total{color:var(--text-primary);font-size:var(--text-lg)}.form-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-4);align-items:flex-start}.form-group{flex:1}.form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-secondary);font-weight:var(--font-medium);font-size:var(--text-sm)}.form-group select,.form-group input{width:100%;padding:var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color var(--transition-fast);background:var(--bg-primary)}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--color-black);box-shadow:0 0 0 3px #0000000d}.remove-button{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background-color:transparent;color:var(--text-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-6)}.remove-button:hover{background-color:var(--bg-tertiary);border-color:var(--color-black);color:var(--text-primary)}.remove-button:focus{outline:2px solid var(--color-black);outline-offset:2px}.points-actions{margin-top:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4)}.add-account-button,.edit-button{padding:var(--space-3) var(--space-4);background-color:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);width:100%}.add-account-button:hover,.edit-button:hover{opacity:.9}.edit-actions{display:flex;gap:var(--space-4)}.save-button,.cancel-button{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.save-button{background-color:var(--color-black);color:var(--color-white);border:none}.save-button:hover{opacity:.9}.cancel-button{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-button:hover{border-color:var(--color-black);background:var(--bg-hover)}.itinerary-section{flex:3;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);min-height:0;overflow-y:auto;display:flex;flex-direction:column;min-width:0}.itinerary-section>*{width:100%}.itinerary-section-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.itinerary-section-header h2{color:var(--text-primary);font-size:var(--text-2xl);margin:0}.itinerary-filters{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-select{padding:var(--space-2) var(--space-4);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);background:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);min-width:120px}.filter-select:hover{border-color:var(--color-black)}.filter-select:focus{outline:none;border-color:var(--color-black);box-shadow:0 0 0 3px #0000000d}.tier-columns.single-tier{grid-template-columns:1fr;max-width:none;width:100%}.new-trip-button{padding:var(--space-3) var(--space-6);background:var(--color-black);color:var(--color-white);border:none;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.new-trip-button:hover{opacity:.9;transform:translateY(-1px)}.multi-tier-container{flex:1;display:flex;flex-direction:column}.multi-tier-title{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-4);text-align:center;flex-shrink:0}.itinerary-filters-centered{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-shrink:0}.tier-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);flex:1;min-height:0;overflow:visible}.tier-column{background:var(--bg-secondary);border-radius:var(--radius-lg);overflow:visible;border:1px solid var(--border-color)}.tier-header{padding:var(--space-6);text-align:center;color:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tier-header.budget-tier{background:var(--color-gray-700)}.tier-header.midrange-tier{background:var(--color-gray-600)}.tier-icon{font-size:var(--text-3xl);display:block;margin-bottom:var(--space-2)}.tier-header h4{margin:0 0 var(--space-2) 0;font-size:var(--text-lg)}.tier-price{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-tertiary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--bg-tertiary);border-top-color:var(--color-black);border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@media(max-width:1024px){.points-management.has-itinerary{flex-direction:column}.points-management.has-itinerary .points-section{max-width:none;min-width:0}}@media(max-width:768px){.points-management{padding:var(--space-4)}.points-header{flex-direction:row;flex-wrap:wrap}.points-header-left{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.points-totals-inline .total-value{font-size:var(--text-base)}.account-details{grid-template-columns:1fr}.form-row{flex-direction:column}.remove-button{margin-top:0;align-self:flex-end}.itinerary-section-header{flex-direction:column;gap:var(--space-4);align-items:flex-start}.itinerary-filters{width:100%;justify-content:flex-start}.filter-select{flex:1;min-width:100px}.tier-columns{grid-template-columns:1fr}}.transaction-history{display:flex;flex-direction:column}.transaction-item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.transaction-item:last-child{border-bottom:none}.transaction-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;background:var(--bg-secondary, #f3f4f6);color:var(--text-secondary, #6b7280)}.transaction-icon.credit{background:var(--color-gray-100, #f3f4f6);color:var(--color-gray-700, #374151)}.transaction-icon.debit{background:var(--color-black, #000);color:var(--color-white, #fff)}.transaction-details{flex:1;min-width:0}.transaction-description{font-size:14px;font-weight:500;color:var(--text-primary, #111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.transaction-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transaction-type-badge{font-size:11px;font-weight:500;color:var(--text-tertiary, #9ca3af);padding:2px 6px;background:var(--bg-secondary, #f3f4f6);border-radius:4px}.transaction-date,.transaction-time{font-size:12px;color:var(--text-tertiary, #9ca3af)}.transaction-time:before{content:"·";margin-right:8px}.transaction-amount{font-size:15px;font-weight:600;font-family:var(--font-mono, "SF Mono", monospace);white-space:nowrap}.transaction-amount.credit{color:var(--color-gray-600, #4b5563)}.transaction-amount.debit{color:var(--color-black, #000)}.transaction-history-empty{text-align:center;padding:40px 20px}.transaction-history-empty .empty-icon{color:var(--color-gray-300, #d1d5db);margin-bottom:16px}.transaction-history-empty .empty-title{font-size:16px;font-weight:500;color:var(--text-primary, #111827);margin:0 0 8px}.transaction-history-empty .empty-subtitle{font-size:14px;color:var(--text-tertiary, #9ca3af);max-width:280px;margin:0 auto}.transaction-history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px;color:var(--text-tertiary, #9ca3af)}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-gray-200, #e5e7eb);border-top-color:var(--color-black, #000);border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.small{width:16px;height:16px}.loading-more{display:flex;justify-content:center;padding:16px}.load-more-btn{width:100%;padding:12px;margin-top:8px;background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:14px;font-weight:500;color:var(--text-primary, #111827);cursor:pointer;transition:all .2s ease}.load-more-btn:hover:not(:disabled){background:var(--color-gray-100, #f3f4f6);border-color:var(--color-gray-300, #d1d5db)}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.transaction-item{gap:10px;padding:12px 0}.transaction-icon{width:36px;height:36px}.transaction-description{font-size:13px}.transaction-amount{font-size:14px}}.wallet-card-stack{position:relative;perspective:1000px;perspective-origin:center top;min-height:120px;height:calc(120px + (var(--total-cards, 1) - 1) * 56px);margin:var(--space-4) 0;transition:all .5s cubic-bezier(.4,0,.2,1)}.wallet-card-stack.has-selection{flex:1;min-height:calc(420px + var(--collapsed-cards-height, 200px));height:auto;padding-bottom:var(--collapsed-cards-height, 200px)}.wallet-card-stack:not(.has-selection):hover{height:calc(120px + (var(--total-cards, 1) - 1) * 90px)}.wallet-card{position:absolute;left:0;right:0;height:120px;border-radius:var(--radius-lg);padding:var(--space-3_5) var(--space-4);cursor:pointer;overflow:hidden;transition:transform .5s cubic-bezier(.4,0,.2,1),top .5s cubic-bezier(.4,0,.2,1),bottom .5s cubic-bezier(.4,0,.2,1),height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,box-shadow .3s ease;transform-origin:center top;will-change:transform,bottom;box-shadow:0 10px 40px #00000040,0 2px 10px #00000026,inset 0 1px #ffffff1a}.wallet-card.collapsed{transition:transform .4s cubic-bezier(.4,0,.2,1),top .4s cubic-bezier(.4,0,.2,1),bottom .4s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1),opacity .3s ease,box-shadow .3s ease}.wallet-card.selected{cursor:default;overflow:visible;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);animation:cardExpand .5s cubic-bezier(.4,0,.2,1) .35s forwards;box-shadow:0 10px 40px #00000040,0 2px 10px #00000026,inset 0 1px #ffffff1a;transition:box-shadow .4s ease .35s}@keyframes cardExpand{0%{height:120px;min-height:120px}to{height:auto;min-height:400px;box-shadow:0 25px 80px #00000059,0 8px 32px #00000040,inset 0 1px #ffffff26,0 0 0 1px #ffffff0d}}.wallet-card.collapsed{height:80px;opacity:.8;cursor:pointer;top:auto;bottom:var(--collapsed-bottom-offset, 0);transform:none;box-shadow:0 4px 16px #0003,0 1px 4px #0000001a,inset 0 1px #ffffff14}.wallet-card.collapsed:hover{opacity:1;transform:translateY(-4px);box-shadow:0 12px 32px #00000047,0 4px 12px #0000002e,inset 0 1px #ffffff1f}.wallet-card-stack:not(.has-selection) .wallet-card{--hover-lift: 0px}.wallet-card-stack:not(.has-selection) .wallet-card:hover{--hover-lift: -20px;box-shadow:0 20px 60px #0000004d,0 4px 16px #0003,inset 0 1px #ffffff1f}.wallet-card:focus{outline:none;box-shadow:0 10px 40px #00000040,0 2px 10px #00000026,inset 0 1px #ffffff1a,0 0 0 3px #fff6}.wallet-card:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.card-content{position:relative;z-index:2;display:flex;flex-direction:column}.card-header-row{display:flex;justify-content:space-between;align-items:center}.card-left{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.card-title-group{display:flex;flex-direction:column;gap:var(--space-0_5);min-width:0}.card-type-badge{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider);opacity:0;transform:translateY(-4px);animation:fadeSlideIn .3s ease .1s forwards}@keyframes fadeSlideIn{to{opacity:.7;transform:translateY(0)}}.card-logo{width:32px;height:32px;object-fit:contain;border-radius:var(--radius-md);background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:6px;flex-shrink:0;transition:transform .2s ease,background .2s ease;border:1px solid rgba(255,255,255,.1)}.wallet-card.selected .card-logo{transform:scale(1.05)}.wallet-card:hover .card-logo{background:#fff3}.card-logo-fallback{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-bold);background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);flex-shrink:0;transition:transform .2s ease,background .2s ease}.wallet-card:hover .card-logo-fallback{background:#fff3}.wallet-card.selected .card-logo-fallback{transform:scale(1.05)}.card-program-name{font-size:var(--text-base);font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:var(--tracking-tight)}.card-right{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;margin-left:var(--space-3)}.card-balance-label{font-size:10px;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider);line-height:var(--leading-none);margin-bottom:var(--space-0_5)}.card-balance-value{font-size:var(--text-xl);font-weight:var(--font-bold);font-family:var(--font-mono);letter-spacing:var(--tracking-tight);line-height:var(--leading-none)}.card-close-btn{background:transparent;border:none;padding:var(--space-1);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,opacity .2s ease;opacity:.8}.card-close-btn:hover{transform:scale(1.1);opacity:1}.card-close-btn:active{transform:scale(.95)}.card-close-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:var(--radius-sm)}.card-close-btn svg{width:20px;height:20px}.card-expanded-content{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);animation:expandedContentIn .4s cubic-bezier(.4,0,.2,1) .65s forwards;opacity:0}@keyframes expandedContentIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.expanded-balance-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0}.expanded-balance-display{display:flex;align-items:baseline;gap:var(--space-2)}.expanded-balance-value{font-size:var(--text-4xl);font-weight:var(--font-bold);font-family:var(--font-mono);letter-spacing:var(--tracking-tight);line-height:var(--leading-none);text-shadow:0 2px 4px rgba(0,0,0,.1)}.expanded-balance-unit{font-size:var(--text-base);font-weight:var(--font-medium);text-transform:lowercase;opacity:.8}.expanded-quick-actions{display:flex;gap:var(--space-1_5);flex-shrink:0}.quick-action-btn{display:flex;align-items:center;gap:var(--space-1_5);padding:var(--space-2) var(--space-3);background:#ffffff1f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);color:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 1px #ffffff14,0 1px 3px #0000001a}.quick-action-btn:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-1px) scale(1.02);box-shadow:inset 0 1px #ffffff1f,0 4px 8px #00000026}.quick-action-btn:active{transform:translateY(0) scale(.98)}.quick-action-btn.active{background:#ffffff47;border-color:#fff6;box-shadow:inset 0 1px #ffffff26,0 2px 8px #0000001f,0 0 0 1px #ffffff1a}.quick-action-btn.danger{background:#dc354526;border-color:#dc354559}.quick-action-btn.danger:hover{background:#dc354547;border-color:#dc354580;box-shadow:inset 0 1px #ffffff0d,0 4px 12px #dc354533}.quick-action-btn svg{opacity:.85;transition:opacity .2s ease,transform .2s ease}.quick-action-btn:hover svg{opacity:1;transform:scale(1.05)}.inline-form{background:#00000040;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);animation:formSlideIn .25s ease forwards}@keyframes formSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.inline-form-row{display:flex;gap:var(--space-3)}.inline-form-row .inline-form-group{flex:1}.inline-form-group{display:flex;flex-direction:column;gap:var(--space-1)}.inline-form-group label{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider);opacity:.75}.inline-form-group input,.inline-form-group select{background:#0000004d;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2_5);font-size:var(--text-sm);font-family:inherit;color:inherit;width:100%;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.inline-form-group input:hover,.inline-form-group select:hover{border-color:#ffffff40;background:#00000059}.inline-form-group input:focus,.inline-form-group select:focus{outline:none;border-color:#fff6;background:#0006;box-shadow:0 0 0 3px #ffffff1a,inset 0 1px 2px #0003}.inline-form-group input::placeholder{color:#fff6}.inline-form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2_5) center;padding-right:var(--space-8)}.inline-form-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-1)}.form-cancel-btn,.form-submit-btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.form-cancel-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:inherit}.form-cancel-btn:hover{background:#ffffff2e;border-color:#ffffff4d;transform:translateY(-1px)}.form-cancel-btn:active{transform:translateY(0)}.form-submit-btn{background:#ffffffe6;border:1px solid transparent;color:var(--color-gray-900);box-shadow:0 2px 8px #00000026}.form-submit-btn:hover:not(:disabled){background:var(--color-white);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.form-submit-btn:active:not(:disabled){transform:translateY(0)}.form-submit-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.card-scrollable-content{flex:1;overflow-y:auto;overflow-x:hidden;max-height:370px;scrollbar-width:none;-ms-overflow-style:none}.card-scrollable-content::-webkit-scrollbar{display:none}.transfer-section-layout{display:flex;flex-direction:column;padding-top:var(--space-4)}.transfer-partners-column{display:flex;flex-direction:column;gap:var(--space-2)}.transfer-partners-column .section-title,.find-awards-section .section-title{font-size:16px!important;font-weight:600!important;font-family:system-ui,-apple-system,sans-serif!important;font-style:normal!important;letter-spacing:-.01em;margin:0 0 12px;opacity:.85}.partner-groups-row{display:flex;gap:var(--space-4)}.partner-group{flex:1;min-width:0}.partner-group-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 0;background:transparent;border:none;color:inherit;cursor:pointer;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;opacity:.7;transition:opacity .2s ease}.partner-group-header:hover{opacity:1}.partner-group-header:focus{outline:none}.partner-group-header:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:var(--radius-sm)}.partner-group-label{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.dropdown-arrow{font-size:10px;transition:transform .2s ease}.dropdown-arrow.expanded{transform:rotate(90deg)}.partner-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:8px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.partner-chip{display:flex;align-items:center;gap:var(--space-1_5);padding:var(--space-1_5) var(--space-2_5);background:#ffffff1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}.partner-chip:hover{background:#ffffff2e;border-color:#ffffff40;transform:translateY(-1px)}.partner-chip.selected{background:#ffffff40;border-color:#fff6;box-shadow:0 0 0 2px #fff3}.partner-chip-logo{width:20px;height:20px;border-radius:var(--radius-sm);object-fit:contain;background:#ffffffe6;padding:2px}.partner-chip-icon{font-size:var(--text-sm);line-height:1}.partner-chip-name{font-weight:var(--font-medium);white-space:nowrap;color:inherit}.partner-chip-ratio{font-family:var(--font-mono);font-size:10px;font-weight:var(--font-semibold);color:inherit;opacity:.7}.partner-chip-time{font-size:10px;opacity:.6;white-space:nowrap;color:inherit}.transfer-partners-loading{padding:var(--space-2) 0}.partner-skeleton-row{display:flex;gap:var(--space-2)}.partner-chip-skeleton{width:100px;height:32px;background:linear-gradient(90deg,#ffffff14,#ffffff26,#ffffff14);background-size:200% 100%;border-radius:var(--radius-full);animation:shimmer 1.5s infinite}.transfer-partners-error{padding:var(--space-3);background:#dc354526;border:1px solid rgba(220,53,69,.25);border-radius:var(--radius-sm);font-size:var(--text-sm);color:inherit;opacity:.9}.transfer-partners-empty{padding:var(--space-3);text-align:center;opacity:.6;font-size:var(--text-sm);font-style:italic}.find-awards-section{padding-top:var(--space-4)}.find-awards-teaser{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);transition:background .2s ease,border-color .2s ease}.find-awards-teaser:hover{background:#ffffff1a;border-color:#ffffff2e}.find-awards-icons{display:flex;gap:var(--space-1);font-size:var(--text-xl);opacity:.8}.teaser-icon{animation:float 3s ease-in-out infinite}.teaser-icon:nth-child(2){animation-delay:.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.find-awards-text{flex:1}.teaser-title{font-size:var(--text-sm);font-weight:var(--font-medium);margin:0;opacity:.9}.teaser-subtitle{font-size:var(--text-xs);margin:var(--space-0_5) 0 0 0;opacity:.6}.notify-btn{padding:var(--space-2) var(--space-3);background:#ffffff26;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:inherit;font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:transform .2s ease,background .2s ease,border-color .2s ease}.notify-btn:hover{background:#ffffff40;border-color:#ffffff59;transform:translateY(-1px)}.notify-btn:active{transform:translateY(0)}.inline-transaction-section{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(to bottom,rgba(255,255,255,.02) 0%,transparent 20px)}.transaction-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-3) 0;opacity:.85;letter-spacing:var(--tracking-wide)}.inline-error-message{padding:var(--space-3);background:#dc354526;border:1px solid rgba(220,53,69,.25);border-radius:var(--radius-sm);font-size:var(--text-sm);color:inherit}.card-expanded-content .transaction-history{background:#0003;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);max-height:200px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.card-expanded-content .transaction-history::-webkit-scrollbar{width:6px}.card-expanded-content .transaction-history::-webkit-scrollbar-track{background:transparent}.card-expanded-content .transaction-history::-webkit-scrollbar-thumb{background:#fff3;border-radius:var(--radius-full)}.card-expanded-content .transaction-history::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.card-expanded-content .transaction-item{padding:var(--space-2_5) var(--space-3);border-bottom:1px solid rgba(255,255,255,.06);transition:background .15s ease}.card-expanded-content .transaction-item:hover{background:#ffffff0a}.card-expanded-content .transaction-item:last-child{border-bottom:none}.card-expanded-content .no-transactions{padding:var(--space-5);text-align:center;opacity:.6;font-size:var(--text-sm);font-style:italic}.card-pattern{position:absolute;inset:0;z-index:1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none}.wallet-card-stack.editing .wallet-card{cursor:default;pointer-events:none}@media(max-width:480px){.wallet-card{height:100px;padding:var(--space-3) var(--space-3_5)}.wallet-card.selected{min-height:350px}.wallet-card.collapsed{height:70px}.wallet-card-stack{min-height:100px;height:calc(100px + (var(--total-cards, 1) - 1) * 52px)}.wallet-card-stack:not(.has-selection):hover{height:calc(100px + (var(--total-cards, 1) - 1) * 80px)}.card-balance-value{font-size:var(--text-lg)}.card-program-name{font-size:var(--text-sm)}.card-logo,.card-logo-fallback{width:32px;height:32px}.expanded-balance-value{font-size:var(--text-3xl)}.expanded-balance-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.expanded-quick-actions{flex-wrap:wrap}.quick-action-btn{padding:var(--space-1_5) var(--space-2_5);font-size:var(--text-xs)}.inline-form-row{flex-direction:column}.card-close-btn svg{width:18px;height:18px}.partner-groups-row{flex-direction:column;gap:var(--space-3)}.partner-chips{gap:var(--space-1_5)}.partner-chip{padding:var(--space-1) var(--space-2);font-size:10px}.partner-chip-logo{width:16px;height:16px}.partner-chip-ratio{font-size:9px}.find-awards-teaser{flex-direction:column;text-align:center;padding:var(--space-3)}.find-awards-text{margin-bottom:var(--space-2)}}@media(prefers-reduced-motion:reduce){.wallet-card-stack,.wallet-card,.card-close-btn,.quick-action-btn,.form-cancel-btn,.form-submit-btn,.inline-form-group input,.inline-form-group select,.partner-chip,.notify-btn,.find-awards-teaser,.partner-group-header,.dropdown-arrow{transition:none}.card-expanded-content,.inline-form,.card-type-badge,.partner-chip-skeleton,.teaser-icon,.partner-chips{animation:none;opacity:1;transform:none}.wallet-card.selected{transform:translateY(0)!important}}.alerts-feed{padding:var(--space-4) 0}.alerts-feed-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.alerts-feed-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.alerts-add-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:500;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s}.alerts-add-btn:hover{background:var(--bg-primary);border-color:var(--accent, #6366f1)}.alerts-loading{text-align:center;padding:var(--space-6);color:var(--text-secondary);font-size:.875rem}.alerts-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-secondary)}.alerts-empty-icon{margin-bottom:var(--space-3);opacity:.5}.alerts-empty p{margin:0 0 4px;font-size:.875rem}.alerts-empty-hint{opacity:.7;font-size:.8125rem}.alerts-auth-prompt{text-align:center;padding:var(--space-5);color:var(--text-secondary);font-size:.875rem}.alerts-list{display:flex;flex-direction:column;gap:10px}.alert-card{display:flex;align-items:center;gap:var(--space-3);padding:12px 14px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;transition:border-color .15s}.alert-card:hover{border-color:var(--accent, #6366f1)}.alert-card-route{display:flex;align-items:center;gap:6px;flex-shrink:0}.alert-airport{font-weight:600;font-size:.9375rem;color:var(--text-primary);letter-spacing:.5px}.alert-arrow{color:var(--text-secondary);opacity:.6}.alert-cabin-badge{font-size:.6875rem;font-weight:500;padding:2px 8px;border-radius:12px;background:var(--accent, #6366f1);color:#fff;text-transform:capitalize;white-space:nowrap}.alert-card-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.alert-threshold{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.alert-checked{font-size:.75rem;color:var(--text-secondary);opacity:.7}.alert-delete-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:6px;transition:color .15s,background .15s}.alert-delete-btn:hover{color:#ef4444;background:#ef444414}.alert-delete-btn:disabled{opacity:.4;cursor:not-allowed}.alert-delete-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--accent, #6366f1);border-radius:50%;animation:alertSpin .6s linear infinite}@keyframes alertSpin{to{transform:rotate(360deg)}}@media(max-width:500px){.alert-card{flex-wrap:wrap}.alert-card-details{flex-basis:100%;order:1;margin-top:4px;flex-direction:row;gap:8px}}.alert-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:alertOverlayIn .2s ease-out}@keyframes alertOverlayIn{0%{opacity:0}to{opacity:1}}.alert-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg, 0 8px 32px rgba(0, 0, 0, .2));width:90%;max-width:480px;max-height:90vh;overflow-y:auto;animation:alertModalIn .25s ease-out}@keyframes alertModalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.alert-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--border-color)}.alert-modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.alert-modal-close{background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:4px;border-radius:6px;transition:background .15s,color .15s}.alert-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.alert-modal-form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.alert-form-row{display:flex;align-items:flex-end;gap:var(--space-3)}.alert-form-row .alert-form-field{flex:1}.alert-form-arrow{padding-bottom:6px;color:var(--text-secondary);flex-shrink:0}.alert-form-field{display:flex;flex-direction:column;gap:6px}.alert-form-field label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.alert-form-field input[type=text],.alert-form-field select{padding:10px 12px;font-size:.9375rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .15s}.alert-form-field input[type=text]:focus,.alert-form-field select:focus{border-color:var(--accent, #6366f1)}.alert-form-field input[type=text]::placeholder{color:var(--text-secondary);opacity:.6}.alert-range-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:3px;outline:none;cursor:pointer}.alert-range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent, #6366f1);border:2px solid var(--bg-primary);box-shadow:0 2px 6px #0003;cursor:grab}.alert-range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent, #6366f1);border:2px solid var(--bg-primary);box-shadow:0 2px 6px #0003;cursor:grab}.alert-range-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);opacity:.7}.alert-program-grid{display:flex;flex-wrap:wrap;gap:8px}.alert-program-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s;-webkit-user-select:none;user-select:none}.alert-program-chip:has(input:checked){background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.alert-program-chip input[type=checkbox]{display:none}.alert-form-error{font-size:.8125rem;color:#ef4444;padding:8px 12px;background:#ef444414;border-radius:8px}.alert-submit-btn{padding:12px 20px;font-size:.9375rem;font-weight:600;border:none;border-radius:10px;background:var(--accent, #6366f1);color:#fff;cursor:pointer;transition:opacity .15s,transform .1s}.alert-submit-btn:hover:not(:disabled){opacity:.9}.alert-submit-btn:active:not(:disabled){transform:scale(.98)}.alert-submit-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:500px){.alert-modal{width:96%;max-height:95vh}.alert-form-row{flex-direction:column;align-items:stretch}.alert-form-arrow{display:none}}.onboarding-overlay{position:fixed;inset:0;z-index:1000;background:var(--bg-primary, #FFFFFF);display:flex;flex-direction:column;animation:onboardingFadeIn .3s ease-out}.onboarding-overlay>*{position:relative;z-index:1}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}.onboarding-overlay.closing{animation:onboardingFadeOut .25s ease-in forwards}@keyframes onboardingFadeOut{0%{opacity:1}to{opacity:0}}.onboarding-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5, 20px) var(--space-8, 32px)}.progress-track{display:flex;gap:6px;align-items:center}.progress-segment{height:3px;width:36px;border-radius:var(--radius-full, 9999px);background:var(--color-gray-200, #E5E5E5);transition:all .4s cubic-bezier(.4,0,.2,1)}.progress-segment.active{width:48px;background:var(--color-gray-900, #171717)}.progress-segment.completed{background:var(--color-gray-400, #A3A3A3)}.skip-btn{background:none;border:none;color:var(--text-tertiary, #737373);font-size:13px;font-weight:500;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);cursor:pointer;padding:var(--space-2, 8px) var(--space-4, 16px);border-radius:var(--radius-full, 9999px);transition:all .15s cubic-bezier(.4,0,.2,1);letter-spacing:.02em}.skip-btn:hover{color:var(--text-secondary, #525252);background:var(--bg-hover, #F5F5F5)}.onboarding-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--space-8, 32px) var(--space-8, 32px);max-width:700px;margin:0 auto;width:100%}.onboarding-title{font-family:var(--font-display, "Cormorant Garamond", "Playfair Display", Georgia, serif);font-size:36px;font-weight:400;color:var(--text-primary, #171717);margin-bottom:6px;letter-spacing:-.03em;line-height:1.15;text-align:center}.onboarding-subtitle{font-size:14px;color:var(--text-tertiary, #737373);margin-bottom:var(--space-10, 40px);font-weight:400;letter-spacing:.005em;line-height:1.5;text-align:center}.screen-content{width:100%;animation:screenSlideIn .35s ease-out;display:flex;flex-direction:column;align-items:center}@keyframes screenSlideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.interest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3, 12px);width:100%;margin-bottom:var(--space-8, 32px)}.interest-card{position:relative;background:var(--bg-primary, #FFFFFF);border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-lg, 12px);padding:var(--space-6, 24px) var(--space-4, 16px) var(--space-5, 20px);text-align:center;cursor:pointer;transition:border-color .25s cubic-bezier(.4,0,.2,1),background .25s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;animation:cardStagger .4s ease-out both}.interest-card:hover{border-color:var(--color-gray-300, #D4D4D4);transform:translateY(-2px);box-shadow:0 1px 3px #0000000f,0 1px 2px #00000008}.interest-card.selected{border-color:var(--color-gray-800, #262626);background:#f7f5f2;transform:translateY(-2px);box-shadow:0 4px 16px #00000014,inset 0 2px 4px #0000000d}.interest-card .card-icon{width:32px;height:32px;margin:0 auto var(--space-3, 12px);color:var(--color-gray-500, #737373);transition:color .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.interest-card .card-icon svg{width:100%;height:100%}.interest-card:hover .card-icon{color:var(--color-gray-700, #404040)}.interest-card.selected .card-icon{color:var(--color-gray-900, #171717)}.interest-card .card-label{font-size:14px;font-weight:600;color:var(--text-primary, #171717);margin-bottom:3px;letter-spacing:-.01em}.interest-card .card-desc{font-size:12px;color:var(--text-tertiary, #737373);line-height:1.4;font-weight:400}.interest-card.selected .card-label{color:var(--color-black, #000000)}.interest-card .check-badge{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--color-gray-900, #171717);color:var(--color-white, #FFFFFF);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.interest-card.selected .check-badge{opacity:1;transform:scale(1)}@keyframes cardStagger{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.style-section{width:100%;margin-bottom:var(--space-8, 32px)}.style-section-label{font-size:11px;font-weight:600;color:var(--text-tertiary, #737373);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3, 12px);text-align:left}.style-cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3, 12px)}.style-card{background:var(--bg-primary, #FFFFFF);border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-lg, 12px);padding:var(--space-5, 20px) var(--space-4, 16px);text-align:center;cursor:pointer;transition:border-color .25s cubic-bezier(.4,0,.2,1),background .25s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)}.style-card:hover{border-color:var(--color-gray-300, #D4D4D4);transform:translateY(-1px);box-shadow:0 1px 2px #0000000a}.style-card.selected{border-color:var(--color-gray-800, #262626);background:#f7f5f2;box-shadow:0 4px 16px #00000014,inset 0 2px 4px #0000000d}.style-cards-row .style-card:nth-child(2){padding-top:calc(var(--space-5, 20px) + 2px);padding-bottom:calc(var(--space-5, 20px) + 2px)}.style-card .card-icon{width:28px;height:28px;margin:0 auto var(--space-2, 8px);color:var(--color-gray-500, #737373);transition:color .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.style-card .card-icon svg{width:100%;height:100%}.style-card.selected .card-icon{color:var(--color-gray-900, #171717)}.style-card .card-label{font-size:14px;font-weight:600;color:var(--text-primary, #171717);margin-bottom:2px;letter-spacing:-.01em}.style-card .card-desc{font-size:12px;color:var(--text-tertiary, #737373);font-weight:400}.chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);justify-content:center;margin-bottom:var(--space-8, 32px);max-width:520px}.diet-chip{display:inline-flex;align-items:center;gap:6px;padding:10px var(--space-5, 20px);background:var(--bg-primary, #FFFFFF);border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-xl, 16px);font-size:14px;font-weight:500;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:var(--text-primary, #171717);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.diet-chip:hover{border-color:var(--color-gray-300, #D4D4D4);background:var(--color-gray-50, #FAFAFA)}.diet-chip.selected{border-color:var(--color-gray-800, #262626);background:#f7f5f2;color:var(--color-gray-900, #171717);box-shadow:0 1px 2px #0000000a}.diet-chip .chip-check{width:16px;height:16px;border-radius:50%;background:var(--color-gray-900, #171717);color:var(--color-white, #FFFFFF);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.5);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.diet-chip.selected .chip-check{opacity:1;transform:scale(1)}.onboarding-footer{padding:0 var(--space-8, 32px) var(--space-10, 40px);display:flex;justify-content:center}.onboarding-next-btn{padding:14px 56px;background:var(--color-gray-900, #171717);color:var(--color-white, #FFFFFF);border:none;border-radius:var(--radius-full, 9999px);font-size:15px;font-weight:600;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);letter-spacing:.01em;box-shadow:0 2px 8px #0000001f;position:relative;overflow:hidden}.onboarding-next-btn:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.06) 50%,transparent 60%);pointer-events:none}.onboarding-next-btn:hover{background:var(--color-black, #000000);transform:translateY(-1px);box-shadow:0 4px 16px #0000002e}.onboarding-next-btn:active{transform:translateY(0);box-shadow:0 1px 4px #0000001f}.points-added-list{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-bottom:var(--space-6, 24px);justify-content:center;width:100%;max-width:520px}.points-added-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:#f7f5f2;border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-xl, 16px);font-size:13px;transition:all .25s cubic-bezier(.4,0,.2,1)}.points-chip-program{font-weight:600;color:var(--text-primary, #171717)}.points-chip-balance{color:var(--text-tertiary, #737373);font-variant-numeric:tabular-nums}.points-chip-remove{background:none;border:none;color:var(--text-tertiary, #737373);font-size:16px;cursor:pointer;padding:0 2px;line-height:1;transition:color .15s ease}.points-chip-remove:hover{color:var(--text-primary, #171717)}.points-add-row{display:flex;gap:var(--space-2, 8px);align-items:center;width:100%;max-width:520px;margin-bottom:var(--space-8, 32px)}.points-program-select{flex:2;padding:11px 32px 11px 12px;border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-lg, 12px);font-size:14px;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);background:var(--bg-primary, #FFFFFF);color:var(--text-primary, #171717);appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .2s ease}.points-program-select:focus{outline:none;border-color:var(--color-gray-800, #262626)}.points-balance-input{flex:1;padding:11px 12px;border:1.5px solid var(--color-gray-200, #E5E5E5);border-radius:var(--radius-lg, 12px);font-size:14px;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);background:var(--bg-primary, #FFFFFF);color:var(--text-primary, #171717);transition:border-color .2s ease}.points-balance-input:focus{outline:none;border-color:var(--color-gray-800, #262626)}.points-balance-input::placeholder{color:var(--text-tertiary, #737373)}.points-balance-input::-webkit-inner-spin-button,.points-balance-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.points-balance-input[type=number]{-moz-appearance:textfield}.points-add-btn{padding:11px 20px;background:var(--color-gray-900, #171717);color:var(--color-white, #FFFFFF);border:none;border-radius:var(--radius-lg, 12px);font-size:14px;font-weight:600;font-family:var(--font-primary, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);cursor:pointer;transition:all .2s ease;white-space:nowrap}.points-add-btn:disabled{opacity:.3;cursor:not-allowed}.points-add-btn:hover:not(:disabled){background:var(--color-black, #000000);transform:translateY(-1px)}@media(max-width:768px){.interest-grid{grid-template-columns:repeat(2,1fr)}.style-cards-row{grid-template-columns:1fr;gap:10px}.onboarding-title{font-size:28px}.onboarding-topbar{padding:var(--space-4, 16px) var(--space-4, 16px)}.onboarding-content{padding:0 var(--space-4, 16px) var(--space-4, 16px)}.onboarding-footer{padding:0 var(--space-4, 16px) var(--space-6, 24px)}.onboarding-next-btn{padding:12px 40px;font-size:14px}.points-add-row{flex-direction:column}.points-program-select,.points-balance-input,.points-add-btn{width:100%;flex:unset}}.card-rec-panel{padding:0}.card-rec-panel-header{margin-bottom:var(--space-4)}.card-rec-panel-title{margin:0 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;color:var(--app-ink);letter-spacing:-.02em;line-height:var(--leading-tight)}.card-rec-panel-subtitle{margin:0;font-family:var(--font-body);font-size:var(--text-xs);line-height:var(--leading-relaxed);color:var(--app-muted)}.card-rec-panel-list{display:flex;flex-direction:column;gap:var(--space-3)}.card-rec-item{background:var(--app-card);border:1px solid var(--app-hair);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 1px 3px #1d1b160a,0 1px 2px #1d1b1605;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);opacity:0;transform:translateY(6px);animation:cardRecItemFadeIn .3s ease-out forwards}@keyframes cardRecItemFadeIn{to{opacity:1;transform:translateY(0)}}.card-rec-item:hover{border-color:var(--app-accent);box-shadow:0 4px 16px #1d1b161a,0 1px 3px #1d1b160a;transform:translateY(-1px)}.card-rec-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.card-rec-item-name{margin:0;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--app-ink);line-height:var(--leading-snug)}.card-rec-item-issuer{display:block;margin-top:var(--space-0_5);font-family:var(--font-body);font-size:var(--text-xs);color:var(--app-muted)}.card-rec-item-fee{flex-shrink:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--app-muted);white-space:nowrap}.card-rec-item-divider{border:none;border-top:1px solid var(--app-hair);margin:var(--space-3) 0}.card-rec-item-bonus{margin-bottom:var(--space-3)}.card-rec-item-bonus-text{margin:0;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--app-ink);line-height:var(--leading-snug)}.card-rec-item-bonus-value{margin:var(--space-0_5) 0 0;font-family:var(--font-body);font-size:var(--text-xs);color:var(--app-muted)}.card-rec-item-reason{margin-bottom:var(--space-3)}.card-rec-item-reason-label{display:block;margin-bottom:var(--space-1);font-family:var(--font-body);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--app-faint)}.card-rec-item-reason-text{margin:0;font-family:var(--font-body);font-size:var(--text-xs);color:var(--app-muted);line-height:var(--leading-relaxed)}.card-rec-item-tags{display:flex;flex-wrap:wrap;gap:var(--space-1_5);margin-bottom:var(--space-4)}.card-rec-item-tag{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:var(--tracking-wider);padding:var(--space-px) var(--space-2);border:1px solid var(--app-hair);border-radius:var(--radius-sm);background:var(--app-bg);color:var(--app-muted);line-height:var(--leading-normal)}.card-rec-item-cta{display:block;width:100%;padding:var(--space-2_5) var(--space-4);background:var(--app-accent);color:var(--app-card);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;text-align:center;text-decoration:none;border:1px solid var(--app-accent);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.card-rec-item-cta:hover{background:var(--app-accent-dark);border-color:var(--app-accent-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2f6f5e4d}.card-rec-item-cta:active{transform:translateY(0);box-shadow:none}.card-rec-item-cta:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.card-rec-panel-disclosure{margin:var(--space-4) 0 0;padding-top:var(--space-3);border-top:1px solid var(--app-hair);font-family:var(--font-body);font-size:var(--text-xs);font-style:italic;color:var(--app-faint);line-height:var(--leading-relaxed)}@media(max-width:768px){.card-rec-item{padding:var(--space-4)}}@media(prefers-reduced-motion:reduce){.card-rec-item{animation:none;opacity:1;transform:none}.card-rec-item:hover,.card-rec-item-cta:hover{transform:none}}.card-rec-panel-empty{padding:var(--space-6) var(--space-4);text-align:center}.card-rec-empty-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--app-muted);margin:0;line-height:var(--leading-relaxed);font-style:italic}.card-rec-skeleton{padding:var(--space-5);background:var(--app-card);border:1px solid var(--app-hair);border-radius:var(--radius-lg);margin-bottom:var(--space-2_5);box-shadow:0 1px 3px #1d1b160a}.skeleton-line{height:12px;background:linear-gradient(90deg,var(--app-bg) 25%,var(--app-hair) 50%,var(--app-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm);margin-bottom:var(--space-2_5)}.skeleton-line:last-child{margin-bottom:0}.skeleton-title{width:60%;height:14px}.skeleton-subtitle{width:40%}.skeleton-body{width:80%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.program-card{position:relative;padding:16px;border-radius:14px;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a,inset 0 1px #fff9;display:flex;flex-direction:column;gap:8px;min-width:0}.program-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.program-card-name{font-size:13px;font-weight:600;color:#0f172a;line-height:1.3}.program-card-cpp{font-size:11px;font-weight:500;color:#64748b;white-space:nowrap}.program-card-balance{display:flex;align-items:baseline;gap:4px}.program-card-balance-number{font-size:26px;font-weight:800;color:#0f172a;letter-spacing:-.5px;line-height:1}.program-card-input{width:100%;font-size:22px;font-weight:700;color:#0f172a;background:#fffc;border:1.5px solid rgba(15,23,42,.2);border-radius:8px;padding:4px 8px;outline:none;font-family:inherit}.program-card-input:focus{border-color:#0f172a}.program-card-input::-webkit-outer-spin-button,.program-card-input::-webkit-inner-spin-button{-webkit-appearance:none}.program-card-input[type=number]{-moz-appearance:textfield}.program-card-pts-label{font-size:13px;font-weight:500;color:#64748b}.program-card-value{font-size:13px;font-weight:600;color:#16a34a}.program-card-actions{display:flex;gap:6px;margin-top:4px}.program-card-btn-edit,.program-card-btn-save,.program-card-btn-cancel{flex:1;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .15s ease}.program-card-btn-edit{background:#0f172a0f;color:#374151;border:1px solid rgba(15,23,42,.1)}.program-card-btn-edit:hover{background:#0f172a1a}.program-card-btn-save{background:#0f172a;color:#fff}.program-card-btn-save:hover:not(:disabled){background:#1e293b}.program-card-btn-save:disabled{opacity:.6;cursor:not-allowed}.program-card-btn-cancel{background:#fff9;color:#374151;border:1px solid rgba(0,0,0,.1)}.program-card-btn-cancel:hover:not(:disabled){background:#ffffffe6}.trip-goal-card{padding:14px 16px;border-radius:12px;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 2px 12px #0000000d,inset 0 1px #fff9;display:flex;flex-direction:column;gap:10px}.goal-header{display:flex;justify-content:space-between;align-items:flex-start}.goal-header-left{display:flex;flex-direction:column;gap:2px}.goal-destination{font-size:15px;font-weight:700;color:#0f172a}.goal-program{font-size:12px;color:#64748b;font-weight:500}.goal-delete{background:none;border:none;cursor:pointer;font-size:18px;color:#94a3b8;padding:0 4px;line-height:1;transition:color .15s ease}.goal-delete:hover{color:#ef4444}.goal-progress-bar{height:8px;background:#00000012;border-radius:4px;overflow:hidden}.goal-progress-fill{height:100%;background:linear-gradient(90deg,#d4a853,#e8c070);border-radius:4px;transition:width .6s ease;min-width:2px}.goal-progress-label{display:flex;justify-content:space-between;font-size:12px;color:#64748b;font-weight:500}.goal-pct{font-weight:700;color:#d4a853}.wallet-tab{display:flex;flex-direction:column;gap:24px;padding:4px 0}.wallet-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.wallet-title{font-size:18px;font-weight:700;color:#0f172a;margin:0}.wallet-total{font-size:15px;font-weight:600;color:#16a34a}.wallet-programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}@media(max-width:600px){.wallet-programs-grid{display:flex;overflow-x:auto;gap:10px;padding-bottom:4px;scrollbar-width:none}.wallet-programs-grid::-webkit-scrollbar{display:none}.wallet-programs-grid>*{flex:0 0 170px}}.wallet-skeleton-card{height:130px;border-radius:14px;background:linear-gradient(90deg,#0000000d 25%,#00000014,#0000000d 75%);background-size:200% 100%;animation:wallet-shimmer 1.4s infinite}@keyframes wallet-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wallet-goals-section{display:flex;flex-direction:column;gap:12px}.wallet-goals-header{display:flex;align-items:center}.wallet-goals-title{font-size:16px;font-weight:700;color:#0f172a;margin:0}.wallet-goals-list{display:flex;flex-direction:column;gap:10px}.wallet-add-goal-btn{padding:10px 16px;border-radius:10px;background:#d4a8531a;border:1.5px dashed rgba(212,168,83,.5);color:#d4a853;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease;text-align:center;width:100%}.wallet-add-goal-btn:hover{background:#d4a85326;border-color:#d4a853}.wallet-add-goal-form{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:14px;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 4px 24px #0000000f}.wallet-add-goal-form-title{font-size:14px;font-weight:700;color:#0f172a}.wallet-form-input{padding:9px 12px;border-radius:8px;border:1.5px solid rgba(15,23,42,.12);background:#fffc;font-size:13px;font-family:inherit;color:#0f172a;outline:none;transition:border-color .15s}.wallet-form-input:focus{border-color:#0f172a}.wallet-form-error{font-size:12px;color:#ef4444}.wallet-form-actions{display:flex;gap:8px}.wallet-form-btn-save,.wallet-form-btn-cancel{flex:1;padding:9px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .15s ease}.wallet-form-btn-save{background:#0f172a;color:#fff}.wallet-form-btn-save:hover:not(:disabled){background:#1e293b}.wallet-form-btn-save:disabled{opacity:.6;cursor:not-allowed}.wallet-form-btn-cancel{background:#fff9;color:#374151;border:1px solid rgba(0,0,0,.1)}.wallet-form-btn-cancel:hover{background:#ffffffe6}.wallet-tab-error{padding:16px;border-radius:10px;background:#ef44440f;border:1px solid rgba(239,68,68,.15);color:#dc2626;font-size:13px;text-align:center}.wallet-modal-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:wallet-overlay-in .2s ease-out}@keyframes wallet-overlay-in{0%{opacity:0}to{opacity:1}}.wallet-modal-container{width:100%;max-width:700px;max-height:90vh;margin:1rem;background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 24px 48px #0003,0 8px 16px #0000001a;overflow:hidden;display:flex;flex-direction:column;animation:wallet-modal-in .3s ease-out}@keyframes wallet-modal-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.wallet-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-color, #E5E5E5)}.wallet-modal-header h2{font-size:18px;font-weight:600;margin:0}.wallet-modal-close{width:32px;height:32px;border:none;background:var(--bg-secondary, #F5F5F5);border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #525252);transition:all .15s ease}.wallet-modal-close:hover{background:var(--color-gray-200, #E5E5E5);color:var(--text-primary, #171717)}.wallet-modal-content{padding:4px 24px 24px;overflow-y:auto;flex:1}.wallet-modal-content .points-header h2{display:none}.wallet-modal-tabs{display:flex;gap:2px;background:#0000000d;border-radius:8px;padding:3px}.wallet-modal-tab{padding:5px 14px;border-radius:6px;font-size:13px;font-weight:500;border:none;background:transparent;color:#64748b;cursor:pointer;font-family:inherit;transition:all .15s ease}.wallet-modal-tab.active{background:#fff;color:#0f172a;font-weight:600;box-shadow:0 1px 3px #00000014}.wallet-modal-tab:not(.active):hover{color:#0f172a}.wallet-modal-content .wallet-tab{padding-top:16px}.airline-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0}.airline-logo img{width:100%;height:100%;object-fit:contain;border-radius:6px}.airline-logo-fallback{width:100%;height:100%;background:var(--color-gray-100, #f5f5f5);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--color-gray-600, #525252);text-transform:uppercase}.flight-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-gray-200, #e5e5e5);border-radius:14px;overflow:hidden;transition:border-color .15s ease,box-shadow .2s ease;text-decoration:none;color:inherit}.flight-card:hover{border-color:var(--color-gray-300, #d4d4d4);box-shadow:0 4px 16px #0000000f}.flight-card.selected{border-color:var(--color-black, #1a1a1a);box-shadow:0 0 0 1px var(--color-black, #1a1a1a)}.flight-card-badges{display:flex;align-items:center;gap:6px;padding:8px 18px 0}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.5}.badge svg{flex-shrink:0}.badge-separator{opacity:.5;margin:0 1px}.badge-cheapest{background:var(--text-primary, #1a1a1a);border-color:var(--text-primary, #1a1a1a);color:#fff;font-weight:700}.badge-deal,.badge-best-value{background:var(--text-primary, #1a1a1a);color:#fff}.badge-fastest{background:#fff;color:var(--text-primary, #1a1a1a);border:1px solid var(--color-gray-200, #e5e5e5)}.badge-points{background:var(--color-gray-800, #262626);color:#fff}.flight-card-main{display:flex;align-items:center;padding:18px;gap:16px}.flight-card-logo{width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--color-gray-100, #f5f5f5);border:1px solid var(--color-gray-200, #e5e5e5)}.flight-card-logo img{width:100%;height:100%;object-fit:contain}.flight-card-logo-fallback{width:100%;height:100%;background:var(--color-gray-400, #a3a3a3);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:-.02em}.flight-card-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.flight-card-times{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text-primary, #1a1a1a);line-height:1.2;letter-spacing:-.01em}.flight-time{white-space:nowrap}.flight-time-connector{display:flex;align-items:center;gap:0;flex:0 0 auto;position:relative;height:2px;min-width:24px;max-width:56px;background:var(--color-gray-200, #e5e5e5);border-radius:1px}.flight-time-connector:after{content:"";position:absolute;right:-1px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-gray-400, #a3a3a3)}.flight-time-connector:before{content:"";position:absolute;left:-1px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-gray-400, #a3a3a3)}.connector-line,.connector-dot{display:none}.flight-card-route{font-size:12px;color:var(--text-tertiary, #a3a3a3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.flight-card-operator{font-size:11px;color:var(--text-tertiary, #a3a3a3);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flight-card-duration{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:100px;text-align:right}.duration-main{display:flex;flex-direction:column;align-items:flex-end;gap:0}.duration-time{font-size:13px;font-weight:600;color:var(--text-primary, #1a1a1a);line-height:1.3}.duration-stops{font-size:11px;color:var(--text-tertiary, #a3a3a3);margin-top:2px}.duration-stops:before{display:none}.duration-layover{font-size:11px;color:var(--text-tertiary, #a3a3a3);margin-top:2px}.flight-card-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-left:16px;border-left:1px solid var(--color-gray-100, #f5f5f5);min-width:80px;text-align:right}.price-scarcity{font-size:11px;font-weight:600;color:#dc2626;white-space:nowrap;margin-bottom:4px}.price-amount{font-size:22px;font-weight:800;color:var(--text-primary, #1a1a1a);line-height:1.1;letter-spacing:-.02em}.price-label{font-size:11px;color:var(--text-tertiary, #a3a3a3);white-space:nowrap;margin-top:3px}.price-label strong{color:var(--text-secondary, #525252)}.flight-card-amenities{display:flex;align-items:center;gap:12px;padding:0 18px 14px;margin-left:52px}.amenity{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary, #a3a3a3)}.amenity svg{width:14px;height:14px}.amenity.included{color:var(--text-secondary, #525252)}.amenity.not-included{color:var(--color-gray-300, #d4d4d4);text-decoration:line-through}.price-watch-bell{position:absolute;top:8px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;border:none;cursor:pointer;transition:all .15s ease;z-index:2}.price-watch-bell svg{width:16px;height:16px;color:var(--color-gray-400, #a3a3a3);transition:color .15s ease}.price-watch-bell:hover{background:var(--color-gray-100, #f5f5f5)}.price-watch-bell:hover svg{color:var(--text-primary, #1a1a1a)}.price-watch-bell.active{background:var(--text-primary, #1a1a1a)}.price-watch-bell.active svg{color:#fff}.price-watch-bell:after{content:"Watch price";position:absolute;top:100%;right:0;margin-top:4px;padding:3px 8px;background:#262626;color:#fff;font-size:11px;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.price-watch-bell:hover:after{opacity:1}.price-watch-bell.active:after{content:"Watching"}.flight-card.compact .flight-card-main{padding:14px 18px;gap:16px}@media(max-width:768px){.flight-card-main{flex-wrap:wrap;padding:14px;gap:12px}.flight-card-info{flex:1 1 auto;min-width:0}.flight-card-duration{min-width:auto}.flight-card-price{border-left:none;border-top:1px solid var(--color-gray-100, #f5f5f5);padding:8px 0 0;width:100%;flex-direction:row;gap:8px;align-items:center}.flight-card-amenities{margin-left:0}}.flight-search-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flight-search-modal{background:#fff;border-radius:16px;width:560px;max-width:95vw;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.flight-search-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.flight-search-header h2{font-size:18px;font-weight:600;margin:0;color:#1a1a1a}.flight-search-close{background:none;border:none;font-size:24px;color:#888;cursor:pointer;padding:4px 8px;line-height:1}.flight-search-close:hover{color:#333}.flight-search-form{padding:12px 24px 20px}.flight-search-row{display:flex;gap:12px;margin-bottom:12px;align-items:flex-end}.flight-search-field{flex:1;display:flex;flex-direction:column;gap:4px}.flight-search-field label{font-size:11px;font-weight:600;text-transform:uppercase;color:#888;letter-spacing:.5px}.flight-search-field input,.flight-search-field select{height:40px;padding:0 12px;font-size:14px;font-family:inherit;border:1px solid #ddd;border-radius:8px;background:#fafafa;color:#333;outline:none;transition:border-color .15s}.flight-search-field input:focus,.flight-search-field select:focus{border-color:#4a7c59;background:#fff}.flight-search-iata{text-transform:uppercase;font-weight:600;letter-spacing:1px;text-align:center;font-size:16px!important}.flight-search-small{max-width:90px}.flight-search-swap{padding-bottom:2px}.flight-search-swap button{width:36px;height:40px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:18px;cursor:pointer;color:#666;transition:all .15s}.flight-search-swap button:hover{background:#f0f0f0;color:#333}.flight-search-submit{width:100%;height:44px;margin-top:8px;font-size:14px;font-weight:600;color:#fff;background:#4a7c59;border:none;border-radius:10px;cursor:pointer;transition:background .15s}.flight-search-submit:hover:not(:disabled){background:#3d6a4c}.flight-search-submit:disabled{opacity:.6;cursor:not-allowed}.flight-search-error{margin:0 24px 16px;padding:10px 14px;font-size:13px;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.flight-search-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 24px;color:#888}.flight-search-loading p{margin:0;font-size:13px}.flight-search-spinner{width:28px;height:28px;border:3px solid #e5e7eb;border-top-color:#4a7c59;border-radius:50%;animation:fs-spin .8s linear infinite}@keyframes fs-spin{to{transform:rotate(360deg)}}.flight-search-results{border-top:1px solid #eee;padding:16px 24px 24px}.flight-search-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:13px;font-weight:600;color:#555}.flight-search-sources{font-weight:400;color:#999;font-size:12px}.flight-search-results-list{display:flex;flex-direction:column;gap:8px}.account-menu{position:relative;font-family:"Inter",var(--font-body)}.account-chip{display:flex;align-items:center;gap:var(--space-2_5);padding:6px 8px 6px 14px;border:1px solid var(--app-hair);border-radius:var(--radius-full);background:var(--app-bg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);appearance:none;-webkit-appearance:none;font-family:inherit;outline:none}.account-chip:hover{background:var(--app-accent-soft);border-color:var(--app-hair)}.account-chip:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.account-chip__name-block{display:flex;flex-direction:column;line-height:1.15;text-align:left}.account-chip__name{font:600 13px "Inter",var(--font-body);color:var(--app-ink)}.account-chip__tier{font:500 11px "Inter",var(--font-body);color:var(--app-accent)}.account-chip__avatar{width:32px;height:32px;border-radius:50%;background:var(--app-accent);color:#fff;display:flex;align-items:center;justify-content:center;font:600 14px "Inter",var(--font-body);flex-shrink:0}.account-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:#fff;border:1px solid var(--app-hair);border-radius:var(--radius-xl);box-shadow:0 18px 50px #1d1b162e;overflow:hidden;z-index:var(--z-dropdown);animation:dropdown-enter .18s cubic-bezier(.16,1,.3,1) both;transform-origin:top right}@keyframes dropdown-enter{0%{opacity:0;transform:scale(.94) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.account-dropdown__header{padding:16px 18px;border-bottom:1px solid var(--app-hair);display:flex;justify-content:space-between;align-items:flex-start}.account-dropdown__greeting{font:600 15px "Inter",var(--font-body);color:var(--app-ink)}.account-dropdown__email{font:400 12px "Inter",var(--font-body);color:var(--app-faint);margin-top:2px}.account-dropdown__tier-pill{font:600 10px "Inter",var(--font-body);letter-spacing:.05em;color:var(--app-accent);background:var(--app-accent-soft);padding:4px 9px;border-radius:var(--radius-full);white-space:nowrap;margin-left:var(--space-2);flex-shrink:0;margin-top:1px}.account-dropdown__value{padding:16px 18px;border-bottom:1px solid var(--app-hair)}.account-dropdown__value-big{font:600 26px/1 "Cormorant Garamond",var(--font-display);color:var(--app-ink)}.account-dropdown__value-label{font:400 12px "Inter",var(--font-body);color:var(--app-muted);margin-top:3px}.account-dropdown__progress-bar{height:6px;border-radius:99px;background:var(--app-hair);margin:12px 0 7px;overflow:hidden}.account-dropdown__progress-fill{display:block;height:100%;background:var(--app-accent);border-radius:99px;transition:width .6s cubic-bezier(.4,0,.2,1)}.account-dropdown__progress-text{font:400 11px "Inter",var(--font-body);color:var(--app-faint)}.account-dropdown__progress-text b{font-weight:600;color:var(--app-ink)}.account-dropdown__activity-link{font:500 12px "Inter",var(--font-body);color:var(--app-accent);margin-top:10px;display:inline-block;text-decoration:none;cursor:pointer;transition:opacity var(--transition-fast);background:none;border:none;padding:0;font-family:inherit}.account-dropdown__activity-link:hover{opacity:.75}.account-dropdown__menu{padding:8px}.account-dropdown__item{display:block;width:100%;padding:10px 12px;border-radius:9px;font:500 13.5px "Inter",var(--font-body);color:var(--app-ink);text-align:left;cursor:pointer;background:none;border:none;font-family:inherit;transition:background var(--transition-fast)}.account-dropdown__item:hover{background:var(--app-accent-soft)}.account-dropdown__item:focus-visible{outline:2px solid var(--app-accent);outline-offset:-2px;border-radius:9px}.account-dropdown__separator{height:1px;background:var(--app-hair);margin:6px 4px}.account-dropdown__signout{color:var(--app-muted)}.account-dropdown__no-wallet{display:flex;flex-direction:column;gap:10px}.account-dropdown__no-wallet-text{font:400 13px "Inter",var(--font-body);color:var(--app-muted);line-height:1.45}.dh-bar{--dh-bone: var(--bone, #f6f3ec);--dh-card: var(--card, #fffdf8);--dh-ink: var(--ink, #1d1b16);--dh-ink-soft: var(--ink-soft, #6b665c);--dh-hair: var(--hair, #e3ddd0);--dh-mint: var(--mint, #2f6f5e);--dh-mint-soft: var(--mint-soft, #dcebe4);--dh-radius: var(--radius, 14px)}.dh-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4, 1rem);padding:0;background:transparent}.dh-left{display:none}.dh-right{display:flex;align-items:center;gap:var(--space-3, .75rem);flex-shrink:0}.dh-account-chip{display:flex;align-items:center;gap:10px}.dh-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--dh-mint);color:#fff;font-family:var(--font-body, system-ui, sans-serif);font-size:12px;font-weight:600;letter-spacing:0;line-height:1;flex-shrink:0;box-shadow:0 0 0 1.5px #0e83ad2e;-webkit-user-select:none;user-select:none}.dh-email{font-family:var(--font-body, system-ui, sans-serif);font-size:var(--text-xs, .75rem);color:var(--dh-ink-soft);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.dh-switch-btn{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--dh-hair);border-radius:20px;padding:4px 12px;margin:0;cursor:pointer;flex-shrink:0;font-family:var(--font-body, system-ui, sans-serif);font-size:var(--text-xs, .75rem);font-weight:500;letter-spacing:.01em;color:var(--dh-ink-soft);line-height:1.4;transition:color .12s ease,border-color .12s ease,background .12s ease;outline-offset:2px}.dh-switch-btn:hover:not(:disabled){color:var(--dh-ink);border-color:var(--dh-ink-soft);background:var(--dh-mint-soft)}.dh-switch-btn:focus-visible{outline:2px solid var(--dh-mint);outline-offset:2px}.dh-switch-btn:disabled{opacity:.45;cursor:not-allowed}.dh-signin-btn{appearance:none;-webkit-appearance:none;background:var(--dh-mint);color:#fff;border:none;border-radius:20px;padding:7px 20px;margin:0;cursor:pointer;flex-shrink:0;font-family:var(--font-body, system-ui, sans-serif);font-size:var(--text-sm, .875rem);font-weight:600;letter-spacing:.01em;line-height:1.4;transition:opacity .12s ease,background .12s ease,box-shadow .12s ease;box-shadow:0 1px 4px #0e83ad38;outline-offset:2px}.dh-signin-btn:hover{background:#0a5e7c;box-shadow:0 2px 8px #0e83ad47}.dh-signin-btn:active{background:#06384a;box-shadow:none}.dh-signin-btn:focus-visible{outline:2px solid var(--dh-mint);outline-offset:3px}@media(max-width:860px){.dh-bar{padding:8px var(--space-4, 1rem)}.dh-email{display:none}}@media(max-width:480px){.dh-switch-btn,.dh-signin-btn{font-size:var(--text-xs, .75rem);padding:4px 10px}}.nc{display:inline-flex}.nc-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--ink, #1d1b16);cursor:pointer;transition:background .12s ease,border-color .12s ease}.nc-bell:hover,.nc-bell--active{background:var(--bone, #f6f3ec);border-color:var(--hair, #e3ddd0)}.nc-bell:focus{outline:none}.nc-bell:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:2px}.nc-indicator{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:#d9483b;border:2px solid var(--bone, #f6f3ec)}.nc-panel{position:fixed;top:70px;right:14px;width:384px;max-width:calc(100vw - 24px);background:var(--card, #fffdf8);border:1px solid var(--hair, #e3ddd0);border-radius:18px;box-shadow:0 6px 16px #1e190f14,0 24px 48px #1e190f24;padding:8px;z-index:60;animation:nc-pop .14s ease}@keyframes nc-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.nc-head{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 12px 12px}.nc-head h3{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:18px;color:var(--ink, #1d1b16)}.nc-head-actions{position:relative;display:inline-flex}.nc-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--ink-soft, #6b665c);cursor:pointer;transition:background .12s ease,color .12s ease}.nc-icon-btn:hover{background:var(--bone, #f6f3ec);color:var(--ink, #1d1b16);border-color:transparent}.nc-icon-btn:focus{outline:none}.nc-icon-btn:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:2px}.nc-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:168px;background:var(--card, #fffdf8);border:1px solid var(--hair, #e3ddd0);border-radius:12px;box-shadow:0 6px 20px #1e190f1f;padding:4px;z-index:1}.nc-menu-item{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500;color:var(--ink, #1d1b16);cursor:pointer;transition:background .12s ease}.nc-menu-item:hover:not(:disabled){background:var(--bone, #f6f3ec);border-color:transparent}.nc-menu-item:focus{outline:none}.nc-menu-item:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:-2px}.nc-menu-item:disabled{color:var(--ink-soft, #6b665c);opacity:.5;cursor:default}.nc-list{display:flex;flex-direction:column;gap:2px;max-height:64vh;overflow-y:auto;scrollbar-width:none}.nc-list::-webkit-scrollbar{display:none}.nc-item{position:relative;display:flex;align-items:flex-start;gap:12px;border-radius:12px;padding:12px 36px 12px 12px;transition:background .12s ease}.nc-item:hover{background:var(--bone, #f6f3ec)}.nc-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--mint, #2f6f5e)}.nc-dot--hold{background:#b4791f}.nc-dot--drop{background:var(--mint, #2f6f5e)}.nc-dot--found{background:#5fa8c9}.nc-item:not(.nc-item--unread) .nc-dot{opacity:.3}.nc-item-body{display:flex;flex-direction:column;gap:2px}.nc-item-title{font-size:14px;font-weight:600;color:var(--ink, #1d1b16)}.nc-item-sub{font-size:13px;color:var(--ink-soft, #6b665c);line-height:1.4}.nc-dismiss{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:1px solid transparent;border-radius:7px;color:var(--ink-soft, #6b665c);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease}.nc-item:hover .nc-dismiss,.nc-dismiss:focus-visible{opacity:1}.nc-dismiss:hover{background:var(--hair, #e3ddd0);border-color:transparent}.nc-dismiss:focus{outline:none}.nc-dismiss:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:1px}.nc-empty{text-align:center;padding:30px 26px 34px}.nc-empty-glyph{display:inline-flex;color:var(--mint, #2f6f5e);margin-bottom:10px}.nc-empty-title{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--ink, #1d1b16)}.nc-empty-sub{margin:0;font-size:13px;color:var(--ink-soft, #6b665c);line-height:1.4}.cal{background:var(--bone, #f6f3ec);border:1px solid var(--hair, #e3ddd0);border-radius:18px;padding:22px 24px}.cal-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:14px}.cal-head h2{margin:0;font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:20px;color:var(--ink, #1d1b16)}.cal-nav{display:flex;gap:4px}.cal-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--ink-soft, #6b665c);cursor:pointer;transition:background .12s ease,color .12s ease}.cal-arrow:hover{background:var(--bone-2, #efeae0);color:var(--ink, #1d1b16);border-color:transparent}.cal-arrow:focus{outline:none}.cal-arrow:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:2px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-dow{margin-bottom:6px}.cal-dow-cell{text-align:center;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--ink-soft, #6b665c)}.cal-weeks{display:flex;flex-direction:column;gap:4px}.cal-cell{height:33px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink, #1d1b16)}.cal-cell--empty{color:transparent}.cal-cell--trip{background:var(--mint, #2f6f5e);color:#fff;font-weight:600}.cal-cell--start{border-top-left-radius:999px;border-bottom-left-radius:999px}.cal-cell--end{border-top-right-radius:999px;border-bottom-right-radius:999px}.cal-legend{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--ink-soft, #6b665c)}.cal-legend-dot{width:8px;height:8px;border-radius:50%;background:var(--mint, #2f6f5e)}.da-strip{display:flex;flex-direction:column;gap:0;background:var(--card, #fffdf8);border:1px solid var(--hair, #e3ddd0);border-radius:var(--radius, 14px);overflow:hidden}.da-row-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.da-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:0 12px;padding:11px 16px 11px 14px;border-bottom:1px solid var(--hair, #e3ddd0);background:var(--card, #fffdf8);min-height:48px;animation:daRowIn .28s calc(var(--i, 0) * 50ms) cubic-bezier(0,0,.2,1) both}.da-row:last-child{border-bottom:none}@keyframes daRowIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.da-row.is-new{animation:daRowIn .28s cubic-bezier(0,0,.2,1) both,daNewPulse 1.2s .28s ease-out both}@keyframes daNewPulse{0%{background-color:var(--mint-soft, #dcebe4)}to{background-color:var(--card, #fffdf8)}}.da-row-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:1px}.da-row-dot--amber{background:#b45309}.da-row-dot--mint{background:var(--mint, #2f6f5e)}.da-row-dot--ink-soft{background:var(--ink-soft, #6b665c);opacity:.55}.da-row-body{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;min-width:0}.da-row-title{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-size:.8125rem;font-weight:500;line-height:1.35;color:var(--ink, #1d1b16);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.da-row-detail{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-size:.6875rem;font-weight:400;color:var(--ink-soft, #6b665c);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.da-row-countdown{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:500;letter-spacing:.01em;line-height:1.35;white-space:nowrap}.da-row-countdown--amber{color:#b45309;background:#fbeeda;padding:1px 5px;border-radius:4px}.da-row-countdown--mint{color:var(--mint, #2f6f5e)}.da-row-countdown--ink-soft{color:var(--ink-soft, #6b665c)}.da-row-when{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-variant-numeric:tabular-nums;font-size:.6875rem;color:var(--ink-soft, #6b665c);opacity:.7;white-space:nowrap}.da-row-cta{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-size:.6875rem;font-weight:500;letter-spacing:.02em;color:var(--mint, #2f6f5e);text-decoration:none;white-space:nowrap;flex-shrink:0;padding:3px 0;border-bottom:1px solid transparent;transition:border-color .14s ease,opacity .14s ease;line-height:1.35}.da-row-cta:hover{border-bottom-color:var(--mint, #2f6f5e);opacity:.8;color:var(--mint, #2f6f5e)}.da-loading{padding:0}.da-skeleton-row{height:48px;background:linear-gradient(90deg,var(--bone, #f6f3ec) 25%,var(--bone-2, #efeae0) 50%,var(--bone, #f6f3ec) 75%);background-size:200% 100%;animation:daShimmer 1.5s infinite linear}@keyframes daShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.da-empty-row{display:flex;align-items:center;padding:11px 16px;min-height:48px;background:var(--card, #fffdf8)}.da-empty-text{font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-size:.8125rem;font-weight:400;color:var(--ink-soft, #6b665c);line-height:1.35}.da-error-banner{display:flex;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--hair, #e3ddd0);background:var(--bone, #f6f3ec);font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);font-size:.6875rem;color:var(--ink-soft, #6b665c)}.da-error-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-soft, #6b665c);opacity:.5;flex-shrink:0}.dw-watch{display:flex;flex-direction:column;gap:0}.dw-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-5)}.dw-header-title{font-family:var(--font-display);font-size:clamp(var(--text-xl),2.5vw,var(--text-2xl));font-weight:var(--font-light);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--ink, #1d1b16);margin:0}.dw-header-count{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--ink-soft, #6b665c);opacity:.65}.dw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.dw-card{display:grid;grid-template-columns:3px 1fr auto;gap:0 var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--hair, #e3ddd0);background:transparent;animation:dwCardSlideIn .3s calc(var(--i, 0) * 50ms) var(--ease-out, cubic-bezier(0,0,.2,1)) both}@keyframes dwCardSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dw-card.is-new{animation:dwCardSlideIn .3s var(--ease-out, cubic-bezier(0,0,.2,1)) both,dwNewHighlight 1.6s .3s ease-out both}@keyframes dwNewHighlight{0%{background-color:var(--mint-soft, #dcebe4)}to{background-color:transparent}}.dw-card-accent{width:3px;align-self:stretch;border-radius:var(--radius-full, 9999px);background:var(--mint, #2f6f5e);flex-shrink:0;animation:dwAccentPulse 3s ease-in-out infinite}@keyframes dwAccentPulse{0%,to{opacity:1}50%{opacity:.4}}.dw-card-body{min-width:0}.dw-card-route{display:flex;align-items:baseline;gap:var(--space-1_5);margin:0 0 var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dw-card-origin,.dw-card-destination{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--font-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-wide);line-height:var(--leading-tight);color:var(--ink, #1d1b16)}.dw-card-arrow{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-soft, #6b665c);flex-shrink:0;opacity:.5}.dw-card-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.dw-card-cabin{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft, #6b665c);letter-spacing:var(--tracking-wide)}.dw-card-points{font-family:var(--font-body);font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-soft, #6b665c);text-transform:uppercase;letter-spacing:var(--tracking-wider);opacity:.7}.dw-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1_5);flex-shrink:0}.dw-card-status{display:flex;align-items:center;gap:5px;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:var(--space-0_5) var(--space-2);border-radius:var(--radius-full, 9999px);border:1px solid var(--mint, #2f6f5e);color:var(--mint, #2f6f5e);background:transparent;white-space:nowrap}.dw-card-pulse{width:5px;height:5px;border-radius:var(--radius-full, 9999px);background:var(--mint, #2f6f5e);flex-shrink:0;animation:dwPulseBlink 3s ease-in-out infinite}@keyframes dwPulseBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}.dw-card-cta{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft, #6b665c);text-decoration:none;letter-spacing:var(--tracking-wide);white-space:nowrap;opacity:.6;transition:opacity .15s ease,color .15s ease}.dw-card-cta:hover,.dw-card-cta:focus-visible{opacity:1;color:var(--mint, #2f6f5e);outline:none}.dw-card-cta:focus-visible{outline:2px solid var(--mint, #2f6f5e);outline-offset:2px;border-radius:2px}.dw-loading{display:flex;flex-direction:column;gap:0}.dw-skeleton-row{display:grid;grid-template-columns:3px 1fr auto;gap:0 var(--space-4);align-items:center;padding:var(--space-4) 0;border-bottom:1px solid var(--hair, #e3ddd0);animation:dwSkFadeIn .4s calc(var(--i, 0) * 80ms) ease both}@keyframes dwSkFadeIn{0%{opacity:0}to{opacity:1}}.dw-sk-stripe{width:3px;align-self:stretch;border-radius:var(--radius-full, 9999px);background:var(--hair, #e3ddd0)}.dw-sk-body{display:flex;flex-direction:column;gap:var(--space-1_5)}.dw-sk-route{display:block;height:14px;width:min(160px,55%);border-radius:var(--radius-sm, 4px);background:linear-gradient(90deg,var(--bone-2, #efeae0) 25%,var(--bone, #f6f3ec) 50%,var(--bone-2, #efeae0) 75%);background-size:200% 100%;animation:dwShimmer 1.6s infinite linear}.dw-sk-meta{display:block;height:10px;width:min(100px,35%);border-radius:var(--radius-sm, 4px);background:linear-gradient(90deg,var(--bone-2, #efeae0) 25%,var(--bone, #f6f3ec) 50%,var(--bone-2, #efeae0) 75%);background-size:200% 100%;animation:dwShimmer 1.6s .2s infinite linear}.dw-sk-pill{display:block;height:20px;width:64px;border-radius:var(--radius-full, 9999px);background:linear-gradient(90deg,var(--bone-2, #efeae0) 25%,var(--bone, #f6f3ec) 50%,var(--bone-2, #efeae0) 75%);background-size:200% 100%;animation:dwShimmer 1.6s .1s infinite linear}@keyframes dwShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dw-empty-hint{margin:0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-soft, #6b665c);text-align:left}.dw-error-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--hair, #e3ddd0);border-radius:var(--radius, 14px);background:var(--bone, #f6f3ec);font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-soft, #6b665c)}.dw-error-dot{width:5px;height:5px;border-radius:var(--radius-full, 9999px);background:var(--ink-soft, #6b665c);flex-shrink:0;opacity:.5}@media(prefers-reduced-motion:reduce){.dw-card,.dw-card.is-new,.dw-card-accent,.dw-card-pulse,.dw-skeleton-row,.dw-sk-route,.dw-sk-meta,.dw-sk-pill{animation:none}}.discovery-chips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.discovery-chip{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-primary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast);animation:chipFadeUp .35s var(--ease-out) both}.discovery-chip:nth-child(1){animation-delay:.28s}.discovery-chip:nth-child(2){animation-delay:.36s}.discovery-chip:nth-child(3){animation-delay:.44s}.discovery-chip:nth-child(4){animation-delay:.52s}@keyframes chipFadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.discovery-chip:hover{border-color:var(--border-color-dark);box-shadow:var(--shadow-card-hover);transform:translateY(-1px);background-color:var(--bg-primary)}.discovery-chip:active{transform:translateY(0);box-shadow:var(--shadow-card)}.discovery-chip:focus-visible{outline:var(--line-thick) solid var(--brand-primary);outline-offset:2px;border-color:transparent}.discovery-chip-text{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-snug);color:var(--text-primary);white-space:normal;word-break:break-word}.discovery-chip-hint{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--font-regular);letter-spacing:var(--tracking-wide);color:var(--text-tertiary);white-space:nowrap;transition:color var(--transition-fast)}.discovery-chip:hover .discovery-chip-hint{color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.discovery-chip{animation:none}.discovery-chip:hover{transform:none}}.dashboard-empty{display:flex;flex-direction:column;max-width:560px}.dashboard-empty-headline{font-family:var(--font-display);font-size:clamp(var(--text-2xl),3vw,var(--text-3xl));font-weight:var(--font-light);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0 0 var(--space-3)}.dashboard-empty-body{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-tertiary);margin:0 0 var(--space-8);max-width:440px}.dashboard-empty-chips-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-tertiary);margin:0 0 var(--space-3)}.des{display:flex;flex-direction:column;max-width:520px}.des--new{padding-top:var(--space-2)}.des-hero{font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);font-size:clamp(1.625rem,3.5vw,2.25rem);font-weight:300;letter-spacing:-.02em;line-height:1.2;color:var(--ink, #1d1b16);margin:0 0 var(--space-4, 1rem)}.des-sub{font-family:var(--font-body, system-ui, sans-serif);font-size:.9rem;line-height:1.65;color:var(--ink-soft, #6b665c);margin:0 0 var(--space-8, 2rem);max-width:420px}.des-cta-primary{display:inline-flex;align-items:center;align-self:flex-start;padding:.625rem 1.375rem;background:var(--mint, #2f6f5e);color:#fff;font-family:var(--font-body, system-ui, sans-serif);font-size:.875rem;font-weight:500;letter-spacing:.01em;text-decoration:none;border-radius:999px;border:none;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .1s ease;margin-bottom:var(--space-10, 2.5rem)}.des-cta-primary:hover{background:#265e4f;box-shadow:0 4px 16px #2f6f5e38;transform:translateY(-1px)}.des-cta-primary:active{transform:translateY(0);box-shadow:none}.des-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;list-style:none;margin:0 0 var(--space-10, 2.5rem);padding:0;gap:0}.des-step{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}.des-step-divider-cell{display:flex;align-items:center;justify-content:center;padding:0 var(--space-4, 1rem)}.des-step-divider{display:block;width:1px;height:2rem;background:var(--hair, #e3ddd0)}.des-step-num{font-family:var(--font-body, system-ui, sans-serif);font-size:.625rem;font-weight:600;letter-spacing:.08em;color:var(--mint, #2f6f5e);line-height:1;display:block}.des-step-label{font-family:var(--font-body, system-ui, sans-serif);font-size:.775rem;color:var(--ink-soft, #6b665c);line-height:1.35}.des--mismatch{padding:var(--space-6, 1.5rem) var(--space-6, 1.5rem);background:var(--bone-2, #efeae0);border:1px solid var(--hair, #e3ddd0);border-radius:var(--radius, 14px);max-width:440px}.des-mismatch-heading{font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);font-size:clamp(1.25rem,2.5vw,1.625rem);font-weight:400;letter-spacing:-.01em;line-height:1.25;color:var(--ink, #1d1b16);margin:0 0 var(--space-3, .75rem)}.des-mismatch-sub{font-family:var(--font-body, system-ui, sans-serif);font-size:.875rem;line-height:1.6;color:var(--ink-soft, #6b665c);margin:0 0 var(--space-6, 1.5rem)}.des-mismatch-email{font-weight:600;color:var(--ink, #1d1b16)}.des-switch-btn{display:inline-flex;align-items:center;align-self:flex-start;padding:.5rem 1.125rem;background:transparent;border:1.5px solid var(--mint, #2f6f5e);color:var(--mint, #2f6f5e);border-radius:999px;font-family:var(--font-body, system-ui, sans-serif);font-size:.8125rem;font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.des-switch-btn:hover{background:var(--mint-soft, #dcebe4);box-shadow:0 2px 8px #2f6f5e24}.des-switch-btn:active{background:var(--mint-soft, #dcebe4);box-shadow:none}@media(max-width:480px){.des-steps{grid-template-columns:1fr;gap:var(--space-3, .75rem)}.des-step-divider-cell{display:none}}.ch-root{--ch-bone: var(--bone, #f6f3ec);--ch-bone-2: var(--bone-2, #efeae0);--ch-card-bg: var(--card, #fffdf8);--ch-ink: var(--ink, #1d1b16);--ch-ink-soft: var(--ink-soft, #6b665c);--ch-hair: var(--hair, #e3ddd0);--ch-mint: var(--mint, #2f6f5e);--ch-mint-raw: #0e83ad;--ch-mint-soft: var(--mint-soft, #dcebe4);--ch-radius: 20px;--ch-ash: #c8c3b6;padding:28px 0 8px}.ch-header{margin-bottom:24px}.ch-title{font-family:var(--font-display, Georgia, serif);font-weight:400;font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em;color:var(--ch-ink);margin:0 0 8px}.ch-subtitle{font-size:14px;color:var(--ch-ink-soft);line-height:1.55;margin:0 0 6px;max-width:600px}.ch-reassurance{font-size:12px;color:var(--ch-ash);margin:0;letter-spacing:.01em}.ch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.ch-grid>:nth-child(5){grid-column:1 / -1;max-width:440px}@media(max-width:640px){.ch-grid{grid-template-columns:1fr}.ch-grid>:nth-child(5){grid-column:1;max-width:100%}}.ch-card{background:var(--ch-card-bg);border:1px solid var(--ch-hair);border-radius:var(--ch-radius);padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .18s ease,border-color .18s ease;position:relative}.ch-card:hover:not(.ch-card--disabled){box-shadow:0 4px 18px #0000000f;border-color:var(--ch-mint)}.ch-card--accent{border-left:3px solid var(--ch-mint)}.ch-card--accent:hover{border-color:var(--ch-mint);box-shadow:0 4px 22px #0e83ad1f}.ch-card--disabled{opacity:.62;cursor:default}.ch-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ch-logo-wrap{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ch-bone-2);border-radius:14px;color:var(--ch-ink)}.ch-logo{width:28px;height:28px}.ch-card--accent .ch-logo-wrap{background:var(--ch-mint-soft);color:var(--ch-mint)}.ch-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;margin-top:2px}.ch-pill--live{background:var(--ch-mint-soft);color:var(--ch-mint)}.ch-pill--connected{background:#d4ebf3;color:#0a5e7c}.ch-pill--neutral{background:var(--ch-bone-2);color:var(--ch-ink-soft)}.ch-pill--soon{background:var(--ch-bone-2);color:var(--ch-ash)}.ch-card-name{font-family:var(--font-display, Georgia, serif);font-size:16px;font-weight:500;letter-spacing:-.01em;color:var(--ch-ink);margin:0;line-height:1.2}.ch-card-tagline{font-size:13px;color:var(--ch-ink-soft);line-height:1.5;margin:0;flex:1}.ch-card-action{margin-top:4px;align-self:flex-start;padding:7px 16px;border-radius:11px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--ch-hair);background:var(--ch-bone-2);color:var(--ch-ink);transition:background .15s ease,border-color .15s ease,opacity .15s ease;line-height:1}.ch-card-action:hover:not(:disabled){background:var(--ch-hair);border-color:var(--ch-ink-soft)}.ch-card-action--accent{background:var(--ch-ink);color:var(--ch-card-bg);border-color:var(--ch-ink)}.ch-card-action--accent:hover:not(:disabled){background:var(--ch-mint);border-color:var(--ch-mint);color:var(--ch-ink)}.ch-card-action:disabled{cursor:not-allowed;opacity:.45}.ch-foot-note{margin-top:16px;font-size:12px;color:var(--ch-ash);text-align:left}.hold-countdown{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:500;font-variant-numeric:tabular-nums;font-family:var(--font-receipt-amounts, monospace);color:var(--receipt-hold-ink, #9a6212);padding:3px 9px;border-radius:9999px;background:var(--receipt-hold-bg, #fbf0e0);border:1px solid rgba(154,98,18,.18);white-space:nowrap}.hold-countdown.urgent{color:#b45309;background:#fbeeda;border-color:#b4530940;font-weight:600;animation:countdown-pulse 2s ease-in-out infinite}@keyframes countdown-pulse{0%,to{opacity:1}50%{opacity:.7}}.receipt-header--vm{padding:22px 24px 18px;position:relative}.receipt-header__eyebrow{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.receipt-header__eyebrow-right{position:absolute;top:22px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.receipt-header__wordmark{font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--receipt-clay)}.receipt-header__pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:5px 10px;border-radius:9999px;text-transform:uppercase}.receipt-header__pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:currentColor}.receipt-header__pill--hold{background:var(--receipt-hold-bg);color:var(--receipt-hold-ink)}.receipt-header__pill--booked{background:var(--receipt-badge-book-bg);color:var(--receipt-badge-book-ink)}.receipt-header__pill--link{background:var(--receipt-badge-link-bg);color:var(--receipt-badge-link-ink)}.receipt-header__pill--failed{background:var(--receipt-icon-bg);color:var(--receipt-faint)}.receipt-header__pill--muted{background:var(--receipt-icon-bg);color:var(--receipt-muted)}.receipt-header__route{display:flex;align-items:center;gap:11px;margin-bottom:8px}.receipt-header__plane{color:var(--receipt-clay);flex-shrink:0}.receipt-header__title{font-weight:600;font-size:27px;letter-spacing:.01em;line-height:1.05;color:var(--receipt-ink);margin:0}.receipt-header__meta{font-size:14.5px;color:var(--receipt-muted);line-height:1.4}.receipt-header__meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.receipt-header__meta-left{display:flex;flex-direction:column}.receipt-header__who{margin-top:3px;color:var(--receipt-ink);font-weight:500}.receipt-header__invoice-id{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-top:1px}.receipt-header__invoice-label{font-size:11px;font-weight:500;color:var(--receipt-faint);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.receipt-header__invoice-code{font-family:var(--font-receipt-amounts);font-size:13px;font-weight:600;color:var(--receipt-ink);letter-spacing:.02em;white-space:nowrap}.receipt-header__copy-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;cursor:pointer;color:var(--receipt-faint);border-radius:3px;padding:0;transition:color .15s ease,background .15s ease;flex-shrink:0}.receipt-header__copy-btn:hover{color:var(--receipt-muted);background:var(--receipt-icon-bg)}.receipt-header__copy-btn--done{color:var(--receipt-badge-book-ink)}.receipt-header--legacy{display:flex;margin-top:16px;border:1px solid var(--receipt-hairline);border-radius:11px;overflow:hidden;background:var(--receipt-paper)}.receipt-header__cell{flex:1;padding:11px 12px;text-align:center}.receipt-header__cell+.receipt-header__cell{border-left:1px solid var(--receipt-hairline)}.receipt-header__k{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--receipt-muted);margin:0 0 3px}.receipt-header__v{font-size:15px;font-weight:700;margin:0;color:var(--receipt-ink);font-family:var(--font-receipt-amounts)}.receipt-header__v--save{color:var(--receipt-clay)}.timeline-item{display:flex;gap:12px;align-items:flex-start;padding:10px 0}.timeline-item__icon{width:30px;height:30px;border-radius:9px;background:var(--receipt-icon-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--receipt-icon-color);overflow:hidden;position:relative}.timeline-item__icon svg{width:16px;height:16px}.timeline-item__icon--emoji{font-size:15px}.timeline-item__icon--logo{background:var(--receipt-card, #fff);border:1px solid var(--receipt-hairline);border-radius:8px;padding:2px}.timeline-item__icon--photo{background:var(--receipt-icon-bg);border-radius:9px;padding:0}.timeline-item__logo-img{width:100%;height:100%;object-fit:contain;display:block;border-radius:6px}.timeline-item__icon--photo .timeline-item__logo-img{object-fit:cover;border-radius:9px}.timeline-item__icon-fallback{width:16px;height:16px;align-items:center;justify-content:center;color:var(--receipt-icon-color)}.timeline-item__icon-fallback svg{width:16px;height:16px}.timeline-item__body{flex:1;min-width:0}.timeline-item__title{font-size:15px;font-weight:600;margin:0 0 2px;color:var(--receipt-ink)}.timeline-item__sub{font-size:12.5px;color:var(--receipt-muted);margin:0}.timeline-item__detail{font-size:11.5px;color:var(--receipt-faint);margin:3px 0 0;line-height:1.35}.timeline-item__confirmation{display:flex;align-items:center;gap:5px;margin-top:4px;padding-left:0}.timeline-item__conf-label{font-size:11px;color:var(--receipt-faint);font-weight:500;white-space:nowrap}.timeline-item__conf-label:after{content:" ·";color:var(--receipt-faint)}.timeline-item__conf-code{font-family:var(--font-receipt-amounts);font-size:13px;font-weight:700;color:var(--receipt-ink);letter-spacing:.03em}.timeline-item__confirmation--pending .timeline-item__conf-label{color:var(--receipt-hold-ink)}.timeline-item__confirmation--pending .timeline-item__conf-label:after{content:""}.timeline-item__confirmation--pending .timeline-item__conf-code{color:var(--receipt-hold-ink);opacity:.7}.timeline-item__copy-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:none;cursor:pointer;color:var(--receipt-faint);border-radius:3px;padding:0;transition:color .15s ease,background .15s ease;flex-shrink:0}.timeline-item__copy-btn:hover{color:var(--receipt-muted);background:var(--receipt-icon-bg)}.timeline-item__copy-btn--done{color:var(--receipt-badge-book-ink)}.timeline-item__cancel{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:9999px;margin-top:4px;white-space:nowrap}.timeline-item__cancel--free{background:var(--receipt-badge-book-bg, #dcebe0);color:var(--receipt-badge-book-ink, #2d6a4f)}.timeline-item__cancel--partial{background:var(--receipt-hold-bg, #fbf0e0);color:var(--receipt-hold-ink, #9a6212)}.timeline-item__cancel--non-refundable{background:#fde8e8;color:#9b1c1c}.timeline-item__right{margin-left:auto;text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.timeline-item__cost--pts{font-family:var(--font-receipt-amounts);font-size:13.5px;font-weight:600;color:var(--receipt-clay)}.timeline-item__cost--cash{font-family:var(--font-receipt-amounts);font-size:13.5px;font-weight:600;color:var(--receipt-ink)}.timeline-item__cost-tax{display:block;font-family:var(--font-receipt-amounts);font-size:11.5px;color:var(--receipt-faint);margin-top:2px}.timeline-item__cost-tax-amount{font-weight:600;color:var(--receipt-ink)}.timeline-item__cost-venue{font-size:11px;font-weight:600;color:var(--receipt-faint);text-transform:uppercase;letter-spacing:.04em;background:var(--receipt-icon-bg);padding:4px 8px;border-radius:9999px;white-space:nowrap}.timeline-item__cost{display:inline-block}.timeline-item__badge{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:9999px;white-space:nowrap}.timeline-item__badge--book,.timeline-item__badge--booked{background:var(--receipt-badge-book-bg);color:var(--receipt-badge-book-ink)}.timeline-item__badge--hold{background:var(--receipt-badge-hold-bg);color:var(--receipt-badge-hold-ink)}.timeline-item__badge--link{background:var(--receipt-badge-link-bg);color:var(--receipt-badge-link-ink)}.timeline-item__badge--muted{background:var(--receipt-badge-muted-bg);color:var(--receipt-badge-muted-ink)}.timeline-item__recommend{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:5px}.timeline-item__recommend-pts{font-family:var(--font-receipt-amounts);font-size:13.5px;font-weight:700;color:var(--receipt-badge-book-ink, #2d6a4f);white-space:nowrap}.timeline-item__recommend-cash{font-family:var(--font-receipt-amounts);font-size:12px;color:var(--receipt-muted);white-space:nowrap}.timeline-item__recommend-link{font-size:12px;color:var(--receipt-clay, #6b4c3b);text-decoration:none;white-space:nowrap;transition:opacity .12s ease}.timeline-item__recommend-link:hover{opacity:.75;text-decoration:underline}.trip-timeline__perf{position:relative;height:0;border-top:1.5px dashed var(--receipt-hairline);margin:4px 0}.trip-timeline__perf:before,.trip-timeline__perf:after{content:"";position:absolute;top:-11px;width:22px;height:22px;background:var(--receipt-paper);border-radius:50%}.trip-timeline__perf:before{left:-12px}.trip-timeline__perf:after{right:-12px}.trip-timeline{padding:6px 24px 8px}.trip-timeline__empty{padding:18px 0;color:var(--receipt-muted);font-size:13.5px;margin:0}.trip-timeline__day-group{margin-bottom:4px}.trip-timeline__day-head{display:flex;align-items:center;gap:10px;margin:16px 0 4px}.trip-timeline__day-num{font-weight:700;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--receipt-clay);white-space:nowrap}.trip-timeline__day-num--muted{color:var(--receipt-faint)}.trip-timeline__day-date{font-size:12px;color:var(--receipt-faint);white-space:nowrap}.trip-timeline__day-rule{flex:1;height:1px;background:var(--receipt-hairline)}.trip-timeline__day{position:relative;padding:16px 0 4px 28px}.trip-timeline__day:before{content:"";position:absolute;left:5px;top:24px;bottom:-12px;width:2px;background:var(--receipt-hairline)}.trip-timeline__day:last-child:before{display:none}.trip-timeline__dot{position:absolute;left:0;top:5px;width:13px;height:13px;border-radius:50%;background:var(--receipt-clay);border:2px solid var(--receipt-footer-tint);box-shadow:0 0 0 1px var(--receipt-hairline)}.trip-timeline__dot--muted{background:var(--receipt-faint)}.trip-timeline__day-h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--receipt-muted);margin:0 0 12px}.trip-timeline__day-h b{color:var(--receipt-ink);font-size:13.5px}.trip-essentials{--te-accent: var(--receipt-clay, #bf4d2e);--te-accent-soft: var(--receipt-clay-soft, #f3e7df)}.trip-essentials--booked{--te-accent: var(--receipt-clay, var(--app-accent, #2f6f5e));--te-accent-soft: var(--receipt-badge-book-bg, #dcebe0)}.trip-essentials--hold{--te-accent: #b45309;--te-accent-soft: #fbeeda}.trip-essentials{padding:18px 24px 16px;border-bottom:1px solid var(--receipt-hairline, #e8e3d8)}.essentials__official-notice{font-size:10.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--te-accent);text-align:center;margin:0 0 14px;opacity:.85}.essentials__body{display:grid;grid-template-columns:1fr auto;gap:20px 32px;align-items:start}@media(max-width:600px){.essentials__body{grid-template-columns:1fr}}.essentials__left{display:flex;flex-direction:column;gap:14px;min-width:0}.essentials__right{min-width:180px;max-width:220px;flex-shrink:0}@media(max-width:600px){.essentials__right{max-width:100%}}.essentials__section{display:flex;flex-direction:column;gap:5px}.essentials__section-label{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--receipt-faint, #9a948a);margin:0 0 4px}.essentials__conf-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;row-gap:0;align-items:center;padding:4px 0;border-bottom:1px solid var(--receipt-hairline, #e8e3d8)}.essentials__conf-row:last-child{border-bottom:none}.essentials__conf-vendor{font-size:12px;font-weight:500;color:var(--receipt-muted, #6f6a60);grid-column:1;grid-row:1}.essentials__conf-code-wrap{grid-column:2;grid-row:1;display:flex;align-items:center;gap:5px}.essentials__conf-code{font-family:var(--font-receipt-amounts, monospace);font-size:13px;font-weight:600;color:var(--receipt-ink, #211f1b);letter-spacing:.06em;text-transform:uppercase}.essentials__conf-code--journi{color:var(--te-accent);font-size:12.5px}.essentials__conf-row--journi{margin-bottom:4px;padding-bottom:7px}.essentials__conf-note{font-size:10.5px;color:var(--receipt-faint, #9a948a);grid-column:1 / -1;grid-row:2;padding-top:1px;font-style:italic}.essentials__copy-btn{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid var(--receipt-hairline, #e8e3d8);border-radius:5px;padding:2px 4px;cursor:pointer;color:var(--receipt-faint, #9a948a);display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,border-color .12s ease,background .12s ease;flex-shrink:0}.essentials__copy-btn:hover{color:var(--receipt-muted, #6f6a60);border-color:var(--receipt-muted, #6f6a60);background:var(--receipt-icon-bg, #f3efe6)}.essentials__copy-btn--done{color:var(--receipt-badge-book-ink, #2d6a4f);border-color:var(--receipt-badge-book-bg, #dcebe0);background:var(--receipt-badge-book-bg, #dcebe0)}.essentials__travelers{font-size:13px;font-weight:500;color:var(--receipt-ink, #211f1b);margin:0;line-height:1.4}.essentials__payment-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0}.essentials__payment-label{font-size:11.5px;color:var(--receipt-muted, #6f6a60);white-space:nowrap}.essentials__payment-val{font-family:var(--font-receipt-amounts, monospace);font-size:12.5px;font-weight:600;color:var(--receipt-ink, #211f1b);text-align:right;white-space:nowrap}.essentials__payment-val--pts{color:var(--te-accent)}.essentials__payment-row--date{margin-top:5px;padding-top:6px;border-top:1px solid var(--receipt-hairline, #e8e3d8)}.essentials__payment-date{font-size:11px;color:var(--receipt-faint, #9a948a);font-style:italic}.invoice-confirm-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:14px 24px;background:var(--brand-primary, #111827);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.invoice-confirm-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.invoice-confirm-btn:active:not(:disabled){transform:translateY(0)}.invoice-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.invoice-confirm-btn__label{font-size:1.05rem}.invoice-confirm-btn__detail{font-size:.82rem;opacity:.85;font-weight:400}.invoice-confirm-btn__spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.threedss-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.threedss-modal{background:var(--color-surface, #fff);border-radius:16px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #0003}.threedss-modal__title{font-size:1.25rem;font-weight:700;margin:0 0 12px}.threedss-modal__body{color:var(--color-text-secondary, #6b7280);line-height:1.6;margin:0 0 20px}.threedss-modal__cta{display:block;text-align:center;padding:14px;background:var(--brand-primary, #111827);color:#fff;text-decoration:none;border-radius:10px;font-weight:600;margin-bottom:12px;transition:opacity .15s}.threedss-modal__cta:hover{opacity:.9}.threedss-modal__actions{display:flex;gap:10px;flex-direction:column}.threedss-modal__done-btn{padding:12px;border:2px solid var(--brand-primary, #111827);background:transparent;color:var(--brand-primary, #111827);border-radius:10px;font-weight:600;cursor:pointer;transition:background .15s}.threedss-modal__done-btn:hover{background:var(--color-surface-hover, #f9fafb)}.threedss-modal__cancel-btn{padding:10px;border:none;background:transparent;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:.9rem}.deep-link-panel{background:var(--color-surface-subtle, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;padding:20px}.deep-link-panel__heading{font-size:.95rem;font-weight:600;color:var(--color-text-primary, #111827);margin:0 0 16px}.deep-link-panel__list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.deep-link-panel__step{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:8px;transition:background .15s}.deep-link-panel__step.checked{background:var(--color-success-subtle, #dcfce7);border-color:var(--color-success, #16a34a)}.deep-link-panel__step-label{display:flex;align-items:flex-start;gap:8px;flex:1;cursor:pointer}.deep-link-panel__checkbox{margin-top:2px;flex-shrink:0}.deep-link-panel__step-num{font-size:.78rem;font-weight:700;color:var(--color-text-secondary, #6b7280);white-space:nowrap}.deep-link-panel__step-text{font-size:.9rem;color:var(--color-text-primary, #111827);line-height:1.4}.deep-link-panel__link{font-size:.82rem;color:var(--brand-primary, #2563eb);text-decoration:none;white-space:nowrap;font-weight:600}.deep-link-panel__link:hover{text-decoration:underline}.deep-link-panel__duration{font-size:.78rem;color:var(--color-text-secondary, #6b7280);white-space:nowrap}.deep-link-panel__done-btn{width:100%;padding:12px;background:var(--brand-primary, #111827);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.deep-link-panel__done-btn:disabled{opacity:.4;cursor:not-allowed}.deep-link-panel__done-btn:hover:not(:disabled){opacity:.9}.invoice-detail{max-width:800px;margin:0 auto;padding:24px 16px}.invoice-detail--receipt{padding:24px 16px;background:var(--receipt-paper);border-radius:24px;max-width:508px;margin:0 auto}.invoice-detail__card{position:relative;background:var(--receipt-card);border:1px solid var(--receipt-hairline);border-radius:18px;box-shadow:var(--receipt-shadow-card);overflow:visible;max-width:460px;margin:0 auto}.receipt-summary{padding:16px 24px 18px}.receipt-summary__row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0}.receipt-summary__label{font-size:14px;color:var(--receipt-muted);line-height:1.3}.receipt-summary__sublabel{display:block;color:var(--receipt-faint);font-size:11.5px;margin-top:1px}.receipt-summary__val{font-family:var(--font-receipt-amounts);font-size:14px;font-weight:500;color:var(--receipt-ink);white-space:nowrap}.receipt-summary__val--pts{color:var(--receipt-clay)}.receipt-summary__val--faint{color:var(--receipt-faint)}.receipt-summary__row--charged{margin-top:9px;padding-top:13px;border-top:1px solid var(--receipt-hairline)}.receipt-summary__row--charged .receipt-summary__label{color:var(--receipt-ink);font-weight:600;font-size:16px}.receipt-summary__row--charged .receipt-summary__val{font-size:20px;font-weight:600;color:var(--receipt-ink)}.receipt-summary__row--muted .receipt-summary__label{color:var(--receipt-muted)}.receipt-payment{background:var(--receipt-footer-tint);border-top:1px solid var(--receipt-hairline);border-radius:0 0 18px 18px;padding:15px 24px;display:flex;align-items:flex-start;gap:11px}.receipt-payment__card-icon{width:34px;height:22px;border-radius:4px;flex-shrink:0;background:linear-gradient(135deg,var(--receipt-card-glyph-bg-from),var(--receipt-card-glyph-bg-to));position:relative;margin-top:2px}.receipt-payment__card-icon:after{content:"";position:absolute;left:5px;top:6px;width:9px;height:7px;border-radius:1.5px;background:var(--receipt-card-glyph-chip)}.receipt-payment__text{font-size:13.5px;color:var(--receipt-muted);line-height:1.4}.receipt-payment__text strong{color:var(--receipt-ink);font-weight:600;font-family:var(--font-receipt-amounts)}.receipt-payment__pts-line{display:block;font-size:12px;color:var(--receipt-muted);margin-top:2px}.invoice-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.invoice-detail__heading{font-size:1.4rem;font-weight:700;margin:0;color:var(--color-text-primary, #111827)}.invoice-detail__cta{margin:24px 0;max-width:360px}.invoice-detail--receipt .invoice-detail__cta{margin:16px 24px 24px}.invoice-detail__error{color:var(--color-error-text, #991b1b);background:var(--color-error-bg, #fef2f2);padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.9rem}.invoice-detail__official-notice{font-size:11px;color:var(--receipt-faint);text-align:center;padding:12px 24px 16px;margin:0;border-top:1px solid var(--receipt-hairline);line-height:1.4}.invoice-detail__deep-link{margin:20px 0}.invoice-detail__deep-link-title{font-size:.95rem;font-weight:600;margin:0 0 10px;color:var(--color-text-primary, #111827)}.receipt-embed__frame{width:100%;border:none;display:block;background:transparent;transition:height .15s ease}.receipt-embed--loading,.receipt-embed--error{padding:32px 16px;text-align:center;font-size:14px;color:var(--text-muted, #6e6e73)}.receipt-embed--error{color:#991b1b}.tpv{max-width:720px;padding:0 0 64px;display:flex;flex-direction:column;gap:0;font-family:var(--font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif);color:var(--ink, #1d1b16)}.tpv__header{padding-bottom:28px;border-bottom:1px solid var(--hair, #e3ddd0)}.tpv__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tpv__label{font-family:var(--font-body, system-ui, sans-serif);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mint, #2f6f5e)}.tpv__status-chip{display:inline-block;font-family:var(--font-body, system-ui, sans-serif);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft, #6b665c);background:var(--bone-2, #efeae0);border-radius:20px;padding:3px 10px;border:1px solid var(--hair, #e3ddd0)}.tpv__destination{font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);font-size:clamp(38px,5.5vw,58px);font-weight:400;letter-spacing:-.02em;line-height:1;color:var(--ink, #1d1b16);margin:0 0 8px}.tpv__sub{font-size:14px;color:var(--ink-soft, #6b665c);line-height:1.4;margin:0}.tpv__prompt-section{padding:28px 0;border-bottom:1px solid var(--hair, #e3ddd0)}.tpv__section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft, #6b665c);opacity:.7;margin:0 0 12px}.tpv__prompt-quote{border-left:3px solid var(--mint, #2f6f5e);padding:12px 16px;background:var(--mint-soft, #dcebe4);border-radius:0 8px 8px 0;margin:0}.tpv__prompt-quote p{font-style:italic;font-size:15px;line-height:1.6;color:var(--ink, #1d1b16);margin:0}.tpv__proposals-section{padding:28px 0;border-bottom:1px solid var(--hair, #e3ddd0);display:flex;flex-direction:column;gap:16px}.tpv__proposal-card{background:var(--card, #fffdf8);border:1px solid var(--hair, #e3ddd0);border-radius:12px;overflow:hidden;transition:box-shadow .18s ease,border-color .18s ease}.tpv__proposal-card:hover{border-color:var(--mint, #2f6f5e);box-shadow:0 4px 20px #2f6f5e1a}.tpv__proposal-card--empty{background:transparent;border-style:dashed}.tpv__proposal-card--empty:hover{border-color:var(--hair, #e3ddd0);box-shadow:none}.tpv__proposal-name--empty{color:var(--ink-soft, #6b665c);font-weight:500}.tpv__proposal-card--photo{display:grid;grid-template-columns:140px 1fr}.tpv__proposal-photo{width:140px;min-height:120px;object-fit:cover;display:block;flex-shrink:0}.tpv__proposal-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px}.tpv__proposal-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.tpv__proposal-name{font-size:15px;font-weight:600;color:var(--ink, #1d1b16);margin:0;line-height:1.3}.tpv__proposal-detail{font-size:13px;color:var(--ink-soft, #6b665c);margin:0;line-height:1.4}.tpv__proposal-why{font-size:12px;color:var(--mint, #2f6f5e);margin:0;line-height:1.4;font-style:italic}.tpv__proposal-comparing{font-size:11.5px;color:var(--ink-soft, #6b665c);opacity:.7;margin:0}.tpv__proposal-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex-shrink:0}.tpv__badge-proposed{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft, #6b665c);background:var(--bone-2, #efeae0);border:1px solid var(--hair, #e3ddd0);border-radius:9999px;padding:3px 8px}.tpv__proposal-price{font-size:14px;font-weight:600;color:var(--ink, #1d1b16);font-family:var(--font-mono, "SF Mono", Monaco, monospace)}.tpv__proposal-price-alt{font-size:12px;color:var(--ink-soft, #6b665c);font-family:var(--font-mono, "SF Mono", Monaco, monospace)}.tpv__activities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tpv__activity-chip{border-radius:10px;overflow:hidden;border:1px solid var(--hair, #e3ddd0);background:var(--card, #fffdf8);transition:box-shadow .16s ease,transform .16s ease;cursor:default}.tpv__activity-chip:hover{transform:translateY(-2px);box-shadow:0 6px 18px #2f6f5e1f;border-color:var(--mint, #2f6f5e)}.tpv__activity-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block}.tpv__activity-label{padding:10px 11px;font-size:12.5px;font-weight:600;color:var(--ink, #1d1b16);line-height:1.3}.tpv__reasoning-section{padding:28px 0;border-bottom:1px solid var(--hair, #e3ddd0)}.tpv__reasoning-body{font-size:14.5px;line-height:1.7;color:var(--ink-soft, #6b665c);margin:0}.tpv__agent-tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mint, #2f6f5e);margin-bottom:10px}.tpv__agent-dot{width:7px;height:7px;border-radius:50%;background:var(--mint, #2f6f5e);animation:tpv-pulse 2.4s ease-in-out infinite}@keyframes tpv-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.tpv__cta-section{padding:28px 0 0;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.tpv__btn-primary{appearance:none;-webkit-appearance:none;background:var(--mint, #2f6f5e);color:#fff;border:none;border-radius:10px;padding:13px 22px;font-family:var(--font-body, system-ui, sans-serif);font-size:14.5px;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:background .16s ease,transform .14s ease,box-shadow .16s ease;box-shadow:0 2px 10px #2f6f5e38;white-space:nowrap}.tpv__btn-primary:hover{background:var(--mint-dark, #265e4e);transform:translateY(-1px);box-shadow:0 4px 16px #2f6f5e52}.tpv__btn-primary:active{transform:translateY(0)}.tpv__btn-secondary{appearance:none;-webkit-appearance:none;background:transparent;border:none;padding:0;font-family:var(--font-body, system-ui, sans-serif);font-size:13.5px;font-weight:500;color:var(--ink-soft, #6b665c);cursor:pointer;text-decoration:underline;text-decoration-color:var(--hair, #e3ddd0);text-underline-offset:3px;transition:color .12s ease,text-decoration-color .12s ease;white-space:nowrap}.tpv__btn-secondary:hover{color:var(--mint, #2f6f5e);text-decoration-color:var(--mint, #2f6f5e)}@media(max-width:600px){.tpv__activities-grid{grid-template-columns:repeat(2,1fr)}.tpv__proposal-card--photo{grid-template-columns:1fr}.tpv__proposal-photo{width:100%;height:140px}}.td-detail{display:flex;flex-direction:column;gap:var(--space-8);padding:0;animation:detailFadeIn .3s var(--ease-out) both}@keyframes detailFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.td-back{background:none;border:none;padding:0;margin:0;cursor:pointer;align-self:flex-start;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary);transition:color var(--transition-fast)}.td-back:hover{color:var(--text-primary);border-color:transparent;box-shadow:none}.td-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:var(--line-thin) solid var(--border-color)}.td-hero-body{min-width:0;flex:1}.td-destination{font-family:var(--font-display);font-size:clamp(var(--text-2xl),3vw,var(--text-3xl));font-weight:var(--font-light);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0 0 var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-hero-meta{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.td-card-dates{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide)}.td-section{display:flex;flex-direction:column;gap:var(--space-4)}.td-section-title{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-tertiary);margin:0}.td-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);flex-shrink:0}.td-value{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-primary);font-weight:var(--font-semibold)}.td-value--highlight{color:var(--color-gray-700)}.td-meta-chip{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);padding:var(--space-0_5) var(--space-2);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-full);white-space:nowrap}.td-ref-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide)}.td-copyable{background:none;border:none;padding:0;margin:0;cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);color:var(--text-primary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;transition:opacity var(--transition-fast)}.td-copyable:hover{opacity:.65;border-color:transparent;box-shadow:none}.td-flights-list{display:flex;flex-direction:column;gap:var(--space-3)}.td-flight-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:var(--line-thin) solid var(--border-color);border-left:3px solid var(--color-black);border-radius:var(--radius-sm);background:var(--bg-primary);animation:cardSlideIn .35s var(--ease-out) both}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.td-flight-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.td-flight-id{display:flex;align-items:baseline;gap:var(--space-2)}.td-flight-airline{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.td-flight-number{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}.td-flight-status{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:var(--space-0_5) var(--space-2);border-radius:var(--radius-full);white-space:nowrap;border:var(--line-thin) solid currentColor}.td-flight-status--confirmed{color:var(--color-gray-600);border-color:var(--border-color)}.td-flight-status--on-time{color:var(--color-gray-700);border-color:var(--color-gray-300)}.td-flight-status--delayed{color:var(--color-gray-800);border-color:var(--color-gray-500)}.td-flight-status--cancelled{color:var(--text-tertiary);border-color:var(--border-color);opacity:.55}.td-flight-route{display:flex;align-items:center;gap:var(--space-4)}.td-flight-endpoint{display:flex;flex-direction:column;gap:var(--space-0_5)}.td-flight-endpoint--right{text-align:right}.td-flight-airport{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.td-flight-time{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-wide)}.td-flight-arrow{font-size:var(--text-base);color:var(--text-tertiary);flex-shrink:0;flex:1;text-align:center}.td-flight-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.td-flight-ref{display:flex;align-items:baseline;gap:var(--space-2)}.td-hotel-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:var(--line-thin) solid var(--border-color);border-left:3px solid var(--color-gray-700);border-radius:var(--radius-sm);background:var(--bg-primary)}.td-hotel-header{display:flex;align-items:baseline;gap:var(--space-3)}.td-hotel-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0}.td-stars{font-size:var(--text-xs);color:var(--color-gray-500);letter-spacing:1px;flex-shrink:0}.td-hotel-dates{display:flex;flex-direction:column;gap:var(--space-1)}.td-hotel-date-row{display:flex;align-items:baseline;gap:var(--space-3)}.td-hotel-room{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary);margin:0;letter-spacing:var(--tracking-wide)}.td-hotel-address{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.td-hotel-ref{display:flex;align-items:baseline;gap:var(--space-2)}.td-hotel-amenities{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.td-restaurants-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.td-restaurant-row{display:grid;grid-template-columns:1fr auto;gap:0 var(--space-4);align-items:start;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-4);border-bottom:var(--line-thin) solid var(--border-color);border-left:3px solid var(--color-gray-300)}.td-restaurant-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.td-restaurant-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0}.td-restaurant-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.td-restaurant-address{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.td-restaurant-ref{align-self:center;flex-shrink:0}.td-points-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border:var(--line-thin) solid var(--border-color);border-left:3px solid var(--color-gray-400);border-radius:var(--radius-sm);background:var(--bg-secondary)}.td-points-program{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-secondary);margin:0}.td-points-summary{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary);line-height:var(--leading-snug);margin:0}.td-points-meta{display:flex;flex-direction:column;gap:var(--space-1)}.td-points-row{display:flex;align-items:baseline;gap:var(--space-3)}.td-empty{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6) 0}.td-empty-body{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-relaxed);margin:0}.td-raw-prompt{font-family:var(--font-display);font-size:var(--text-base);font-style:italic;color:var(--text-secondary);border-left:3px solid var(--border-color);padding-left:var(--space-4);margin:0;line-height:var(--leading-snug)}.td-hero--receipt{padding-bottom:var(--space-3)}.td-section--receipt{margin-top:var(--space-4)}.td-receipt-list{display:flex;flex-direction:column;gap:var(--space-2)}.td-receipt-list--ul{list-style:none;padding:0;margin:0}.td-receipt-row{display:grid;grid-template-columns:1fr auto;grid-template-areas:"main amount" "ref ref";gap:var(--space-2) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-color);align-items:baseline}.td-receipt-row:last-child{border-bottom:none}.td-receipt-row-main{grid-area:main;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);min-width:0}.td-receipt-row-amount{grid-area:amount;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap}.td-receipt-row-ref{grid-area:ref;display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.td-receipt-line-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.td-receipt-line-sub{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary)}.td-receipt-line-meta{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-secondary)}.td-receipt-line-meta--quiet{color:var(--text-tertiary)}.td-receipt-route{display:inline-flex;align-items:baseline;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-sm)}.td-receipt-arrow{color:var(--text-tertiary);margin:0 4px}.td-receipt-amount-muted{font-weight:400;color:var(--text-tertiary);font-style:italic}.td-flight-carrier-chip{display:inline-block;background:var(--text-primary);color:var(--surface-primary, #fff);font-family:var(--font-body);font-weight:700;font-size:10px;letter-spacing:.5px;padding:2px 6px;border-radius:2px}.td-meta-chip--alert{background:#fef0e6;color:#a04500;border:none}.td-meta-chip--info{background:#eaf3ff;color:#1c5ed6;border:none}.td-receipt-totals{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-1)}.td-receipt-totals-row{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-primary)}.td-receipt-totals-row--quiet{color:var(--text-secondary)}.td-receipt-totals-row--grand{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-color);font-weight:600}.td-receipt-totals-label{font-weight:inherit}.td-receipt-totals-note{color:var(--text-tertiary);font-size:var(--text-xs);margin-left:var(--space-1)}.td-receipt-totals-value{font-variant-numeric:tabular-nums;white-space:nowrap}.cf-dashboard{--bone: #f4f4f3;--bone-2: #e7e7e4;--card: #ffffff;--ink: #1a1a1a;--ink-soft: #6f6a64;--hair: #e7e7e4;--mint: #0e83ad;--mint-soft:#d4ebf3;--clay-tint:#ede7df;--clay: #c9bca8;--clay-deep:#8c7e6a;--clay-line:#dbcfba;--radius: 14px;--font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-display: "Newsreader", Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;height:100vh;overflow:hidden;background:var(--bone);color:var(--ink);font-family:var(--font-body);display:flex;flex-direction:column}.cf-dashboard-topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--bone);flex-shrink:0}.cf-brand{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-display);font-style:italic;font-size:22px;letter-spacing:.3px;color:var(--ink);line-height:1;transition:opacity .15s ease}.cf-brand:hover{opacity:.7;border-color:transparent;box-shadow:none}.cf-dashboard-body{display:grid;grid-template-columns:248px 1fr;transition:grid-template-columns .22s ease;flex:1;min-height:0;overflow:hidden}.cf-dashboard-body--collapsed{grid-template-columns:68px 1fr}.cf-dashboard-rail{padding:22px 16px;display:flex;flex-direction:column;gap:6px;min-height:0;overflow:hidden}.cf-rail-nav{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0}.cf-rail-item{display:flex;align-items:center;gap:11px;font-family:var(--font-body);font-size:15px;font-weight:500;padding:9px 12px;border-radius:13px;color:var(--ink-soft);background:none;border:none;cursor:pointer;text-align:left;width:100%;transition:background .12s ease,color .12s ease}.cf-rail-item:hover:not(.cf-rail-item--active){background:var(--bone-2);color:var(--ink)}.cf-rail-item:focus{outline:none}.cf-rail-item:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--clay-line)}.cf-rail-item--active{color:var(--ink);background:#e6e2da}.cf-rail-section-label{display:block;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:14px 12px 4px;opacity:.6}.cf-rail-trips-list{display:flex;flex-direction:column;gap:1px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:none}.cf-rail-trips-list::-webkit-scrollbar{width:0;height:0;display:none}.cf-rail-trip-item{padding:8px 28px 8px 12px;gap:0;line-height:1.3;position:relative;display:flex;flex-direction:column;align-items:flex-start}.cf-rail-trip-name{font-family:var(--font-body);font-size:13.5px;font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cf-rail-trip-dates{font-family:var(--font-body);font-size:11px;color:var(--ink-soft);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cf-rail-trip-dot{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:opacity .12s ease}.cf-rail-trip-row{position:relative;display:flex;align-items:stretch}.cf-rail-trip-row>.cf-rail-trip-item{flex:1 1 auto;min-width:0}.cf-rail-trip-delete{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:7px;background:transparent;color:var(--ink-soft);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,background .12s ease,color .12s ease}.cf-rail-trip-row:hover .cf-rail-trip-delete,.cf-rail-trip-delete:focus-visible{opacity:1;pointer-events:auto}.cf-rail-trip-delete:hover{background:#991b1b1a;color:#991b1b}.cf-rail-trip-row:hover .cf-rail-trip-dot,.cf-rail-trip-row--confirming .cf-rail-trip-dot{opacity:0}.cf-rail-trip-confirm{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;gap:4px}.cf-rail-trip-confirm-yes{border:none;border-radius:6px;padding:3px 8px;font-family:var(--font-body);font-size:11.5px;font-weight:600;background:#991b1b;color:#fff;cursor:pointer}.cf-rail-trip-confirm-no{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;width:22px;height:22px;font-size:11px;background:var(--chip, #efece6);color:var(--ink-soft);cursor:pointer}.cf-rail-trip-dot--neutral{background:var(--ink-soft);opacity:.35}.cf-rail-trip-dot--amber{background:#b45309}.cf-rail-trip-dot--mint{background:var(--mint)}.cf-rail-trip-dot--muted{background:#737373}.cf-rail-trip-dot--cancelled{background:#9a3b35}.cf-rail-section-label--settings{margin-top:auto;padding-top:18px}.cf-rail-newtrip{display:flex;align-items:center;gap:11px;flex-shrink:0;margin:0 0 6px;text-align:left;font-family:var(--font-body, system-ui, sans-serif);font-size:13px;font-weight:500;text-decoration:none;border:1px dashed var(--hair);border-radius:14px;padding:9px 12px;transition:border-color .12s ease,background .12s ease}.cf-rail-newtrip,.cf-rail-newtrip:link,.cf-rail-newtrip:visited{color:var(--mint, #2f6f5e)}.cf-rail-newtrip:hover{color:var(--mint, #2f6f5e);border-color:var(--mint, #2f6f5e);background:var(--bone-2, #efeae0)}.cf-dashboard-main{background:var(--card);border-radius:22px;box-shadow:0 1px 3px #1e190f0a,0 14px 34px #1e190f0f;margin:0 18px 18px 8px;padding:28px 40px;flex:1;min-height:0;overflow-y:auto}.cf-dashboard-main--solo{display:grid;place-items:center;min-height:60vh}.cf-dashboard-content{display:flex;flex-direction:column;min-height:0;overflow:hidden}.cf-panel-topbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 28px 12px;flex-shrink:0}.cf-brand--rail{margin:0;padding:0 4px;white-space:nowrap}.cf-rail-top{display:flex;align-items:center;gap:8px;min-height:34px;margin-bottom:14px;padding:0 4px}.cf-rail-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;padding:0;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--ink-soft);cursor:pointer;transition:background .12s ease,color .12s ease}.cf-rail-toggle:hover{background:var(--bone-2);color:var(--ink);border-color:transparent}.cf-rail-toggle:focus{outline:none}.cf-rail-toggle:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.cf-rail-ico{display:inline-flex;align-items:center;flex-shrink:0;color:var(--ink-soft)}.cf-rail-item--active .cf-rail-ico{color:var(--ink)}.cf-dashboard-rail--collapsed{padding-left:10px;padding-right:10px}.cf-dashboard-rail--collapsed .cf-rail-top{justify-content:center;padding:0}.cf-dashboard-rail--collapsed .cf-brand--rail{display:none}.cf-dashboard-rail--collapsed .cf-rail-nav{gap:6px}.cf-dashboard-rail--collapsed .cf-rail-label,.cf-dashboard-rail--collapsed .cf-rail-section-label,.cf-dashboard-rail--collapsed .cf-rail-trips-list{display:none}.cf-dashboard-rail--collapsed .cf-rail-item,.cf-dashboard-rail--collapsed .cf-rail-newtrip{justify-content:center;gap:0;padding-left:0;padding-right:0}.cf-dashboard-rail--collapsed .cf-rail-section-label--settings{display:block;height:0;margin-top:auto;padding:0;overflow:hidden}.cf-dashboard-greeting h1{font-family:var(--font-display);font-weight:400;font-size:clamp(25px,3vw,33px);letter-spacing:-.01em;margin:0 0 20px;color:var(--ink)}.cf-dashboard-rail,.cf-dashboard-main{scrollbar-width:none;-ms-overflow-style:none}.cf-dashboard-rail::-webkit-scrollbar,.cf-dashboard-main::-webkit-scrollbar{width:0;height:0;display:none}.cf-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0}.cf-metric-card{background:var(--bone);border:1px solid var(--hair);border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.cf-metric-head{display:flex;flex-direction:column}.cf-metric-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-soft)}.cf-metric-value{font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin:9px 0 4px;line-height:1}.cf-metric-value small{font-size:18px;font-weight:600;color:var(--ink-soft)}.cf-metric-card--hero .cf-metric-value{color:var(--ink)}.cf-metric-sub{font-size:13px;color:var(--ink-soft)}.cf-spark{width:100%;height:40px;display:block}.cf-spark-line{fill:none;stroke:var(--mint);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.cf-seg{display:flex;flex-direction:column;gap:9px}.cf-seg-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--bone-2)}.cf-seg-fill{height:100%}.cf-seg-fill--a{background:var(--mint)}.cf-seg-fill--b{background:#9ed4e8}.cf-seg-legend{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--ink-soft)}.cf-seg-key{display:flex;align-items:center;gap:7px}.cf-seg-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cf-seg-dot--a{background:var(--mint)}.cf-seg-dot--b{background:#9ed4e8}.cf-row1{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px;align-items:stretch}.cf-next-trip{display:flex;flex-direction:column;background:var(--bone);border:1px solid var(--hair);border-radius:18px;padding:22px 24px}.cf-nt-main{display:flex;flex-direction:column}.cf-nt-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--clay-deep)}.cf-nt-dest{font-family:var(--font-display);font-weight:400;font-size:30px;line-height:1;margin:5px 0 2px;color:var(--ink)}.cf-nt-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cf-nt-count{font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--card);border:1px solid var(--clay-line);padding:3px 10px;border-radius:999px;white-space:nowrap}.cf-nt-route{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.cf-nt-airport{font-size:15px;font-weight:600;letter-spacing:.03em;color:var(--ink)}.cf-nt-plane{width:17px;height:17px;color:var(--ink-soft);flex-shrink:0}.cf-nt-route-meta{font-size:13px;color:var(--ink-soft);margin-left:4px}.cf-nt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.cf-nt-chip{font-size:12px;font-weight:500;color:var(--ink);background:var(--card);border:1px solid var(--clay-line);padding:4px 11px;border-radius:999px}.cf-nt-chip--ok{color:var(--ink);background:var(--card);border-color:var(--clay-line)}.cf-nt-codes{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:12px;font-size:12.5px;color:var(--ink-soft)}.cf-nt-code b{font-family:var(--font-mono);font-weight:700;letter-spacing:.02em;color:var(--ink)}.cf-nt-code-k{color:var(--ink-soft)}.cf-nt-ready{display:flex;flex-direction:column;gap:10px;min-width:230px;justify-content:center}.cf-nt-row{display:flex;justify-content:space-between;gap:18px;font-size:13px}.cf-nt-rk{color:var(--ink-soft)}.cf-nt-ok{color:var(--mint);font-weight:600}.cf-nt-pending{color:#b4791f;font-weight:600}.cf-nt-cta{align-self:flex-start;margin-top:16px;background:transparent;border:1px solid transparent;padding:4px 0;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}.cf-nt-cta:hover{color:var(--ink);border-color:transparent}.cf-nt-cta:focus{outline:none}.cf-nt-cta:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.cf-two-up{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.cf-points{background:var(--bone);border:1px solid var(--hair);border-radius:18px;padding:22px 26px 24px;display:flex;flex-direction:column}.cf-bars{display:flex;flex-direction:column;gap:15px;margin-top:16px;flex:1;justify-content:space-between}.cf-bar-row{display:grid;grid-template-columns:96px 1fr 50px;align-items:center;gap:16px}.cf-bar-name{font-size:13px;font-weight:500;color:var(--ink)}.cf-bar-track{height:10px;background:var(--bone-2);border-radius:999px;overflow:hidden}.cf-bar-fill{display:block;height:100%;background:var(--mint);border-radius:999px}.cf-bar-val{font-size:13px;font-weight:600;color:var(--ink);text-align:right}.cf-section-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:14px}.cf-section-head h2{font-family:var(--font-display);font-weight:400;font-size:20px;margin:0;color:var(--ink)}.cf-section-meta{font-size:12px;font-weight:600;color:var(--ink-soft);background:var(--clay-tint);padding:4px 11px;border-radius:999px}.cf-alert{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--bone);border:1px solid var(--hair);border-radius:16px;padding:15px 18px;margin-bottom:10px;cursor:pointer;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.cf-alert:hover{background:var(--card);border-color:#d8d2c4;box-shadow:0 2px 10px #1e190f0d}.cf-alert:focus{outline:none}.cf-alert:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.cf-alert-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--mint)}.cf-alert-dot--hold{background:#b4791f}.cf-alert-dot--drop{background:var(--mint)}.cf-alert-dot--found{background:#6f9c8c}.cf-alert-body{flex:1;display:flex;flex-direction:column;gap:2px}.cf-alert-title{font-size:14px;font-weight:600;color:var(--ink)}.cf-alert-sub{font-size:13px;color:var(--ink-soft)}.cf-alert-action{color:var(--ink-soft);font-size:15px;font-weight:600}.cf-overview{display:flex;flex-direction:column;gap:24px}.cf-detail-loading{display:flex;flex-direction:column;gap:14px;max-width:680px;padding-top:8px}@keyframes cfShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cf-detail-skeleton{height:18px;border-radius:6px;background:linear-gradient(90deg,var(--bone-2) 25%,var(--bone) 50%,var(--bone-2) 75%);background-size:200% 100%;animation:cfShimmer 1.5s infinite linear;width:80%}.cf-detail-skeleton--short{width:45%}.cf-detail-error{padding:24px 0;display:flex;flex-direction:column;gap:14px}.cf-detail-error p{font-family:var(--font-body);font-size:14px;color:var(--ink-soft);margin:0}.cf-rail-back{background:none;border:1px solid var(--hair);border-radius:8px;padding:7px 14px;font-family:var(--font-body);font-size:13px;color:var(--ink-soft);cursor:pointer;align-self:flex-start;transition:border-color .12s ease,color .12s ease}.cf-rail-back:hover{border-color:var(--mint);color:var(--ink)}.cf-receipt{--receipt-paper: var(--bone);--receipt-card: var(--card);--receipt-footer-tint: var(--bone);--receipt-ink: var(--ink);--receipt-muted: var(--ink-soft);--receipt-faint: #a8a6a1;--receipt-hairline: var(--hair);--receipt-clay: var(--clay-deep);--receipt-clay-soft: var(--clay-tint);--receipt-icon-bg: var(--clay-tint);--receipt-icon-color: var(--clay-deep);--receipt-card-glyph-bg-from: #8c7e6a;--receipt-card-glyph-bg-to: #a99b86;--receipt-badge-book-bg: var(--clay-tint);--receipt-badge-book-ink: var(--clay-deep);--receipt-badge-link-bg: var(--clay-tint);--receipt-badge-link-ink: var(--clay-deep)}.cf-receipt--mint{--receipt-clay: var(--clay-deep, #8c7e6a);--receipt-clay-soft: var(--clay-tint, #ede7df)}.cf-receipt--amber{--receipt-clay: #b45309;--receipt-clay-soft: #fbeeda}.cf-receipt .receipt-summary__val--pts,.cf-receipt .timeline-item__cost--pts{color:var(--receipt-ink)}.cf-receipt .invoice-detail--receipt{background:transparent;border-radius:0;padding:0;max-width:760px;margin:0}.cf-receipt .invoice-detail--receipt .invoice-detail__card{background:var(--card, #fffdf8);border:1px solid var(--hair, #e3ddd0);border-radius:16px;box-shadow:0 2px 18px #1d1b1612,0 1px 3px #1d1b160d;max-width:760px;margin:0;overflow:hidden}.cf-receipt .invoice-detail--receipt .trip-timeline__perf:before,.cf-receipt .invoice-detail--receipt .trip-timeline__perf:after{background:var(--card, #fffdf8)}.cf-receipt .invoice-detail--receipt .receipt-payment{border-radius:0 0 15px 15px}@media(max-width:860px){.cf-dashboard{height:auto;overflow:visible}.cf-dashboard-body{grid-template-columns:1fr;overflow:visible}.cf-dashboard-rail{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:8px;border-right:none;border-bottom:1px solid var(--hair);padding:10px 16px;overflow-x:auto;overflow-y:visible;min-height:unset}.cf-rail-nav{flex-direction:row;flex:none;gap:4px}.cf-rail-section-label{display:none}.cf-rail-trips-list{flex-direction:row;gap:4px}.cf-rail-item,.cf-rail-trip-item{white-space:nowrap;flex-shrink:0;padding:7px 12px;font-size:14px}.cf-rail-trip-item{flex-direction:row;align-items:center;gap:6px;padding-right:12px}.cf-rail-trip-dot{position:static;transform:none}.cf-rail-trip-dates{display:none}.cf-rail-newtrip{margin-top:0;flex-shrink:0;white-space:nowrap;padding:7px 14px}.cf-dashboard-main{padding:22px 20px;overflow-y:visible;min-height:unset}}.geo-denied-banner{display:flex;align-items:center;gap:8px;padding:8px 14px;margin-bottom:8px;background:#f0f4ff;border:1px solid #c7d2fe;border-radius:10px;font-size:13px;color:#4338ca;line-height:1.4}.geo-denied-banner svg{flex-shrink:0;color:#6366f1}.chat-composer{width:100%;padding:0;background:transparent!important;border:none!important;box-shadow:none!important}.composer-form{width:100%}.composer-container{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-color);border-radius:24px;box-shadow:0 4px 12px #0000000d;transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden;padding:24px 16px 16px;gap:8px}.composer-container:focus-within{border-color:#d1d5db;box-shadow:0 6px 16px #00000014}.composer-input-wrapper{width:100%;padding-left:15px}.composer-controls{display:flex;align-items:center;justify-content:space-between;width:100%}.controls-left{display:flex;align-items:center}.controls-right{display:flex;align-items:center;gap:12px}.location-badge-group{display:flex;align-items:center;gap:var(--space-2)}.location-pin-btn{display:flex;align-items:center;gap:4px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary, #999);transition:color .2s ease;padding:4px 0;flex-shrink:0}.location-pin-btn.has-location,.location-pin-btn:hover{color:var(--color-black, #000)}.location-pin-label{font-size:13px;font-weight:500;color:inherit;white-space:nowrap}.mode-toggle-tabs{display:inline-flex;position:relative;padding:4px;background:transparent;border:1px solid var(--color-black, #000);border-radius:999px;outline:none;-webkit-tap-highlight-color:transparent}.mode-toggle-tabs:focus,.mode-toggle-tabs:focus-within,.mode-toggle-tabs:focus-visible{outline:none!important;box-shadow:none!important;border:1px solid var(--color-black, #000)}.mode-slider{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:var(--color-black, #000);border-radius:999px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:0;will-change:transform}.mode-tab{position:relative;z-index:1;padding:6px 20px;min-width:80px;text-align:center;border:none!important;background:transparent;background-color:transparent!important;color:var(--text-secondary, #666);font-size:16px;font-weight:500;border-radius:999px;cursor:pointer;transition:color .25s ease-out;white-space:nowrap;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mode-tab:focus,.mode-tab:focus-visible,.mode-tab:active{outline:none!important;box-shadow:none!important}.mode-tab:hover:not(.active){color:var(--text-primary, #000)}.mode-tab.active{color:var(--color-white, #fff)}.location-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap}.clear-location-btn{width:18px;height:18px;padding:0;border:none;background:transparent;border-radius:var(--radius-full);font-size:10px;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary)}.clear-location-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.location-request-btn{width:32px;height:32px;padding:0;border:1px solid var(--border-color, #e2e8f0);background:transparent;border-radius:var(--radius-full, 9999px);cursor:pointer;transition:all var(--transition-fast, .15s ease);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary, #94a3b8)}.location-request-btn:hover{background:var(--bg-hover, #f1f5f9);color:var(--text-primary, #000);border-color:var(--border-color-darker, #cbd5e1)}.composer-input-wrapper{position:relative;flex:1;min-width:0}.rotating-placeholder{position:absolute;top:0;left:15px;color:#94a3b8;pointer-events:none;font-size:16px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 30px);transition:opacity .3s ease;z-index:1;cursor:text}.rotating-placeholder.fade-in{opacity:1}.rotating-placeholder.fade-out{opacity:0}.composer-input{width:100%;border:none;background:transparent;font-size:16px;line-height:1.5;color:var(--text-primary);resize:none;outline:none;padding:0;min-height:28px;max-height:300px;font-family:inherit;position:relative;z-index:2}.composer-input::placeholder{color:#94a3b8}.composer-input:disabled{opacity:.6;cursor:not-allowed}.voice-button{flex-shrink:0;width:48px;height:48px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative}.voice-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.voice-button:disabled{opacity:.5;cursor:not-allowed}.mic-icon{width:24px;height:24px}.voice-button.recording{background:var(--color-error, #ef4444);border-color:var(--color-error, #ef4444);color:var(--color-white);animation:pulse-recording 1.5s ease-in-out infinite}.voice-button.recording:hover:not(:disabled){background:var(--color-error, #dc2626);border-color:var(--color-error, #dc2626)}@keyframes pulse-recording{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 0 8px #ef444400}}.voice-recording-indicator{position:relative;display:flex;align-items:center;justify-content:center}.voice-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:currentColor;opacity:.3;animation:voice-pulse 1s ease-out infinite}@keyframes voice-pulse{0%{transform:scale(1);opacity:.3}to{transform:scale(1.8);opacity:0}}.send-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:8px;background:transparent;color:var(--color-black, #000);cursor:pointer;transition:all .15s ease;flex-shrink:0}.send-button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary, #000)}.send-button:active:not(:disabled){transform:scale(.95)}.send-button:disabled{opacity:.4;cursor:not-allowed}.send-button.offline{width:auto;padding:0 12px;border-radius:12px}.offline-label{font-size:12px;font-weight:600;color:inherit;white-space:nowrap}.send-icon{width:26px;height:26px;display:block;flex-shrink:0}.send-icon path{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stop-button{opacity:1!important;cursor:pointer!important}.stop-icon{width:20px;height:20px;display:block;flex-shrink:0}.loading-spinner-small{font-size:var(--text-lg);animation:pulse 1.5s ease-in-out infinite}.composer-loading{margin-top:var(--space-3);text-align:center}.loading-text{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.chat-composer.collapsed{padding:0}.chat-composer.compact .composer-container{padding:14px 16px 8px;border-radius:20px;box-shadow:0 1px 6px #0000000a;gap:6px;transition:border-color .2s,box-shadow .2s;overflow:visible}.chat-composer.compact .composer-container:focus-within{border-color:#c4c4c4;box-shadow:0 2px 12px #00000014}.chat-composer.compact .composer-input-wrapper{flex:none;padding-left:0}.chat-composer.compact .composer-input{font-size:14px;min-height:24px;max-height:140px}.chat-composer.compact .send-button,.chat-composer.compact .voice-button{width:32px;height:32px}.chat-composer.compact .send-icon{width:18px;height:18px}.chat-composer.compact .stop-icon{width:14px;height:14px}.chat-composer.compact .mic-icon{width:18px;height:18px}@media(max-width:768px){.chat-composer{padding:0;padding-bottom:var(--safe-area-bottom)}.composer-container{padding:10px;gap:6px}.composer-input-wrapper{padding-left:12px}.composer-input{font-size:16px}.send-button{width:48px;height:48px}.send-icon{width:26px;height:26px}}.video-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-2);width:100%}.video-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:var(--color-white);color:var(--color-black);border:var(--line-thin) solid var(--color-black);border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-medium);white-space:nowrap;animation:bubbleIn .2s ease-out}.video-chip-icon{display:flex;align-items:center;flex-shrink:0}.video-chip-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}.video-chip-remove{width:14px;height:14px;padding:0;border:none;background:#0000001a;color:var(--color-black);border-radius:var(--radius-full);font-size:10px;line-height:1;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.video-chip-remove:hover{background:#0003;transform:scale(1.1)}.chat-composer.compact .video-chip{font-size:11px;padding:3px 5px 3px 8px}@media(max-width:768px){.video-chip{font-size:11px}}.selected-places-row{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-2);width:100%}.place-bubble{display:inline-flex;align-items:center;gap:2px;padding:4px 6px 4px 10px;background:var(--color-white);color:var(--color-black);border:var(--line-thin) solid var(--color-black);border-radius:var(--radius-full);font-size:12px;font-weight:var(--font-medium);white-space:nowrap;animation:bubbleIn .2s ease-out}@keyframes bubbleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.place-bubble-name{max-width:150px;overflow:hidden;text-overflow:ellipsis}.place-bubble-remove{width:14px;height:14px;padding:0;border:none;background:#0000001a;color:var(--color-black);border-radius:var(--radius-full);font-size:10px;line-height:1;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.place-bubble-remove:hover{background:#0003;transform:scale(1.1)}.selected-places-row{width:100%}.origin-prompt-inline{margin-top:var(--space-3);animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.origin-prompt-content{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-xl)}.origin-prompt-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.origin-prompt-input-group{display:flex;align-items:center;gap:var(--space-2)}.origin-prompt-input{flex:1;padding:var(--space-2) var(--space-3);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--text-sm);font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color var(--transition-fast)}.origin-prompt-input:focus{border-color:var(--border-color-darker)}.origin-prompt-input::placeholder{color:var(--text-tertiary)}.origin-prompt-submit-btn{padding:var(--space-2) var(--space-4);border:none;background:var(--color-black);color:var(--color-white);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.origin-prompt-submit-btn:hover:not(:disabled){background:var(--color-gray-800)}.origin-prompt-submit-btn:disabled{opacity:.4;cursor:not-allowed}.origin-prompt-skip-btn{align-self:flex-start;padding:var(--space-1) 0;border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast)}.origin-prompt-skip-btn:hover{color:var(--text-primary);text-decoration:underline}@media(max-width:768px){.origin-prompt-content{padding:var(--space-2) var(--space-3)}.origin-prompt-input-group{flex-wrap:wrap}.origin-prompt-input{min-width:0;flex:1 1 auto}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.composer-container,.send-button,.clear-location-btn,.voice-button{transition:none}.loading-spinner-small,.voice-button.recording{animation:none}.voice-pulse{animation:none;display:none}}.composer-toolbar{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4);position:relative;z-index:50}.composer-toolbar.chat-active{padding:var(--space-4)}.explore-mode .composer-toolbar,.composer-toolbar.explore-active{position:absolute;bottom:calc(var(--space-6) + 30px);left:50%;transform:translate(-50%);padding:var(--space-4);z-index:100;pointer-events:none;opacity:0;animation:toolbarFadeIn .8s cubic-bezier(.25,.46,.45,.94) 2.5s forwards}@keyframes toolbarFadeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toolbar-tagline{margin:0 0 var(--space-6) 0;font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--font-light);color:var(--text-primary);letter-spacing:.05em;transition:all .8s cubic-bezier(.25,.46,.45,.94)}.explore-mode .toolbar-tagline,.composer-toolbar.explore-active .toolbar-tagline{opacity:0;visibility:hidden;height:0;margin:0;overflow:hidden}.toolbar-logo-wrapper{position:relative;margin-bottom:var(--space-8);height:180px;width:180px}.composer-toolbar.chat-active .toolbar-logo-wrapper{position:fixed;top:47%;left:50%;transform:translate(-50%,-50%);margin:0;animation:logoExitToRight 3.6s cubic-bezier(.25,.46,.45,.94) forwards;z-index:100}.explore-mode .toolbar-logo-wrapper,.composer-toolbar.explore-active .toolbar-logo-wrapper{display:none}.composer-toolbar.chat-active .toolbar-hermes-logo{animation:hermesMoveRight 3.6s cubic-bezier(.25,.46,.45,.94) forwards!important}@keyframes hermesMoveRight{0%{transform:translate(0) translateY(0);opacity:1}to{transform:translate(96vw) translateY(0);opacity:0}}.composer-toolbar.chat-active .toolbar-trail.trail-1{animation:trailExitRight1 3.6s cubic-bezier(.25,.46,.45,.94) forwards!important}.composer-toolbar.chat-active .toolbar-trail.trail-2{animation:trailExitRight2 3.6s cubic-bezier(.25,.46,.45,.94) forwards!important}.composer-toolbar.chat-active .toolbar-trail.trail-3{animation:trailExitRight3 3.6s cubic-bezier(.25,.46,.45,.94) forwards!important}@keyframes trailExitRight1{0%{transform:translate(0) translateY(0);opacity:0}5%{opacity:.5}15%{opacity:.4}30%{opacity:.2}45%{opacity:0}to{transform:translate(calc(96vw - 40px)) translateY(0);opacity:0}}@keyframes trailExitRight2{0%{transform:translate(0) translateY(0);opacity:0}5%{opacity:.35}15%{opacity:.25}30%{opacity:.1}40%{opacity:0}to{transform:translate(calc(96vw - 80px)) translateY(0);opacity:0}}@keyframes trailExitRight3{0%{transform:translate(0) translateY(0);opacity:0}5%{opacity:.2}15%{opacity:.12}25%{opacity:.05}35%{opacity:0}to{transform:translate(calc(96vw - 120px)) translateY(0);opacity:0}}@keyframes logoExitToRight{0%{transform:translate(-50%,-50%) translate(0);opacity:1}70%{opacity:.7}to{transform:translate(-50%,-50%) translate(96vw);opacity:0}}.toolbar-hermes-logo{width:180px;height:auto;object-fit:contain;position:absolute;top:0;left:0;z-index:5;opacity:1;transform:translate(0) translateY(0)}.toolbar-trail{width:180px;height:auto;object-fit:contain;position:absolute;top:0;left:0;pointer-events:none;opacity:0}.toolbar-trail.trail-1{z-index:4}.toolbar-trail.trail-2{z-index:3}.toolbar-trail.trail-3{z-index:2}.composer-toolbar.initial-load .toolbar-hermes-logo{animation:runInFromLeft 1.5s cubic-bezier(.25,.46,.45,.94) forwards}.composer-toolbar.initial-load .toolbar-trail.trail-1{animation:trailGhost1 1.5s cubic-bezier(.25,.46,.45,.94) forwards}.composer-toolbar.initial-load .toolbar-trail.trail-2{animation:trailGhost2 1.5s cubic-bezier(.25,.46,.45,.94) forwards}.composer-toolbar.initial-load .toolbar-trail.trail-3{animation:trailGhost3 1.5s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes runInFromLeft{0%{transform:translate(-96vw) translateY(0);opacity:.7}10%{opacity:1}to{transform:translate(0) translateY(0);opacity:1}}@keyframes trailGhost1{0%{transform:translate(-96vw) translateY(0);opacity:0}10%{opacity:.5}60%{opacity:.35}90%{opacity:.1}to{transform:translate(-40px) translateY(0);opacity:0}}@keyframes trailGhost2{0%{transform:translate(-96vw) translateY(0);opacity:0}10%{opacity:.35}50%{opacity:.25}85%{opacity:.05}to{transform:translate(-80px) translateY(0);opacity:0}}@keyframes trailGhost3{0%{transform:translate(-96vw) translateY(0);opacity:0}10%{opacity:.2}40%{opacity:.15}80%{opacity:.02}to{transform:translate(-120px) translateY(0);opacity:0}}.toolbar-tabs{display:inline-flex;gap:var(--space-1);padding:var(--space-1);background:var(--bg-tertiary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-full);position:relative}.toolbar-tab{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;z-index:2}.toolbar-tab:hover:not(.active){color:var(--text-primary);background:#00000008}.toolbar-tab:focus{outline:2px solid var(--color-black);outline-offset:2px}.toolbar-tab.active{color:var(--color-white);background:var(--color-black)}.tab-icon{font-size:var(--text-base);line-height:1;display:flex;align-items:center}.tab-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.active-indicator{position:absolute;bottom:0;left:0;width:50%;height:2px;background:var(--color-black);border-radius:var(--radius-full);transition:transform var(--transition-base);opacity:0}@media(max-width:768px){.composer-toolbar{padding:var(--space-3) var(--space-2) var(--space-2)}.toolbar-tabs{width:100%;justify-content:stretch}.toolbar-tab{flex:1;justify-content:center;padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.tab-icon{font-size:var(--text-sm)}.tab-label{font-size:var(--text-xs)}}@media(max-width:480px){.toolbar-tab{gap:var(--space-1);padding:var(--space-2)}.tab-label{display:none}.tab-icon{font-size:var(--text-lg)}}.composer-toolbar.initial-load .toolbar-tagline{animation:taglineFadeIn 1.5s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes taglineFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.toolbar-tab,.active-indicator,.composer-toolbar.initial-load .toolbar-hermes-logo,.composer-toolbar.initial-load .toolbar-trail,.composer-toolbar.initial-load .toolbar-tagline{transition:none;animation:none}}.globe-view-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-primary);width:100%;height:100%;position:relative;overflow:hidden}.globe-header{text-align:center;margin-bottom:var(--space-6)}.globe-header h3{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--font-light);color:var(--text-primary);margin:0 0 var(--space-4) 0;letter-spacing:-.02em}.globe-legend{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-4)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.legend-swatch{width:24px;height:12px;border-radius:var(--radius-sm);border:1px solid var(--globe-stroke)}.legend-swatch.visited{background-color:var(--globe-fill-visited)}.globe-svg{cursor:grab;filter:drop-shadow(0 4px 16px rgba(0,0,0,.08));border-radius:var(--radius-full);background:transparent;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.globe-svg:active{cursor:grabbing}.globe-svg .country,.globe-svg .us-state{transition:opacity .2s ease}.globe-svg .country:hover,.globe-svg .us-state:hover{opacity:1!important;stroke-width:1}.globe-hint{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);font-style:italic}.globe-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:600px;gap:var(--space-4)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border-color-light);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.globe-view-loading p{font-size:var(--text-base);color:var(--text-secondary)}.globe-view-error{display:flex;align-items:center;justify-content:center;min-height:600px;padding:var(--space-8);text-align:center}.globe-view-error p{font-size:var(--text-base);color:var(--text-secondary);max-width:400px}.globe-zoom-controls{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:center;gap:8px;z-index:200;opacity:1;background:transparent;box-shadow:none;padding:0}.returning-to-plan .globe-zoom-controls{display:none}.zoom-button{width:36px;height:36px;border:1px solid var(--color-black, #1a1a1a);background:#fff;color:#1a1a1a;font-size:18px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.zoom-button.zoom-in{order:1}.zoom-button.zoom-out{order:2;margin-left:155px}.zoom-button:hover{background:#f5f5f5;transform:scale(1.05)}.zoom-button:active{background:#e8e8e8;transform:scale(.95)}.zoom-reset{font-size:20px;margin-top:4px;border-top:1px solid #e0e0e0;padding-top:4px}@media(max-width:768px){.globe-view-container{padding:var(--space-4)}.globe-header h3{font-size:var(--text-2xl)}.globe-svg{max-width:100%;height:auto}.globe-zoom-controls{bottom:16px;transform:translate(-50%)}.zoom-button{width:32px;height:32px;font-size:16px}.zoom-button.zoom-out{margin-left:110px}}@media print{.globe-hint{display:none}.globe-svg{filter:none}}.globe-empty-message{position:absolute;bottom:20px;left:20px;background:#fffffff5;border:1px solid rgba(0,0,0,.1);border-radius:10px;padding:16px 20px;box-shadow:0 4px 16px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;pointer-events:none;transition:opacity .3s}.empty-message-content{display:flex;align-items:center;gap:12px}.empty-icon{font-size:24px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.empty-text{font-size:14px;color:#4b5563;font-weight:500;line-height:1.4}@media(max-width:768px){.globe-empty-message{bottom:12px;left:12px;padding:12px 16px}.empty-icon{font-size:20px}.empty-text{font-size:13px}}.country-browser{position:fixed;top:calc(var(--header-height, 60px) + 80px);left:0;width:220px;height:calc(100vh - var(--header-height, 60px) - 80px - 100px);background:var(--bg-primary);border-right:var(--line-thin) solid var(--border-color);display:flex;flex-direction:column;z-index:150;box-shadow:4px 0 24px #00000014;opacity:0;transform:translate(-20px);pointer-events:none;transition:opacity .5s ease-out,transform .5s ease-out}.country-browser.visible{opacity:1;transform:translate(0);pointer-events:auto}@media(max-width:768px){.country-browser{width:200px}}@media(max-width:480px){.country-browser{display:none}}.place-card{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);margin-bottom:2px;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-size:12px!important;font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left}.place-card:hover{background:var(--bg-secondary);border-color:var(--color-black);color:var(--text-primary)}.place-card:focus{outline:none;border-color:var(--color-black)}.place-card:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.place-card.in-cart{background:var(--color-black);border-color:var(--color-black);color:#fff}.place-card.in-cart:hover{background:#333}.place-name{flex:1;margin:0;font-size:12px!important;font-weight:var(--font-medium);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-card:hover .place-name{color:var(--text-primary)}.place-card.in-cart .place-name{color:#fff}.place-cart-badge{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-black);border-radius:var(--radius-full);flex-shrink:0}.place-card.in-cart .place-cart-badge{background:transparent}.place-cart-badge svg{width:11px;height:11px;color:#fff}@media(max-width:480px){.place-card{padding:var(--space-1) var(--space-2)}.place-name{font-size:9px}}.place-preview{position:fixed;left:auto!important;right:120px!important;top:50%;transform:translateY(-50%);width:224px;background:var(--bg-primary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 6px 24px #0000001f,0 2px 6px #00000014;z-index:300;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease-out}.place-preview.visible{opacity:1;pointer-events:auto}.preview-image-wrapper{position:relative;width:100%;height:126px;overflow:hidden}.preview-image{width:100%;height:100%;object-fit:cover}.preview-type-badge{position:absolute;top:var(--space-2);left:var(--space-2);padding:2px var(--space-2);background:#000000bf;color:#fff;font-size:9px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.4px;border-radius:var(--radius-sm)}.preview-content{padding:var(--space-3)}.preview-header{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);flex-wrap:wrap}.preview-name{margin:0;font-family:var(--font-display);font-size:14px;font-weight:var(--font-semibold);color:var(--text-primary)}.preview-city-tag,.preview-region-tag{padding:1px 6px;font-size:9px;font-weight:var(--font-medium);background:var(--color-black);color:#fff;border-radius:var(--radius-sm)}.preview-region-tag{background:var(--color-gray-800)}.preview-description{margin:0 0 var(--space-3) 0;font-size:11px;color:var(--text-secondary);line-height:1.5}.preview-tags{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-md)}.preview-tag-item{display:flex;flex-direction:column;gap:1px}.preview-tag-label{font-size:8px;font-weight:var(--font-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.preview-tag-value{font-size:11px;font-weight:var(--font-semibold);color:var(--text-primary)}.preview-tag-value.price{color:var(--color-gray-800)}.preview-tag-value.rating{color:var(--color-gray-700)}.preview-significance{padding-top:var(--space-2);border-top:var(--line-thin) solid var(--border-color)}.preview-significance-label{display:block;margin-bottom:var(--space-1);font-size:8px;font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px}.preview-significance-text{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.5;font-style:italic}@media(max-width:1200px){.place-preview{right:72px;width:208px}.preview-image-wrapper{height:112px}}@media(max-width:900px){.place-preview{display:none}}.explore-sidebar{position:fixed;top:calc(var(--header-height-base, 60px) + 80px);left:var(--sidebar-width-sm);width:var(--sidebar-width-sm);height:calc(100vh - var(--header-height-base, 60px) - 80px - 100px);background:var(--bg-primary);border-right:var(--line-thin) solid var(--border-color);display:flex;flex-direction:column;z-index:var(--z-sticky);transform:translate(-100%) scale(.95);opacity:0;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s ease-out;box-shadow:4px 0 24px #0000001a}.explore-sidebar.open{transform:translate(0) scale(1);opacity:1}.sidebar-header{padding:var(--space-5) var(--space-4);border-bottom:var(--line-thin) solid var(--border-color);flex-shrink:0}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.sidebar-title{margin:0;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--font-medium);color:var(--text-primary)}.sidebar-close{width:var(--touch-target-min);height:var(--touch-target-min);display:flex;align-items:center;justify-content:center;background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-xl);cursor:pointer;transition:all var(--transition-fast)}.sidebar-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-subtitle{margin:0;font-size:var(--text-sm);color:var(--text-tertiary)}.sidebar-filter-dropdown{position:relative;top:5px;display:inline-block}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;padding:var(--space-1) var(--space-5) var(--space-1) var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);background:var(--bg-secondary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;outline:none;transition:all var(--transition-fast)}.sidebar-search{position:relative;padding:var(--space-2) var(--space-4);padding-bottom:var(--space-1);flex-shrink:0}.sidebar-search-input{width:100%;padding:var(--space-3) var(--space-4);padding-right:var(--space-8);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-lg);outline:none;transition:all var(--transition-fast);box-sizing:border-box}.sidebar-search-clear{position:absolute;right:calc(var(--space-4) + var(--space-3));top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-base);line-height:1;cursor:pointer;transition:all var(--transition-fast)}.sidebar-empty{padding:var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.sidebar-no-data{padding:var(--space-8, 32px) var(--space-4, 16px);text-align:center;color:var(--text-secondary, #666);font-size:var(--text-sm, 14px);line-height:1.5}.sidebar-no-data-hint{margin-top:var(--space-2, 8px);font-size:12px;color:var(--text-tertiary, #999)}.sidebar-places{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--line-thin) solid var(--border-color)}.cart-title{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary)}.cart-count{font-size:var(--text-sm);color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.cart-items{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.cart-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-primary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-md)}.cart-item-image{width:36px;height:36px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.cart-item-name{flex:1;display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-type{padding:1px 4px;font-size:9px;font-weight:var(--font-medium);background:var(--color-gray-200);color:var(--color-gray-800);border-radius:var(--radius-sm);flex-shrink:0}.cart-item-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast);flex-shrink:0}@media(max-width:1024px){.explore-sidebar{left:var(--sidebar-width-sm);width:var(--sidebar-width-sm)}}@media(max-width:768px){.explore-sidebar{left:0;width:100%;max-width:var(--panel-width-standard);top:var(--header-height-safe);height:calc(100vh - var(--header-height-safe));padding-bottom:var(--safe-area-bottom)}}:root{--country-panel-width: 176px;--places-panel-width: 176px}.expandable-sidebar{position:fixed;top:50%;left:12px;height:calc(100vh - var(--header-height, 60px) - 80px);max-height:760px;width:var(--country-panel-width);display:flex;background:var(--bg-primary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:4px 0 24px #00000014;z-index:150;overflow:hidden;transition:width .35s cubic-bezier(.34,1.56,.64,1),opacity .5s ease-out,transform .5s ease-out;opacity:0;transform:translateY(-50%) translate(-20px);pointer-events:none}.expandable-sidebar.visible{opacity:1;transform:translateY(-50%) translate(0);pointer-events:auto}.expandable-sidebar.expanded{width:calc(var(--country-panel-width) + var(--places-panel-width))}.sidebar-left-panel{width:var(--country-panel-width);min-width:var(--country-panel-width);height:100%;display:flex;flex-direction:column;background:#fff}.sidebar-right-panel{width:var(--places-panel-width);min-width:var(--places-panel-width);height:100%;display:flex;flex-direction:column;opacity:0;background:#fff;transition:opacity .25s ease-out .15s}.expandable-sidebar.expanded .sidebar-right-panel{opacity:1}.country-browser-header{padding:var(--space-3);flex-shrink:0}.country-browser-title{margin:0 0 2px;font-family:var(--font-display);font-size:11px;font-weight:var(--font-medium);color:var(--text-primary)}.country-browser-hint{margin:0;font-size:10px;color:var(--text-tertiary)}.country-search{position:relative;padding:var(--space-1) var(--space-2);padding-bottom:2px;flex-shrink:0}.country-search-input{width:100%;padding:var(--space-2) var(--space-3);padding-right:var(--space-6);font-family:var(--font-body);font-size:11px;font-weight:var(--font-medium);color:var(--text-primary);background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast);box-sizing:border-box}.country-search-input::placeholder{color:var(--text-tertiary)}.country-search-input:focus{border-color:var(--color-black);background:var(--bg-primary)}.country-search-clear{position:absolute;right:calc(var(--space-2) + var(--space-2));top:50%;transform:translateY(-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-full);color:var(--text-secondary);font-size:12px;line-height:1;cursor:pointer;transition:all var(--transition-fast)}.country-search-clear:hover{background:var(--color-black);color:#fff}.country-list{flex:1;overflow-y:auto;padding:var(--space-1) var(--space-2);padding-bottom:var(--space-4);scroll-behavior:smooth}.country-list-empty{padding:var(--space-3);text-align:center;color:var(--text-tertiary);font-size:11px}.country-list::-webkit-scrollbar{width:4px}.country-list::-webkit-scrollbar-track{background:var(--bg-secondary)}.country-list::-webkit-scrollbar-thumb{background:var(--border-color-dark);border-radius:var(--radius-full)}.country-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.country-item{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);margin-bottom:2px;background:transparent;border:var(--line-thin) solid transparent;border-radius:var(--radius-md);font-family:var(--font-body);font-size:12px!important;font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left}.country-item:last-child{margin-bottom:var(--space-3)}.country-item:hover{background:var(--bg-secondary);border-color:var(--color-black);color:var(--text-primary)}.country-item:focus{outline:none;border-color:var(--color-black)}.country-item:focus-visible{outline:2px solid var(--color-black);outline-offset:2px}.country-item.focused{background:transparent;border-color:transparent;color:var(--text-secondary)}.country-item.focused:hover{background:var(--bg-secondary);border-color:var(--color-black);color:var(--text-primary)}.country-item.selected{background:var(--color-white);border-color:var(--color-black);border-width:2px;color:var(--color-black);font-weight:var(--font-semibold)}.country-item.in-cart,.country-item.in-cart.selected,.country-item.in-cart.focused{background:var(--color-black)!important;border-color:var(--color-black)!important;color:#fff!important}.country-item.in-cart .country-name{color:#fff!important}.country-item.in-cart:hover{background:#333!important}.country-item.in-cart.focused{box-shadow:0 0 0 2px var(--color-black),0 0 0 4px var(--border-color-dark)}.country-name{flex:1;font-size:12px!important;font-weight:var(--font-medium)}.country-cart-badge{display:flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-black);border-radius:var(--radius-full);flex-shrink:0}.country-cart-badge svg{width:11px;height:11px;color:#fff}.country-destination-count{color:#fff;font-weight:var(--font-medium)}.sidebar-close-row{display:flex;justify-content:flex-end;align-items:flex-start;padding:var(--space-3);padding-bottom:var(--space-2);min-height:71px;flex-shrink:0;box-sizing:border-box}.sidebar-close{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-black, #000);cursor:pointer;transition:all .15s ease;flex-shrink:0}.sidebar-close:hover{background:var(--bg-hover, #f3f4f6);color:var(--color-black, #000)}.sidebar-filter{position:relative;padding:var(--space-1) var(--space-2);padding-bottom:2px;flex-shrink:0}.filter-select-full{width:100%;padding:var(--space-2) var(--space-3);padding-right:var(--space-6);font-family:var(--font-body);font-size:11px;font-weight:var(--font-medium);color:var(--text-primary);background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-md);outline:none;cursor:pointer;transition:all var(--transition-fast);box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-select-full:hover,.filter-select-full:focus{border-color:var(--color-black);background-color:var(--bg-primary)}.sidebar-header{padding:var(--space-4) var(--space-3);border-bottom:var(--line-thin) solid var(--border-color);flex-shrink:0}.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.sidebar-title{margin:0;font-family:var(--font-display);font-size:16px;font-weight:var(--font-medium);color:var(--text-primary)}.sidebar-subtitle{margin:0;font-size:11px;color:var(--text-tertiary)}.sidebar-filter-dropdown{position:relative;top:4px;display:inline-block}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:auto;padding:2px var(--space-4) 2px var(--space-2);font-family:var(--font-body);font-size:11px;color:var(--text-secondary);background:var(--bg-secondary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;outline:none;transition:all var(--transition-fast)}.filter-select:hover,.filter-select:focus{color:var(--text-primary);border-color:var(--border-color-dark)}.sidebar-filter-dropdown:after{content:"";position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-tertiary);pointer-events:none}.sidebar-search{position:relative;padding:var(--space-1) var(--space-3);padding-bottom:2px;flex-shrink:0}.sidebar-search-input{width:100%;padding:var(--space-2) var(--space-3);padding-right:var(--space-6);font-family:var(--font-body);font-size:11px;font-weight:var(--font-medium);color:var(--text-primary);background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast);box-sizing:border-box}.sidebar-search-input::placeholder{color:var(--text-tertiary)}.sidebar-search-input:focus{border-color:var(--color-black);background:var(--bg-primary)}.sidebar-search-clear{position:absolute;right:calc(var(--space-3) + var(--space-2));top:50%;transform:translateY(-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-full);color:var(--text-secondary);font-size:12px;line-height:1;cursor:pointer;transition:all var(--transition-fast)}.sidebar-search-clear:hover{background:var(--color-black);color:#fff}.sidebar-empty{padding:var(--space-3);text-align:center;color:var(--text-tertiary);font-size:11px}.sidebar-places{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-cart{flex-shrink:0;border-top:var(--line-thin) solid var(--border-color);background:var(--bg-secondary);max-height:40%;display:flex;flex-direction:column}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:var(--line-thin) solid var(--border-color)}.cart-title{margin:0;font-size:12px;font-weight:var(--font-semibold);color:var(--text-primary)}.cart-count{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-full)}.cart-items{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.cart-item{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--bg-primary);border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-sm)}.cart-item-image{width:29px;height:29px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.cart-item-name{flex:1;display:flex;align-items:center;gap:2px;font-size:10px;font-weight:var(--font-medium);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-item-type{padding:1px 3px;font-size:7px;font-weight:var(--font-medium);background:var(--color-gray-200);color:var(--color-gray-800);border-radius:var(--radius-sm);flex-shrink:0}.cart-item-remove{width:19px;height:19px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;border-radius:var(--radius-full);transition:all var(--transition-fast);flex-shrink:0}.cart-item-remove:hover{background:#fee2e2;color:#ef4444}@media(max-width:768px){.expandable-sidebar{--country-panel-width: 160px;--places-panel-width: 190px}}@media(max-width:480px){.expandable-sidebar{display:none}}.explore-globe-layout{width:100%;height:100%;display:flex;background:#fff;overflow:hidden;position:relative}.explore-globe-layout.centered,.explore-globe-layout.sidebar-open{justify-content:center;align-items:center}.globe-main{flex:1;position:relative;background:#fff;min-width:0;max-width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-top:-50px}.globe-main .globe-header,.globe-main .globe-hint,.globe-main .globe-empty-message{display:none}@media(max-width:768px){.explore-globe-layout{flex-direction:column}.globe-main{width:100%;height:100%}}.globe-canvas{width:100%;height:100%;position:relative;background:#f5f5f5;display:flex;justify-content:center;align-items:center}.globe-hint-minimal{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:.75rem;color:#999;letter-spacing:.5px;pointer-events:none}.globe-instructions{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-6);background:#000c;color:var(--color-white);border-radius:var(--radius-full);font-size:var(--text-sm);pointer-events:none;z-index:var(--z-tooltip);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeInUp .6s ease .5s both}.globe-instructions p{margin:0;font-weight:var(--font-medium);letter-spacing:var(--tracking-wide)}:global(.globe-tooltip-explore){background:var(--color-black);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-medium);box-shadow:var(--shadow-lg);pointer-events:none;white-space:nowrap}:global(.globe-tooltip-explore b){font-weight:var(--font-semibold)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.globe-instructions{bottom:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}}@media(prefers-reduced-motion:reduce){.globe-instructions{animation:none;opacity:1}}.globe-canvas canvas{will-change:transform;backface-visibility:hidden}.recs-panel-inner{height:100%;padding:1.5rem;display:flex;flex-direction:column}.recs-panel-inner.empty{justify-content:center;align-items:center}.panel-empty-state{text-align:center;color:#999}.panel-empty-state .empty-icon{margin-bottom:1rem;opacity:.4}.panel-empty-state .empty-icon svg{stroke:#999}.panel-empty-state .empty-text{font-size:.875rem;line-height:1.6;margin:0}.recs-header{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e5e5e5}.recs-header .country-name{font-family:Cormorant Garamond,Georgia,serif;font-size:1.5rem;font-weight:500;margin:0 0 .25rem;color:#000;letter-spacing:-.01em}.recs-header .recs-count{font-size:.75rem;color:#888;text-transform:uppercase;letter-spacing:1px}.recs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;margin:0 -.5rem;padding:0 .5rem}.recs-list::-webkit-scrollbar{width:4px}.recs-list::-webkit-scrollbar-track{background:transparent}.recs-list::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}.recs-list::-webkit-scrollbar-thumb:hover{background:#ccc}.rec-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;border:1px solid #e8e8e8;border-radius:8px;background:#fff;transition:all .2s ease}.rec-card:hover{border-color:#ccc;background:#fafafa}.rec-card.added{background:#f8f8f8;border-color:#ddd}.rec-card.added .place-name,.rec-card.added .place-desc{opacity:.6}.rec-content{flex:1;min-width:0}.rec-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.rec-content .place-name{font-size:.9375rem;font-weight:600;margin:0;color:#000}.rec-content .place-type{font-size:.6875rem;color:#888;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.rec-content .place-desc{font-size:.8125rem;color:#666;margin:0;line-height:1.4}.add-btn{flex-shrink:0;padding:.375rem .75rem;border:1px solid #000;border-radius:100px;background:#fff;color:#000;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.add-btn:hover:not(:disabled){background:#000;color:#fff}.add-btn.added{background:#f0f0f0;border-color:#ccc;color:#666;cursor:default}.add-btn .added-check{color:#666}.add-btn .add-text{display:inline}@media(max-width:768px){.recs-panel-inner{padding:1rem}.recs-header .country-name{font-size:1.25rem}.rec-card{padding:.75rem}.rec-content .place-name{font-size:.875rem}.rec-content .place-desc{font-size:.75rem}}@media(prefers-reduced-motion:reduce){.rec-card,.add-btn{transition:none}}.planner-layout{width:100%;height:100%;display:flex;position:relative;overflow:hidden;background:#fff}.composer-panel{display:flex;flex-direction:column;background:#fff;z-index:10;transition:all .5s cubic-bezier(.4,0,.2,1);will-change:width,transform}.planner-layout.plan-mode .composer-panel{width:100%;max-width:100%;margin:0 auto}.planner-layout.plan-mode .composer-panel .composer-content{max-width:680px;margin:0 auto;padding:2rem;width:100%}.planner-layout.explore-mode .composer-panel{width:var(--sidebar-width-sm);min-width:var(--panel-width-compact);max-width:var(--panel-width-standard);border-right:1px solid var(--border-color);position:relative}.planner-layout.explore-mode .composer-panel .composer-content{padding:1rem;width:100%}.mode-toolbar{display:flex;gap:.5rem;padding:1rem 0;justify-content:center;margin-top:1rem}.mode-tab{padding:.625rem 1.5rem;border:1px solid #e5e5e5;border-radius:100px;background:#fff;color:#666;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;letter-spacing:.3px}.mode-tab:hover{border-color:#999;color:#333}.mode-tab.active{background:#000;border-color:#000;color:#fff}.mode-tab.active:hover{background:#222;border-color:#222}.journey-places-mini{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e5e5}.places-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.places-count{font-size:.75rem;color:#666;text-transform:uppercase;letter-spacing:1px;font-weight:500}.places-list-mini{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;margin-bottom:1rem}.place-chip{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#f5f5f5;border-radius:6px;font-size:.8125rem}.place-chip .place-name{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-chip .remove-place{background:none;border:none;color:#999;font-size:1rem;cursor:pointer;padding:0;margin-left:.5rem;line-height:1;transition:color .15s ease}.place-chip .remove-place:hover{color:#333}.plan-journey-btn{width:100%;padding:.75rem;background:#000;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease}.plan-journey-btn:hover{background:#222}.globe-panel{flex:1;position:relative;background:#fff;transition:opacity .4s ease,transform .5s cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.globe-panel.hidden{position:absolute;opacity:0;pointer-events:none;transform:scale(.98)}.globe-panel.visible{opacity:1;pointer-events:auto;transform:scale(1)}.recommendations-panel{position:absolute;right:0;top:0;bottom:0;width:var(--sidebar-width-md);background:var(--bg-primary);border-left:1px solid var(--border-color);z-index:var(--z-overlay);transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;overflow-y:auto}.recommendations-panel.visible{transform:translate(0)}.recommendations-panel.hidden{transform:translate(100%);pointer-events:none}@media(max-width:1024px){.planner-layout.explore-mode .composer-panel{width:var(--sidebar-width-sm);min-width:240px}.recommendations-panel{width:var(--sidebar-width-sm)}}@media(max-width:768px){.planner-layout.explore-mode{flex-direction:column}.planner-layout.explore-mode .composer-panel{width:100%;min-width:100%;height:auto;border-right:none;border-bottom:1px solid var(--border-color)}.globe-panel{min-height:400px}.recommendations-panel{width:100%;height:50%;top:auto;bottom:0;border-left:none;border-top:1px solid var(--border-color);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;transform:translateY(100%);padding-bottom:var(--safe-area-bottom)}.recommendations-panel.visible{transform:translateY(0)}.recommendations-panel.hidden{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.composer-panel,.globe-panel,.recommendations-panel,.mode-tab{transition:none}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.shimmer{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite;border-radius:var(--radius-md)}@media(prefers-reduced-motion:reduce){.shimmer{animation:none;background:var(--color-gray-100)}}.skeleton-bar{height:14px;border-radius:var(--radius-full)}.skeleton-bar--full{width:100%}.skeleton-bar--three-quarters{width:75%}.skeleton-bar--two-thirds{width:66%}.skeleton-bar--half{width:50%}.skeleton-bar--short{width:40%}.skeleton-text{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.skeleton-card{border:var(--line-thin) solid var(--color-gray-200);border-radius:var(--radius-lg);overflow:hidden;width:100%}.skeleton-card-header{height:80px;border-radius:0}.skeleton-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-itinerary{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.skeleton-itinerary-day-header{height:20px;width:45%;border-radius:var(--radius-full)}.skeleton-itinerary-activities{display:flex;flex-direction:column;gap:var(--space-3);padding-left:var(--space-2)}.skeleton-activity-row{display:flex;align-items:center;gap:var(--space-3)}.skeleton-activity-dot{flex-shrink:0;width:10px;height:10px;border-radius:var(--radius-full)}.skeleton-activity-row .skeleton-bar{flex:1}.coming-soon{display:flex;align-items:center;justify-content:center;height:100%;min-height:60vh;padding:2rem}.coming-soon-content{text-align:center;max-width:420px}.coming-soon-icon{color:var(--text-tertiary, #999);margin-bottom:1.5rem;display:flex;justify-content:center}.coming-soon-title{font-size:1.5rem;font-weight:600;color:var(--text-primary, #111);margin:0 0 .25rem;letter-spacing:-.02em}.coming-soon-subtitle{font-size:.95rem;font-weight:500;color:var(--text-secondary, #666);margin:0 0 1rem}.coming-soon-description{font-size:.875rem;line-height:1.6;color:var(--text-tertiary, #999);margin:0 0 1.5rem}.coming-soon-waitlist{margin-bottom:1.5rem}.waitlist-input-row{display:flex;gap:.5rem;margin-bottom:.5rem}.waitlist-input{flex:1;padding:.6rem .75rem;border:1px solid var(--border-light, #e0e0e0);border-radius:8px;font-size:.875rem;color:var(--text-primary, #111);background:var(--bg-primary, #fff);outline:none;transition:border-color .15s ease}.waitlist-input:focus{border-color:var(--text-primary, #111)}.waitlist-input::placeholder{color:var(--text-tertiary, #999)}.waitlist-button{background:var(--text-primary, #111);color:var(--bg-primary, #fff);border:none;padding:.6rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s ease;white-space:nowrap}.waitlist-button:hover{opacity:.85}.waitlist-error{font-size:.75rem;color:#dc3545;margin:.25rem 0 0}.waitlist-note{font-size:.75rem;color:var(--text-tertiary, #999);margin:.5rem 0 0}.waitlist-success{background:var(--bg-hover, #f5f5f5);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.waitlist-success p{font-size:.875rem;color:var(--text-secondary, #666);margin:0}.coming-soon-cta{background:var(--text-primary, #111);color:var(--bg-primary, #fff);border:none;padding:.6rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.coming-soon-cta:hover{opacity:.85}.toast-stack{position:fixed;top:100px;right:1.5rem;z-index:10000;pointer-events:none}.toast-stack-item{position:absolute;right:0;pointer-events:auto;transition:top .3s ease}.toast-stack-item .toast{position:relative;top:auto;right:auto}@media(max-width:768px){.toast-stack{top:1rem;left:1rem;right:1rem}.toast-stack-item{right:0;left:0}}.tier-results-zone{background:var(--color-gray-50, #FAFAFA);border:1px solid var(--border-color, #E5E5E5);border-radius:var(--radius-xl, 16px);padding:20px;margin-top:4px;animation:tierZoneFadeIn .3s ease-out}@keyframes tierZoneFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tier-zone-header{margin-bottom:16px}.tier-zone-title{font-size:13px;font-weight:600;color:var(--text-primary, #000000);letter-spacing:-.01em}.tier-zone-subtitle{font-size:12px;color:var(--color-gray-400, #A3A3A3);margin-top:2px}.tier-zone-helper{font-size:11px;color:var(--color-gray-400, #A3A3A3);margin-top:6px}.tier-cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tier-card{background:var(--bg-primary, #FFFFFF);border:1px solid var(--border-color, #E5E5E5);border-radius:var(--radius-lg, 12px);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative;overflow:hidden}.tier-card:hover{border-color:var(--color-gray-300, #D4D4D4);box-shadow:0 1px 4px #0000000a;transform:translateY(-1px)}.tier-card:active{transform:translateY(0)}.tier-card.selected{border-color:var(--color-black, #000000);box-shadow:0 0 0 1px var(--color-black, #000000)}.tier-card:nth-child(1){animation:tierCardFadeIn .35s ease-out .05s both}.tier-card:nth-child(2){animation:tierCardFadeIn .35s ease-out .12s both}.tier-card:nth-child(3){animation:tierCardFadeIn .35s ease-out .19s both}@keyframes tierCardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tier-card-bell{position:absolute;top:10px;right:10px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-gray-50, #FAFAFA);border:1px solid var(--color-gray-200, #E5E5E5);cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1);z-index:2}.tier-card-bell svg{width:14px;height:14px;color:var(--color-gray-400, #A3A3A3);transition:color .15s cubic-bezier(.4,0,.2,1)}.tier-card-bell:hover{background:var(--color-gray-100, #F5F5F5);border-color:var(--color-gray-300, #D4D4D4)}.tier-card-bell:hover svg{color:var(--color-gray-600, #525252)}.tier-card-bell.active{background:var(--color-black, #000000);border-color:var(--color-black, #000000)}.tier-card-bell.active svg{color:var(--color-white, #FFFFFF)}.tier-card-bell:after{content:"Watch price drops";position:absolute;top:100%;right:0;margin-top:4px;padding:3px 8px;background:var(--color-gray-800, #262626);color:var(--color-white, #FFFFFF);font-size:11px;white-space:nowrap;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.tier-card-bell:hover:after{opacity:1}.tier-card-bell.active:after{content:"Watching"}.tier-card-inner{padding:20px 16px 16px;display:flex;flex-direction:column;flex:1}.tier-card .card-title{font-size:15px;font-weight:600;color:var(--text-primary, #000000);line-height:1.2;margin-bottom:4px;letter-spacing:-.01em}.tier-card .card-vibe{font-size:12px;color:var(--text-tertiary, #737373);line-height:1.4;margin-bottom:16px}.tier-card .card-highlights-label{font-size:10px;font-weight:600;color:var(--color-gray-400, #A3A3A3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.tier-card .card-highlights{display:flex;flex-direction:column;gap:6px;flex:1;margin-bottom:16px}.tier-card .highlight-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary, #404040);line-height:1.3}.tier-card .highlight-dot{width:4px;height:4px;border-radius:50%;background:var(--color-gray-300, #D4D4D4);flex-shrink:0}.tier-card .card-cost{font-size:14px;color:var(--text-primary, #000000);font-weight:600;margin-bottom:2px;letter-spacing:-.01em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.tier-card .card-cost-note{font-size:11px;color:var(--color-gray-400, #A3A3A3);margin-bottom:14px}.tier-card .card-choose-btn{width:100%;padding:10px 16px;background:#000;color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s cubic-bezier(.4,0,.2,1);font-family:inherit;letter-spacing:.01em}.tier-card .card-choose-btn:hover{opacity:.85}.tier-card.selected .card-choose-btn{background:var(--color-gray-800, #262626)}.tier-card.fading-out{opacity:0;transform:scale(.97);transition:all .15s ease-out;pointer-events:none}.tier-card.selected-highlight{transform:scale(1.01);box-shadow:0 2px 8px #0000000f;transition:all .15s ease-out}.tier-cards-row.single-card{grid-template-columns:1fr}.tier-cards-row.two-cards{grid-template-columns:repeat(2,1fr)}@media(max-width:768px){.tier-cards-row{grid-template-columns:1fr;gap:8px}.tier-results-zone{padding:14px;border-radius:var(--radius-lg, 12px)}.tier-card-inner{padding:16px 14px 14px}}@media(prefers-reduced-motion:reduce){.tier-results-zone{animation:none}.tier-card:nth-child(1),.tier-card:nth-child(2),.tier-card:nth-child(3){animation:none}.tier-card,.tier-card.fading-out,.tier-card.selected-highlight,.tier-card .card-choose-btn{transition:none}}.markdown-content{font-size:inherit;line-height:inherit;color:inherit}.markdown-paragraph{margin:0 0 .4em}.markdown-paragraph:last-child{margin-bottom:0}.markdown-strong{font-weight:var(--font-semibold, 600)}.markdown-emphasis{font-style:italic}.markdown-list{margin:.3em 0;padding-left:1.5em}.markdown-list-unordered{list-style-type:disc}.markdown-list-ordered{list-style-type:decimal}.markdown-list-item{margin:.15em 0}.markdown-list .markdown-list{margin:.25em 0}.markdown-content a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:opacity var(--transition-fast, .15s)}.markdown-content a:hover{opacity:.8}.external-link-icon{font-size:.8em;opacity:.7}.inline-code{font-family:var(--font-mono, "SF Mono", Monaco, "Consolas", monospace);font-size:.9em;padding:.15em .4em;border-radius:var(--radius-sm, 4px);background:#0000001a}.message-bubble.assistant .inline-code{background:#ffffff26}.code-block{margin:.75em 0;padding:.75em 1em;border-radius:var(--radius-md, 8px);background:#0000001a;overflow-x:auto;font-family:var(--font-mono, "SF Mono", Monaco, "Consolas", monospace);font-size:.9em;line-height:1.5}.message-bubble.assistant .code-block{background:#ffffff1a}.markdown-blockquote{margin:.75em 0;padding:.5em 1em;border-left:3px solid currentColor;opacity:.9;font-style:italic}.markdown-heading{font-weight:var(--font-semibold, 600);margin:.6em 0 .3em}.markdown-heading:first-child{margin-top:0}.markdown-h1{font-size:1.1em}.markdown-h2{font-size:1.05em}.markdown-h3{font-size:1em}.markdown-hr{border:none;border-top:1px solid currentColor;opacity:.3;margin:1em 0}.markdown-table-wrapper{overflow-x:auto;margin:.75em 0}.markdown-table{border-collapse:collapse;width:100%;font-size:.9em}.markdown-table th,.markdown-table td{padding:.5em .75em;border:1px solid currentColor;border-color:#8080804d;text-align:left}.markdown-table th{font-weight:var(--font-semibold, 600);background:#0000000d}.message-bubble.assistant .markdown-table th{background:#ffffff1a}.markdown-checkbox{margin-right:.5em;vertical-align:middle}.markdown-content del{text-decoration:line-through;opacity:.7}@media(max-width:768px){.markdown-list{padding-left:1.25em}.code-block{padding:.5em .75em;font-size:.85em}}.editable-message{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-4, 16px);background:var(--bg-primary, #ffffff);border:1px solid var(--color-black, #000000);border-radius:var(--radius-xl, 16px);animation:editFadeIn .15s ease-out;width:100%;max-width:600px}@keyframes editFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.edit-textarea{width:100%;min-height:60px;max-height:200px;padding:0;border:none;font-family:var(--font-body, system-ui);font-size:var(--text-base, 16px);line-height:var(--leading-relaxed, 1.6);color:var(--text-primary, #000000);background:transparent;resize:none;outline:none}.edit-textarea:focus{background:transparent}.edit-textarea::placeholder{color:var(--text-tertiary, #94a3b8)}.edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2, 8px);margin-top:auto}.edit-action-btn{padding:6px 16px;border-radius:var(--radius-full, 9999px);font-size:var(--text-sm, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-fast, .15s)}.cancel-btn{background:transparent;border:1px solid var(--border-color, #e5e7eb);color:var(--text-secondary, #666666)}.cancel-btn:hover{background:var(--bg-hover, #f5f5f5);color:var(--text-primary, #000000)}.save-btn{background:var(--color-black, #000000);border:none;color:var(--color-white, #ffffff)}.save-btn:hover:not(:disabled){background:var(--color-gray-800, #1f2937)}.save-btn:disabled{opacity:.4;cursor:not-allowed}.edit-hint{display:none}@media(max-width:768px){.editable-message{padding:var(--space-3, 12px)}.edit-textarea{min-height:50px;font-size:var(--text-sm, 14px)}.edit-action-btn{padding:5px 12px;font-size:var(--text-xs, 12px)}}.editable-message:focus-within{border-color:var(--color-black, #000000);box-shadow:0 4px 12px #00000014}@media(prefers-reduced-motion:reduce){.editable-message{animation:none}}.expedia-flight-card-container{width:100%;margin-bottom:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.expedia-card-header-banner{background-color:#000;color:#fff;font-weight:600;font-size:13px;padding:10px 16px;border-radius:12px 12px 0 0;letter-spacing:.01em}.expedia-flight-card{background-color:#fff;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;position:relative;box-shadow:none}.expedia-flight-card.has-header-banner{border-top-left-radius:0;border-top-right-radius:0;border-top:none}.expedia-card-top-badges{padding:14px 16px 0;display:flex;align-items:center;gap:10px}.expedia-badge-yellow{background-color:#f5f5f5;color:#000;font-weight:600;font-size:12px;padding:4px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;border:1px solid #e5e5e5}.expedia-badge-green{background-color:#f0fdf4;color:#166534;font-weight:600;font-size:12px;padding:4px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.expedia-card-body-layout{display:flex;flex-direction:row;padding:16px}.expedia-card-legs-container{flex:1;display:flex;flex-direction:column}.expedia-flight-leg{display:flex;flex-direction:row;padding:10px 0;align-items:flex-start}.expedia-flight-leg.last-leg{border-bottom:none}.leg-logo-container{width:40px;height:40px;flex-shrink:0;margin-right:14px;display:flex;align-items:center;justify-content:center}.flight-card-airline{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:#fafafa;border:1px solid #f0f0f0;border-radius:6px;padding:2px}.flight-card-airline img{width:100%;height:100%;object-fit:contain}.flight-card-airline-text{width:32px;height:32px;background-color:#e5e5e5;color:#525252;font-weight:600;font-size:11px;display:flex;align-items:center;justify-content:center;border-radius:6px}.leg-main-info{flex:1;display:flex;flex-direction:column;gap:3px}.leg-date-row{font-size:11px;font-weight:600;color:#737373;text-transform:uppercase;letter-spacing:.04em}.leg-times-row{display:flex;align-items:center;gap:8px}.highlight-text{font-weight:600;color:#000;font-size:15px;letter-spacing:-.01em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.leg-time{position:relative}.leg-next-day{font-size:10px;vertical-align:super;margin-left:2px;color:#a3a3a3}.leg-timeline{display:flex;align-items:center;width:40px}.timeline-line{flex:1;height:1px;background-color:#d4d4d4}.timeline-dot{width:5px;height:5px;border-radius:50%;background-color:#d4d4d4;margin:0 -1px}.leg-airport-row{font-size:13px;color:#737373}.leg-carrier-row{font-size:12px;color:#a3a3a3}.leg-duration-info{width:130px;display:flex;flex-direction:column;gap:3px;padding-left:16px}.leg-duration{font-size:14px;color:#525252}.leg-layover{font-size:12px;color:#a3a3a3}.expedia-card-pricing-container{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;padding-left:24px;min-width:140px}.expedia-scarcity-text{color:#737373;font-size:12px;font-weight:500;margin-bottom:4px}.expedia-price-val{font-size:22px;font-weight:700;color:#000;line-height:1.1;letter-spacing:-.02em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.expedia-dual-price{display:flex;flex-direction:column;align-items:flex-end}.expedia-points-val{font-size:20px;font-weight:700;color:#000;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.expedia-currency{font-size:13px;font-weight:500;color:#737373}.expedia-cash-cross{font-size:13px;color:#a3a3a3;text-decoration:line-through}.expedia-trip-desc{font-size:12px;color:#737373;margin-top:4px}.expedia-cpp-val{background:none;color:#166534;padding:0;border-radius:0;font-size:12px;font-weight:600;margin-top:6px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.expedia-card-footer{display:flex;justify-content:space-between;padding:10px 16px;border-top:1px solid #f0f0f0;background-color:#fafafa}.expedia-footer-right{margin-left:auto}.expedia-details-link{color:#525252;text-decoration:none;font-size:13px;font-weight:500}.expedia-details-link:hover{color:#000;text-decoration:underline}@media(max-width:768px){.expedia-card-body-layout{flex-direction:column}.expedia-card-pricing-container{align-items:flex-start;padding-left:0;margin-top:14px;padding-top:14px;border-top:1px solid #f0f0f0}.leg-duration-info{text-align:right}}.flight-card-alert-btn{background:none;border:none;cursor:pointer;color:var(--color-gray-400, #a3a3a3);padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-left:8px}.flight-card-alert-btn svg{width:16px;height:16px}.flight-card-alert-btn:hover{color:#525252;background:#f5f5f5}.flight-card-alert-btn.active{color:#000}.flight-results-zone{background:var(--color-gray-50, #fafafa);border:1px solid var(--border-color, #e5e5e5);border-radius:16px;padding:16px;margin-top:4px;max-width:600px}.flight-results{display:flex;flex-direction:column;gap:12px}.flight-savings-hint{font-size:12px;color:#166534;font-weight:500;margin-top:12px;padding-left:2px;letter-spacing:.01em}.card-rec-hint{padding:8px 0 0;margin-top:8px;border-top:1px solid #f0f0f0;font-size:11px;color:var(--text-tertiary, #a3a3a3);line-height:1.5}.card-rec-hint-icon{font-size:10px;opacity:.4;margin-right:3px}.card-rec-hint strong{font-weight:600;color:var(--text-secondary, #525252)}.card-rec-hint-cta{color:var(--text-tertiary, #a3a3a3);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:pointer;margin-left:2px;font-size:11px}.card-rec-hint-cta:hover{color:var(--text-primary, #000000)}.source-citations{margin-top:8px;padding-top:6px;border-top:1px dashed var(--color-gray-300)}.source-citations-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:2px 0;cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-tertiary);letter-spacing:.01em;transition:color .15s ease}.source-citations-toggle:hover{color:var(--text-secondary)}.source-citations-toggle-arrow{display:inline-block;font-size:10px;transition:transform .2s ease;line-height:1}.source-citations-toggle-arrow.expanded{transform:rotate(90deg)}.source-citations-list{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s ease,opacity .2s ease,margin .2s ease;margin-top:0}.source-citations-list.expanded{max-height:300px;opacity:1;margin-top:6px}.source-citation-item{display:flex;align-items:flex-start;gap:6px;padding:4px 0;font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-snug)}.source-citation-item+.source-citation-item{border-top:1px dashed var(--color-gray-200)}.source-citation-icon{flex-shrink:0;width:14px;height:14px;display:flex;align-items:center;justify-content:center;font-size:11px;line-height:1;margin-top:1px;opacity:.7}.source-citation-content{flex:1;min-width:0}.source-citation-label{font-weight:var(--font-medium);color:var(--text-secondary)}.source-citation-link{color:inherit;text-decoration:none;transition:text-decoration .15s ease}.source-citation-link:hover{text-decoration:underline}.source-citation-link:focus-visible{outline:2px solid var(--color-black, #000000);outline-offset:2px}.source-citation-external-icon{display:inline;font-size:11px;opacity:.5;margin-left:2px}.source-citation-detail{display:block;margin-top:1px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-citation-freshness{flex-shrink:0;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:1px 5px;border-radius:2px;line-height:1.4;margin-top:1px}.source-citation-freshness.verified{border:1px solid var(--color-gray-400);color:var(--text-secondary)}.source-citation-freshness.recent{border:1px dashed var(--color-gray-400);color:var(--text-tertiary)}.source-citation-freshness.aging{border:1px dashed var(--color-gray-300);color:var(--color-gray-400)}.source-citations-disclosure{margin:6px 0 0;padding-top:4px;border-top:1px dashed var(--color-gray-200);font-size:11px;font-style:italic;color:var(--color-gray-400);line-height:1.4}.booking-chips-wrapper{margin-top:16px;width:100%}.booking-chips-row{display:flex;flex-wrap:wrap;gap:8px;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease}.booking-chips-row.visible{opacity:1;transform:translateY(0)}.affiliate-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid #e5e5e5;border-radius:10px;text-decoration:none;color:inherit;cursor:pointer;transition:all .2s ease;opacity:0;animation:chipEntrance .4s cubic-bezier(.25,.46,.45,.94) forwards;min-width:150px}@keyframes chipEntrance{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.affiliate-chip:hover{border-color:#d4d4d4;box-shadow:0 1px 4px #0000000a;transform:translateY(-1px)}.affiliate-chip-logo{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:6px;overflow:hidden;background:#fafafa}.affiliate-chip-logo img{width:100%;height:100%;object-fit:contain;padding:2px}.affiliate-chip-icon{font-size:13px;font-weight:600;color:#737373}.affiliate-chip-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.affiliate-chip-name{font-size:13px;font-weight:600;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.affiliate-chip-action{font-size:11px;color:#a3a3a3}.affiliate-chip-arrow{flex-shrink:0;color:#d4d4d4;transition:color .2s ease}.affiliate-chip:hover .affiliate-chip-arrow{color:#737373}@media(max-width:480px){.booking-chips-row{flex-direction:column}.affiliate-chip{min-width:0}}.booking-path-diagram{margin-top:12px;padding:14px 16px;border-radius:12px;width:100%;box-sizing:border-box;font-family:var(--font-body, system-ui, sans-serif);background:#fff;border:1px solid #e5e5e5}.bpd-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.bpd-header svg{color:#94a3b8}.bpd-paths{display:flex;flex-direction:column;gap:14px}.bpd-path-row{display:flex;align-items:center;gap:6px;padding:8px 0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.bpd-path-row::-webkit-scrollbar{display:none}.bpd-path-row+.bpd-path-row{border-top:1px solid rgba(0,0,0,.05);padding-top:14px}.bpd-node{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:56px;cursor:pointer;transition:transform .15s ease,opacity .15s ease;flex-shrink:0}.bpd-node:hover{transform:translateY(-2px);opacity:.85}.bpd-node:focus-visible{outline:2px solid #000000;outline-offset:4px;border-radius:8px}.bpd-no-link{cursor:default}.bpd-no-link:hover{transform:none;opacity:1}.bpd-logo-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;box-shadow:0 1px 4px #0000001f;flex-shrink:0}.bpd-logo-circle img{border-radius:2px;object-fit:contain}.bpd-initials{font-weight:700;letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.bpd-node-label{font-size:11px;font-weight:600;color:#000;text-align:center;line-height:1.2;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bpd-node-sublabel{font-size:10px;font-weight:500;color:#64748b;text-align:center;line-height:1.1}.bpd-dest-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#0f172a0f;color:#000}.bpd-destination .bpd-node-label{max-width:88px}.bpd-arrow{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;min-width:44px}.bpd-arrow-line{color:#94a3b8;display:flex;align-items:center;line-height:0}.bpd-arrow-highlight .bpd-arrow-line{color:#16a34a}.bpd-arrow-label{font-size:9px;font-weight:600;color:#64748b;text-align:center;white-space:nowrap;line-height:1}.bpd-arrow-highlight .bpd-arrow-label{color:#16a34a}.bpd-footer-note{margin-top:10px;font-size:10px;color:#94a3b8;text-align:center}@media(max-width:480px){.booking-path-diagram{padding:12px}.bpd-path-row{gap:4px}.bpd-node{min-width:48px}.bpd-node-label{font-size:10px;max-width:56px}.bpd-arrow{min-width:32px}.bpd-arrow-line svg{width:28px}}.sweet-spot-card{width:100%;margin-bottom:12px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.sweet-spot-inner{background:#fff;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.sweet-spot-inner:hover{border-color:#d4d4d4;box-shadow:0 1px 4px #0000000a}.sweet-spot-inner.expanded{border-color:#000}.sweet-spot-badge{background:transparent;color:#737373;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:8px 16px 0;display:flex;align-items:center;gap:6px}.sweet-spot-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0}.sweet-spot-body{display:flex;align-items:center;padding:12px 16px 14px;gap:14px}.sweet-spot-logo{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#fafafa;border-radius:8px;padding:4px;border:1px solid #f0f0f0}.sweet-spot-logo img{width:100%;height:100%;object-fit:contain}.sweet-spot-logo-fallback{width:100%;height:100%;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#737373}.sweet-spot-route{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.sweet-spot-details{display:flex;flex-direction:column;gap:2px;min-width:0}.sweet-spot-route-text{font-size:14px;font-weight:600;color:#000;letter-spacing:-.01em;line-height:1.3}.sweet-spot-program{font-size:12px;color:#737373;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sweet-spot-transfer{font-size:11px;color:#a3a3a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sweet-spot-pricing{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.sweet-spot-points{font-size:18px;font-weight:700;color:#000;line-height:1.1;letter-spacing:-.02em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace}.sweet-spot-pts-label{font-size:12px;font-weight:500;color:#737373;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sweet-spot-cash{font-size:12px;color:#a3a3a3;margin-top:2px}.sweet-spot-cpp{font-size:12px;font-weight:600;margin-top:4px;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Menlo,monospace;color:#737373}.sweet-spot-cpp.cpp-great{background:none;color:#166534}.sweet-spot-cpp.cpp-good{background:none;color:#525252}.sweet-spot-cpp.cpp-poor{background:none;color:#a3a3a3}.sweet-spot-expand{flex-shrink:0;color:#d4d4d4;transition:transform .3s ease,color .2s ease;margin-left:4px}.sweet-spot-expand svg{width:18px;height:18px}.sweet-spot-inner:hover .sweet-spot-expand{color:#a3a3a3}.sweet-spot-inner.expanded .sweet-spot-expand{transform:rotate(180deg);color:#525252}.sweet-spot-expanded{border-top:1px solid #f0f0f0;background:#fafafa;border-radius:0 0 12px 12px;border:1px solid #e5e5e5;border-top:none;animation:sstSlideDown .3s ease forwards}@keyframes sstSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sweet-spot-diagram{padding:16px 20px}.sweet-spot-actions{padding:0 16px 16px;display:flex;justify-content:flex-end}.sweet-spot-plan-btn{background:#000;color:#fff;border:none;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.sweet-spot-plan-btn:hover{opacity:.85}@media(max-width:768px){.sweet-spot-body{flex-wrap:wrap}.sweet-spot-pricing{align-items:flex-start;width:100%;flex-direction:row;gap:12px;padding-top:12px;border-top:1px solid #f0f0f0}}.message-bubble{display:flex;max-width:85%;animation:fadeIn .2s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.message-bubble.user{align-self:flex-end;margin-left:auto;flex-direction:column;align-items:flex-end}.message-bubble.user .bubble-content{background:var(--bg-tertiary, #f5f5f5);color:var(--color-black, #000000);border:var(--line-thin) solid var(--border-color, #e5e5e5);border-radius:var(--radius-full);padding:var(--space-3) var(--space-5)}.message-bubble.user .message-text{color:var(--color-black, #000000)}.message-bubble.assistant{align-self:flex-start;margin-right:auto}.message-bubble.assistant .bubble-content{background:transparent;color:var(--color-black, #000000);border-radius:0;padding:0}.assistant-label{font-family:var(--font-display, "Cormorant Garamond", Georgia, serif);font-size:15px;font-weight:700;color:var(--color-gray-700, #404040);margin-bottom:6px;letter-spacing:.01em}.message-bubble.assistant .message-text{color:var(--color-black, #000000);font-size:15px;line-height:1.6}.message-bubble.assistant .message-text p,.message-bubble.assistant .message-text span,.message-bubble.assistant .message-text div{color:inherit}.bubble-content{padding:var(--space-5) var(--space-6);position:relative}.message-text{margin:0;font-size:var(--text-base, 16px);line-height:1.5;word-wrap:break-word;letter-spacing:.01em}.message-text.raw-text{white-space:pre-wrap}.message-timestamp{display:block;margin-top:var(--space-2);font-size:var(--text-xs);opacity:0;transition:opacity var(--transition-fast);cursor:default}.message-timestamp.visible{opacity:.6}.user-message-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-3);opacity:0;transition:opacity var(--transition-fast)}.user-message-footer.visible{opacity:1}@media(max-width:768px){.user-message-footer{opacity:.7}}.user-message-footer .message-timestamp{color:var(--text-tertiary);font-size:var(--text-sm)}.user-message-footer .message-actions{display:flex;align-items:center;gap:var(--space-1);opacity:1;margin-top:0}.message-bubble.assistant .message-timestamp{color:var(--text-tertiary);text-align:left}@media(max-width:768px){.message-timestamp{opacity:.5}}.sweet-spots-section{margin-top:16px}.sweet-spots-divider{display:flex;align-items:center;gap:12px;margin-bottom:10px}.sweet-spots-divider:before,.sweet-spots-divider:after{content:"";flex:1;height:1px;background:#e5e5e5}.sweet-spots-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#a3a3a3;white-space:nowrap}.message-footer-zone{display:flex;align-items:center;gap:var(--space-3, 12px);margin-top:var(--space-2, 8px)}.memory-used-indicator{display:inline-block;font-size:11px;color:var(--text-tertiary, #737373);letter-spacing:var(--tracking-wide, .025em);font-style:italic}.edit-message-btn{position:absolute;top:50%;transform:translateY(-50%);right:calc(100% + var(--space-2));width:28px;height:28px;padding:0;background:var(--bg-secondary, #f5f5f5);border:var(--line-thin) solid var(--border-color, #e5e5e5);border-radius:var(--radius-full);cursor:pointer;opacity:0;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.edit-message-btn svg{width:14px;height:14px;color:var(--text-secondary)}.message-bubble.user:hover .edit-message-btn{opacity:1}.edit-message-btn:hover{background:var(--bg-tertiary);border-color:var(--border-color-dark)}.edit-message-btn:hover svg{color:var(--text-primary)}.message-bubble.editing .edit-message-btn{display:none}.message-bubble.clarifying_question .bubble-content{background:transparent;color:var(--color-black, #000000);border-left:2px solid var(--color-black);padding-left:var(--space-4)}.message-bubble.confirmation .bubble-content{background:transparent;color:var(--color-black, #000000)}.message-bubble.itinerary_ready{flex-direction:column}.itinerary-ready-text{color:var(--text-primary, #000000);padding:0 0 var(--space-4, 16px) 0}.itinerary-ready-text .message-text{font-size:var(--text-base, 16px);line-height:1.5}.itinerary-followup-text{font-size:var(--text-base, 16px);color:var(--text-primary, #000000);margin-top:var(--space-4, 16px);line-height:1.5}.view-journey-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:10px 24px;background:#000;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s ease;font-family:inherit}.view-journey-btn:hover{opacity:.85}.message-bubble.generating .bubble-content{background:transparent;color:var(--text-secondary, #666666);font-style:italic}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--color-black, #000000);margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}.message-bubble.streaming .bubble-content{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.message-bubble.error .bubble-content{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.message-error-card{background:#fef3c7;border:1px solid #f59e0b;border-radius:12px;padding:14px 18px;max-width:420px}.error-card-header{display:flex;align-items:flex-start;gap:10px}.error-card-icon{width:18px;height:18px;flex-shrink:0;color:#d97706;margin-top:1px}.error-card-text{font-size:14px;line-height:1.5;color:#92400e}.error-retry-btn{display:inline-flex;align-items:center;margin-top:10px;padding:6px 16px;background:#000;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s ease}.error-retry-btn:hover{opacity:.85}.message-bubble.editing{max-width:90%}.message-bubble.editing .bubble-content{display:none}@media(max-width:768px){.message-bubble{max-width:92%}.bubble-content{padding:var(--space-4) var(--space-5)}.message-text{font-size:var(--text-base);line-height:1.5}.message-bubble.user .edit-message-btn{opacity:.6}.edit-message-btn{width:24px;height:24px;right:calc(100% + var(--space-1))}.edit-message-btn svg{width:12px;height:12px}}.message-actions{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);opacity:0;transition:opacity var(--transition-fast)}.assistant-actions-row{display:flex;align-items:center;gap:16px;margin-top:4px;opacity:0;transition:opacity var(--transition-fast)}.assistant-actions-row.visible{opacity:1}.assistant-actions-row .message-timestamp{display:inline;margin-top:0;color:var(--text-tertiary);font-size:var(--text-xs)}.assistant-actions-row .message-timestamp.visible{opacity:.6}.assistant-actions-row .message-actions{margin-top:0;opacity:1}.assistant-actions-row .message-actions.visible{opacity:1}.assistant-actions-row:hover .message-timestamp{opacity:.8}.message-bubble:hover .message-actions{opacity:1}@media(max-width:768px){.message-actions{opacity:.7}}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-tertiary, #999);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.action-btn svg{width:16px;height:16px}.action-btn:hover{background:var(--bg-tertiary, #f5f5f5);color:var(--text-primary, #000)}.action-btn.active{color:var(--color-black, #000)}.action-btn.active svg{fill:currentColor}.action-btn.active[aria-label="Good response"]{color:var(--color-black)}.action-btn.active[aria-label="Bad response"]{color:#ef4444}.compact .message-text{font-size:var(--text-sm, 14px);line-height:1.6}.compact .message-bubble.assistant .bubble-content{padding:0;background:transparent}.compact .action-btn{width:24px;height:24px}.compact .action-btn svg{width:14px;height:14px}@media(prefers-reduced-motion:reduce){.message-bubble{animation:none}.streaming-cursor{animation:none;opacity:.7}.message-bubble.streaming .bubble-content{animation:none}.message-actions,.action-btn{transition:none}.streaming-dot{animation:none}}.streaming-placeholder{padding:var(--space-3) var(--space-4)!important}.streaming-dots{display:flex;gap:6px;align-items:center;height:24px}.streaming-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-gray-400);animation:streamingPulse 1.4s ease-in-out infinite}.streaming-dot:nth-child(2){animation-delay:.2s}.streaming-dot:nth-child(3){animation-delay:.4s}@keyframes streamingPulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.thinking-indicator{display:flex;flex-direction:column;align-self:flex-start;animation:thinkingFadeIn .3s ease-out}.thinking-bubble{display:flex;align-items:center;gap:10px;padding:var(--space-3, 12px) 0;background:transparent;border:none;width:fit-content}.thinking-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--text-primary, #000000);animation:thinkingPulse 1.5s ease-in-out infinite;flex-shrink:0}.thinking-label{font-size:14px;color:var(--text-secondary, #404040);font-weight:500}.gen-header{display:flex;align-items:center;gap:10px;padding-bottom:10px}.gen-title{font-size:14px;font-weight:600;color:var(--text-primary, #000000)}.gen-title.shimmer{background:linear-gradient(90deg,#737373 0% 44%,#525252 47%,#000,#525252 53%,#737373 56% 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmerWave 3.5s linear infinite}.gen-timer{font-size:12px;color:var(--text-tertiary, #737373);font-variant-numeric:tabular-nums;font-family:SF Mono,Monaco,Cascadia Code,Courier New,monospace;letter-spacing:-.02em;min-width:28px;text-align:right;margin-left:auto}.gen-progress{width:100%;height:2px;background:var(--color-gray-100, #F5F5F5);border-radius:1px;overflow:hidden;margin-bottom:10px}.gen-progress-fill{height:100%;background:var(--text-primary, #000000);border-radius:1px;transition:width .8s cubic-bezier(.4,0,.2,1)}.gen-steps{display:flex;flex-direction:column;gap:0;position:relative}.gen-step{display:flex;align-items:flex-start;gap:10px;padding:5px 0;opacity:0;transform:translateY(4px);animation:stepFadeIn .35s ease-out forwards}.gen-step.visible{opacity:1;transform:translateY(0)}.gen-step-connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px}.gen-step-marker{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--color-gray-300, #D4D4D4);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-primary, #FFFFFF);position:relative;z-index:1;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.gen-step.done .gen-step-marker{border-color:var(--color-gray-400, #A3A3A3);background:var(--color-gray-400, #A3A3A3)}.gen-step.active .gen-step-marker{border-color:var(--text-primary, #000000);background:var(--bg-primary, #FFFFFF)}.gen-step.active .gen-step-marker:after{content:"";position:absolute;inset:1px;border-radius:50%;border:1.5px solid transparent;border-top-color:var(--text-primary, #000000);border-right-color:var(--text-primary, #000000);animation:arcSpin .8s linear infinite}.gen-check-svg{opacity:0;transform:scale(.5);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.gen-step.done .gen-check-svg{opacity:1;transform:scale(1)}.gen-step-line{width:1px;height:0;background:var(--color-gray-200, #E5E5E5);transition:height .6s cubic-bezier(.4,0,.2,1)}.gen-step.done .gen-step-line.filled{height:10px}.gen-step:last-child .gen-step-line{display:none}.gen-step-title{font-size:13px;color:var(--text-secondary, #404040);line-height:18px;padding-top:0;transition:color .2s ease}.gen-step.active .gen-step-title{color:var(--text-primary, #000000);font-weight:500}.gen-step.done .gen-step-title{color:var(--text-tertiary, #737373)}@keyframes shimmerWave{0%{background-position:200% 0}to{background-position:-100% 0}}@keyframes arcSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes thinkingPulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}@keyframes thinkingFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.thinking-nudge{display:flex;align-items:baseline;gap:6px;margin-top:5px;padding-left:18px;font-size:12px;opacity:0;animation:nudgeFadeIn .5s ease-out .8s forwards}.thinking-nudge-tree{color:var(--text-tertiary, #D4D4D4);font-family:monospace;line-height:1}.thinking-nudge-text{color:var(--text-tertiary, #A3A3A3)}.thinking-nudge-text strong{color:var(--text-secondary, #737373);font-weight:600}.thinking-nudge-sep{color:var(--text-tertiary, #D4D4D4)}.thinking-nudge-cta{color:var(--text-secondary, #737373);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:pointer;transition:color .15s ease}.thinking-nudge-cta:hover{color:var(--text-primary, #404040)}.thinking-nudge-dismiss{background:none;border:none;color:var(--text-tertiary, #D4D4D4);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;margin-left:4px;transition:color .15s ease}.thinking-nudge-dismiss:hover{color:var(--text-secondary, #737373)}@keyframes nudgeFadeIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.thinking-indicator{animation:none}.thinking-pulse-dot{animation:none;opacity:.6}.gen-title.shimmer{animation:none;background:none;-webkit-text-fill-color:var(--text-primary, #000000)}.gen-step.active .gen-step-marker:after{animation:none}.gen-step{animation:none;opacity:1;transform:none}.thinking-nudge{animation:none;opacity:1}}.chat-container{display:flex;flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:0;background:transparent;border:none;box-shadow:none}.chat-container.page-scroll-mode{min-height:auto}.chat-input-section{width:100%;max-width:var(--content-wide, 1000px);margin:0 auto;padding:0 var(--space-4);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-4);background:transparent;border:none;box-shadow:none}.chat-actions{display:flex;justify-content:center;gap:var(--space-3)}.new-trip-button{padding:var(--space-2) var(--space-5);background:transparent;border:var(--line-thin) solid var(--border-color);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.new-trip-button:hover{background:var(--bg-tertiary);border-color:var(--border-color-dark);color:var(--text-primary)}.chat-messages-section{width:100%;margin-top:var(--space-10, 2.5rem);padding-bottom:var(--space-16, 4rem)}.messages-content{display:flex;flex-direction:column;gap:var(--space-6);width:100%;max-width:var(--content-wide, 1000px);margin:0 auto;padding:var(--space-4) var(--space-4) 0}.scroll-anchor{height:1px}.scroll-to-bottom-btn{position:fixed;bottom:calc(var(--composer-height, 80px) + 24px);left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;padding:0;background:transparent;color:var(--color-black);border:none;cursor:pointer;z-index:100;transition:opacity .15s ease}.scroll-to-bottom-btn.hiding{opacity:0;pointer-events:none}.scroll-to-bottom-btn svg{width:24px;height:24px}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.scroll-to-bottom-btn{bottom:120px}.scroll-to-bottom-btn svg{width:20px;height:20px}}@media(prefers-reduced-motion:reduce){.scroll-to-bottom-btn{animation:none}}.generation-status{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center;background:var(--bg-secondary);border-radius:var(--radius-xl)}.generation-spinner{width:48px;height:48px;border:3px solid var(--border-color-light);border-top-color:var(--color-black);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--space-4)}@keyframes spin{to{transform:rotate(360deg)}}.generation-status p{margin:0;font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--font-medium)}.generation-status .generation-note{margin-top:var(--space-2);font-size:var(--text-base);color:var(--text-tertiary);font-weight:var(--font-regular)}.generation-status .generation-message{display:inline-flex;align-items:center}.streaming-cursor-inline{display:inline-block;width:2px;height:1em;background:var(--text-primary);margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-container.empty-state{margin-top:20px}.chat-container.empty-state .chat-input-section{padding-top:var(--space-2)}.chat-container.empty-state .composer-container{max-width:600px;margin-left:auto;margin-right:auto}.chat-empty-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px 32px;gap:24px}.chat-empty-title{margin:0;font-size:18px;font-weight:500;color:var(--color-text-primary, #1a1a1a);opacity:.7}.suggested-prompts{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:520px}.suggested-prompt-btn{background:#0000000a;border:1px solid rgba(0,0,0,.1);border-radius:20px;padding:8px 16px;font-size:13px;color:var(--color-text-primary, #1a1a1a);cursor:pointer;transition:all .15s ease;font-family:inherit}.suggested-prompt-btn:hover{background:#00000014;border-color:#0003}.suggested-prompt-btn:active{transform:scale(.97)}.chat-container.chat-mode-active{height:100%;display:flex;flex-direction:column;overflow:hidden}.chat-container.chat-mode-active .chat-messages-section{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;margin-top:0;padding-bottom:max(200px,35vh);scroll-padding-bottom:max(200px,35vh)}.chat-container.chat-mode-active .chat-input-section{flex-shrink:0;position:relative;z-index:50;background:transparent;padding:var(--space-1) var(--space-4);padding-bottom:3rem;max-width:var(--content-wide, 1000px);box-shadow:none}.chat-container.chat-mode-active .chat-input-section:before{content:"";position:absolute;top:-100px;bottom:0;left:50%;transform:translate(-50%);width:100vw;background:linear-gradient(to bottom,transparent 0%,var(--bg-primary) 100px);pointer-events:none;z-index:-1}.chat-container.chat-mode-active .chat-input-section:after{display:none}@media(max-width:768px){.chat-container{max-width:100%}.chat-input-section{padding:0 var(--space-3)}.messages-content{padding:0 var(--space-3);gap:var(--space-4)}.chat-messages-section{margin-top:var(--space-8);padding-bottom:var(--space-12)}.chat-container.chat-mode-active .chat-messages-section{padding-bottom:max(180px,30vh);scroll-padding-bottom:max(180px,30vh)}.chat-container.chat-mode-active .chat-input-section{padding:var(--space-2) var(--space-3);padding-bottom:var(--space-3)}}.post-generation-actions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.post-gen-chip{padding:8px 18px;background:transparent;color:var(--text-primary, #000);border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-full, 9999px);font-size:var(--text-sm, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all .15s ease;white-space:nowrap}.post-gen-chip:hover{background:var(--bg-tertiary, #f5f5f5);border-color:var(--border-color-dark, #d4d4d4)}.post-gen-chip:active{transform:scale(.97)}.load-earlier-messages{display:block;margin:0 auto var(--space-4, 16px);padding:var(--space-2, 8px) var(--space-5, 20px);background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary, #666);border:1px solid var(--border-color, #e5e5e5);border-radius:var(--radius-full, 999px);font-size:var(--text-sm, 14px);font-weight:var(--font-medium, 500);cursor:pointer;transition:all var(--transition-fast, .15s)}.load-earlier-messages:hover{background:var(--bg-tertiary, #eee);border-color:var(--border-color-dark, #ccc);color:var(--text-primary, #000)}@media(prefers-reduced-motion:reduce){.generation-spinner{animation:none}}.history-card{padding:var(--space-3);background:#fff;border-radius:12px;cursor:pointer;transition:all .2s ease;border:1px solid #e8e8e8;box-shadow:0 1px 3px #0000000d}.history-card:hover{border-color:#d0d0d0;transform:translateY(-1px);box-shadow:0 3px 12px #00000014}.history-card.active{border-color:#bfdbfe;background:#f8faff;box-shadow:0 1px 4px #2563eb14}.history-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.history-card-destination{margin:0;font-size:var(--font-size-md);font-weight:600;color:var(--color-gray-900);line-height:1.3;flex:1}.history-card-delete{background:none;border:none;color:var(--color-gray-400);font-size:18px;line-height:1;padding:0;cursor:pointer;opacity:0;transition:opacity .2s ease,color .2s ease}.history-card:hover .history-card-delete{opacity:1}.history-card-delete:hover{background:#fef2f2;color:#ef4444}.history-card-meta{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-gray-500)}.history-card-dot{color:var(--color-gray-300)}.history-card-cities{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-gray-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-card-footer{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.history-card-cost{font-size:var(--font-size-sm);font-weight:600;color:var(--color-success, #4caf50)}.history-card-tier-badge{font-size:var(--font-size-xs);padding:2px 8px;background:#e8eaf6;border-radius:6px;color:#5c6bc0;font-weight:500}.history-card-tier-badge.single{background:var(--color-gray-100);color:var(--color-gray-500)}.history-card-type-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:6px;font-weight:500}.history-card-type-badge.template{background:#f5f5f5;color:#888}.history-card-type-badge.custom{background:#fce4ec;color:#ad1457}.history-card.custom{border-left:1px solid #e8e8e8}.history-card-rename{background:none;border:none;color:var(--color-gray-400);font-size:12px;padding:0 4px;cursor:pointer;opacity:0;transition:opacity .2s ease,color .2s ease;margin-left:4px}.history-card:hover .history-card-rename{opacity:1}.history-card-rename:hover{color:var(--color-primary, #2196f3)}.history-card-chat-badge{display:none}.history-card-highlights{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.history-card-highlight{font-size:var(--font-size-xs);padding:2px 6px;background:#f5f5f5;border-radius:99px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:none}.sidebar-history-content{flex:1;overflow-y:auto;padding:var(--space-3);scrollbar-width:none;-ms-overflow-style:none}.sidebar-history-content::-webkit-scrollbar{display:none}.sidebar-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-tertiary)}.sidebar-history-empty .history-empty-icon{font-size:48px;margin-bottom:var(--space-4);opacity:.5}.sidebar-history-empty .history-empty-text{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--text-secondary);margin:0 0 var(--space-2) 0}.sidebar-history-empty .history-empty-hint{font-size:var(--text-sm);color:var(--text-tertiary);margin:0;max-width:200px;line-height:var(--leading-relaxed)}.sidebar-history-content .history-section{margin-bottom:var(--space-4)}.sidebar-history-content .history-section:last-child{margin-bottom:0}.sidebar-history-content .history-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:12px;font-weight:600;color:#555;margin:0 0 var(--space-2) 0;padding:14px 12px 8px;text-transform:uppercase;letter-spacing:.04em}.sidebar-history-content .history-section-icon{display:none}.sidebar-history-content .history-section-count{margin-left:auto;background:#e0e0e0;color:#444;padding:2px 9px;border-radius:var(--radius-full);font-size:11px;font-weight:600}.sidebar-history-content .history-section-list{display:flex;flex-direction:column;gap:var(--space-2)}.sidebar-history-content :global(.history-card){padding:var(--space-3);border-radius:var(--radius-md)}.sidebar-history-content :global(.history-card-header){margin-bottom:var(--space-1)}.sidebar-history-content :global(.history-card-destination){font-size:var(--text-sm)}.sidebar-history-content :global(.history-card-meta){font-size:var(--text-xs)}.history-new-trip-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color, #e5e7eb)}.history-new-trip-link{display:block;width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text-tertiary, #9ca3af);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;text-align:left;transition:color .15s ease}.history-new-trip-link:hover{color:var(--text-secondary, #6b7280)}.history-new-trip-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary, #f9fafb);border-radius:var(--radius-md)}.history-confirm-text{font-size:var(--text-sm);color:var(--text-secondary, #6b7280);margin:0 0 var(--space-1) 0;line-height:var(--leading-relaxed)}.history-confirm-keep{padding:var(--space-2) var(--space-3);background:var(--text-primary, #1a1a1a);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);font-family:var(--font-primary);cursor:pointer;transition:opacity .15s ease}.history-confirm-keep:hover{opacity:.85}.history-confirm-new{padding:var(--space-2) var(--space-3);background:transparent;color:var(--text-tertiary, #9ca3af);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-primary);cursor:pointer;transition:all .15s ease}.history-confirm-new:hover{color:var(--text-secondary, #6b7280);border-color:var(--border-color-dark, #d1d5db)}.plan-history-clock-btn{position:fixed;top:72px;left:14px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:10px;transition:all .2s ease;z-index:60;padding:0}.plan-history-clock-btn:hover{background:#0000000d}.plan-history-clock-btn.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.plan-history-backdrop{position:fixed;inset:0;background:#00000014;z-index:1200;opacity:0;pointer-events:none;transition:opacity .25s ease}.plan-history-backdrop.visible{opacity:1;pointer-events:auto}.plan-history-float-panel{position:fixed;top:64px;left:12px;bottom:16px;width:320px;z-index:1300;display:flex;flex-direction:column;pointer-events:none;opacity:0;transform:translate(-12px) scale(.97);transition:all .3s cubic-bezier(.16,1,.3,1)}.plan-history-float-panel.visible{opacity:1;pointer-events:auto;transform:translate(0) scale(1)}.plan-history-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin-bottom:8px}.plan-history-panel-title{font-size:13px;font-weight:600;color:#888;letter-spacing:.02em}.plan-history-panel-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#f0f0f0;border:none;cursor:pointer;border-radius:8px;transition:all .15s ease;padding:0}.plan-history-panel-close:hover{background:#e5e5e5}.plan-history-float-panel .sidebar-history-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 4px 8px;scrollbar-width:none}.plan-history-float-panel .sidebar-history-content::-webkit-scrollbar{display:none}.plan-history-float-panel .history-new-trip-header{margin:0 4px 6px!important;padding:0!important;border-bottom:none!important}.plan-history-float-panel .history-new-trip-link{padding:11px 16px!important;background:#fff!important;border:1px solid #e8e8e8!important;border-radius:12px!important;color:#777!important;box-shadow:0 1px 2px #0000000a!important}.plan-history-float-panel .history-new-trip-link:hover{color:#1a1a1a!important;border-color:#d0d0d0!important;box-shadow:0 2px 6px #0000000f!important}.plan-history-float-panel .history-new-trip-confirm{background:#fff!important;border:1px solid #e8e8e8!important;border-radius:12px!important;padding:12px 16px!important;box-shadow:0 1px 2px #0000000a!important}.plan-history-float-panel .history-card{margin:6px 0;animation:planHistoryBubbleFloat .4s cubic-bezier(.16,1,.3,1) both}.plan-history-float-panel .history-section-list .history-card:nth-child(1){animation-delay:.03s}.plan-history-float-panel .history-section-list .history-card:nth-child(2){animation-delay:.06s}.plan-history-float-panel .history-section-list .history-card:nth-child(3){animation-delay:.09s}.plan-history-float-panel .history-section-list .history-card:nth-child(4){animation-delay:.12s}.plan-history-float-panel .history-section-list .history-card:nth-child(5){animation-delay:.15s}.plan-history-float-panel .history-section-list .history-card:nth-child(6){animation-delay:.18s}@keyframes planHistoryBubbleFloat{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.plan-history-float-panel .history-card{animation:none!important}.plan-history-float-panel{transition:opacity .1s!important;transform:none!important}}@media(max-width:768px){.plan-history-float-panel{left:8px;right:8px;width:auto}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6, 24px);background:var(--bg-primary, #fff)}.error-boundary-content{text-align:center;max-width:400px}.error-boundary-content h2{font-size:var(--text-xl, 20px);font-weight:var(--font-semibold, 600);color:var(--text-primary, #000);margin:0 0 var(--space-3, 12px)}.error-boundary-content h3{font-size:var(--text-base, 16px);font-weight:var(--font-medium, 500);color:var(--text-secondary, #666);margin:0 0 var(--space-3, 12px)}.error-boundary-content p{font-size:var(--text-base, 16px);color:var(--text-secondary, #666);margin:0 0 var(--space-6, 24px);line-height:1.5}.error-boundary-actions{display:flex;gap:var(--space-3, 12px);justify-content:center}.error-boundary-btn{padding:var(--space-3, 12px) var(--space-6, 24px);background:var(--color-black, #000);color:var(--color-white, #fff);border:none;border-radius:var(--radius-full, 999px);font-size:var(--text-base, 16px);font-weight:var(--font-medium, 500);cursor:pointer;transition:opacity var(--transition-fast, .15s)}.error-boundary-btn:hover{opacity:.85}.error-boundary-btn--secondary{background:transparent;color:var(--text-secondary, #666);border:1px solid var(--border-color, #e5e5e5)}.error-boundary-btn--secondary:hover{background:var(--bg-tertiary, #f5f5f5);opacity:1}.error-boundary--compact{min-height:auto;padding:var(--space-8, 32px) var(--space-4, 16px);background:var(--bg-secondary, #fafafa);border-radius:var(--radius-lg, 12px);border:1px solid var(--border-color, #e5e5e5)}.error-boundary--compact .error-boundary-content{max-width:300px}.error-boundary--compact .error-boundary-btn{padding:var(--space-2, 8px) var(--space-4, 16px);font-size:var(--text-sm, 14px)}.plan-tab-content{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 70px);width:100%;position:relative}.plan-toolbar-section{flex-shrink:0;z-index:10;margin-top:calc(50vh - 350px)}.plan-tab-content.chat-mode-active{justify-content:flex-start;align-items:stretch;height:calc(100dvh - 70px);min-height:auto;overflow:hidden}.plan-tab-content.chat-mode-active .plan-toolbar-section{display:none}.plan-tab-content.chat-mode-active .chat-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.trust-metrics-section{position:absolute;bottom:calc(5rem + 40px);left:50%;transform:translate(-50%);width:100%;max-width:500px;padding:0 1rem;z-index:5}.plan-tab-content.chat-mode-active .trust-metrics-section{display:none}@media(max-width:768px){.trust-metrics-section{bottom:calc(6rem + 40px);max-width:90%}}.plan-tab-content.entering-from-explore{animation:chatEntranceFromExplore .8s cubic-bezier(.25,.46,.45,.94) forwards}.plan-tab-content.entering-from-explore .plan-toolbar-section{animation:toolbarSlideDown .8s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes chatEntranceFromExplore{0%{opacity:0}to{opacity:1}}@keyframes toolbarSlideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.offline-banner{position:fixed;top:0;left:0;width:100%;z-index:9999;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:#dc2626;color:#fff;font-size:.875rem;font-weight:600;animation:offlineSlideDown .3s ease-out}.offline-icon{flex-shrink:0;animation:offlinePulse 2s ease-in-out infinite}@keyframes offlinePulse{0%,to{opacity:1}50%{opacity:.5}}.offline-text{white-space:nowrap}@keyframes offlineSlideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.offline-banner{animation:none}}.lp-page{--bone: #f4f4f3;--ash: #e7e7e4;--clay: #c9bca8;--clay-deep: #8c7e6a;--black: #1a1a1a;--soft-black: #2a2825;--mint: #0e83ad;--cyan: #71c0db;--yellow: #c9bca8;--green-deep: #0a5e7c;position:fixed;inset:0;overflow-x:hidden;overflow-y:auto;z-index:10;background:var(--bone);color:var(--black);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}.lp-nav-logo,.lp-headline,.lp-section-heading,.lp-feature-heading,.lp-dna-name{font-family:Newsreader,Georgia,serif}.lp-arcs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;height:100vh}.lp-arcs svg{position:absolute;width:200%;left:-50%;top:0;height:100%}.lp-arcs path{fill:none;stroke-width:2;stroke-linecap:round;opacity:.85}.lp-arc-1{stroke:url(#lp-g-mint);stroke-dasharray:1400;stroke-dashoffset:1400;animation:lp-draw 6s ease-out .2s forwards,lp-drift 18s linear 6s infinite}.lp-arc-2{stroke:url(#lp-g-cyan);stroke-dasharray:1600;stroke-dashoffset:1600;animation:lp-draw 7s ease-out 1.2s forwards,lp-drift 22s linear 8s infinite reverse}.lp-arc-3{stroke:url(#lp-g-fade);stroke-dasharray:1200;stroke-dashoffset:1200;animation:lp-draw 5s ease-out 2.4s forwards,lp-drift 16s linear 7s infinite}@keyframes lp-draw{to{stroke-dashoffset:0}}@keyframes lp-drift{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(-30px) translateY(10px)}}.lp-glow{position:absolute;top:30%;left:50%;transform:translate(-50%,-30%);width:900px;height:900px;background:radial-gradient(circle,rgba(14,131,173,.18) 0%,rgba(113,192,219,.08) 35%,transparent 65%);filter:blur(20px);z-index:0;pointer-events:none;animation:lp-glow-breathe 8s ease-in-out infinite}@keyframes lp-glow-breathe{0%,to{opacity:.7;transform:translate(-50%,-30%) scale(1)}50%{opacity:1;transform:translate(-50%,-30%) scale(1.05)}}@media(prefers-reduced-motion:reduce){.lp-arc-1,.lp-arc-2,.lp-arc-3{animation:none;stroke-dashoffset:0}.lp-glow{animation:none}}.lp-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;max-width:1280px;margin:0 auto}.lp-nav-logo{font-style:italic;font-size:22px;font-weight:500;letter-spacing:-.01em}.lp-nav-right{display:flex;align-items:center;gap:24px}.lp-nav-link{background:none;border:none;padding:0;font-family:inherit;font-size:14px;color:var(--soft-black);cursor:pointer;opacity:.7;transition:opacity .15s ease}.lp-nav-link:hover{opacity:1}.lp-nav-cta{background:var(--black);color:var(--bone);padding:9px 18px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:opacity .15s ease,box-shadow .15s ease}.lp-nav-cta:hover{opacity:.92;box-shadow:0 0 0 4px #0e83ad40}.lp-hero{position:relative;z-index:5;max-width:1280px;margin:0 auto;padding:130px 48px 100px;text-align:center}.lp-headline{font-size:104px;font-weight:400;max-width:1100px;margin:0 auto;letter-spacing:-.028em;line-height:.98}.lp-accent{font-style:italic;background:linear-gradient(110deg,var(--mint) 0%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.lp-sub{font-size:19px;color:var(--soft-black);margin:38px auto 0;max-width:560px;line-height:1.5;opacity:.75}.lp-hero-cta{margin-top:52px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.lp-hero-eyebrow{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--soft-black);opacity:.45;margin-bottom:24px;font-weight:500}.lp-cta-btn{background:var(--black);color:var(--bone);padding:15px 28px;border-radius:999px;font-size:15px;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:opacity .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;gap:9px}.lp-cta-btn:hover{opacity:.92;box-shadow:0 0 0 4px #0e83ad40}.lp-cta-btn--google{background:#fff;color:#1a1a1a;border:1.5px solid #e7e7e4;box-shadow:0 1px 4px #00000014}.lp-cta-btn--google:hover{border-color:#c9bca8;box-shadow:0 2px 10px #0000001a;opacity:1}.lp-google-icon{flex-shrink:0}.lp-hero-trust{margin-top:18px;font-size:12px;color:var(--soft-black);opacity:.4;letter-spacing:.01em}.lp-nav-cta--google{display:inline-flex;align-items:center;gap:7px;background:#fff;color:#1a1a1a;border:1.5px solid #e7e7e4;box-shadow:0 1px 4px #00000012;padding:7px 16px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.lp-nav-cta--google:hover{border-color:#c9bca8;box-shadow:0 2px 8px #0000001a}.lp-cta-secondary{background:transparent;color:var(--soft-black);padding:15px 24px;border-radius:999px;font-size:15px;font-weight:500;cursor:pointer;border:1.5px solid var(--ash);font-family:inherit;transition:border-color .15s ease,opacity .15s ease;opacity:.8}.lp-cta-secondary:hover{border-color:var(--clay);opacity:1}.lp-section{opacity:0;transform:translateY(28px);transition:opacity .8s ease-out,transform .8s ease-out}.lp-section.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.lp-section{opacity:1!important;transform:none!important;transition:none!important}}.lp-usecases{position:relative;z-index:5;max-width:1180px;margin:40px auto 0;padding:80px 48px 60px}.lp-section-heading{font-size:44px;font-weight:400;letter-spacing:-.022em;line-height:1.06;text-align:center;margin:0 0 42px}.lp-usecases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lp-usecase-tile{background:#ffffff8c;border:1px solid var(--ash);border-radius:16px;padding:22px 24px;display:flex;align-items:center;gap:14px;font-size:15px;color:var(--soft-black);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,opacity .6s ease-out}.lp-usecase-tile:hover{transform:translateY(-2px);border-color:#0e83ad8c;box-shadow:0 12px 28px -16px #0000001f}.lp-usecase-emoji{font-size:22px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#0e83ad24}.lp-usecase-text{flex:1;line-height:1.4}.lp-feature{position:relative;z-index:5;max-width:1180px;margin:0 auto;padding:80px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.lp-feature-flip .lp-feature-text{order:2}.lp-feature-flip .lp-feature-visual{order:1}.lp-feature-heading{font-size:38px;font-weight:400;letter-spacing:-.022em;line-height:1.08;margin:0 0 16px}.lp-feature-body{font-size:16px;color:var(--soft-black);line-height:1.6;opacity:.78;margin:0;max-width:480px}.lp-feature-visual{display:flex;justify-content:center}.lp-card{background:#ffffffc7;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--ash);border-radius:20px;padding:26px;box-shadow:0 24px 60px -28px #0000001f,0 6px 14px -8px #0000000d;width:100%;max-width:440px}.lp-dna-head{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--ash);margin-bottom:16px}.lp-dna-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--mint),var(--cyan));color:var(--black);font-weight:700;font-style:italic;display:inline-flex;align-items:center;justify-content:center}.lp-dna-meta{display:flex;flex-direction:column}.lp-dna-name{font-size:14px;font-weight:600;color:var(--soft-black)}.lp-dna-sub{font-size:11px;color:var(--clay)}.lp-dna-traits{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.lp-dna-trait{display:grid;grid-template-columns:92px 1fr;font-size:13px;align-items:baseline}.lp-dna-trait-label{color:var(--clay);font-size:11px;text-transform:uppercase;letter-spacing:1px}.lp-dna-trait-value{color:var(--soft-black)}.lp-dna-insight{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--clay);border-top:1px solid var(--ash);padding-top:12px}.lp-dna-insight svg{color:var(--clay)}.lp-card-chat{display:flex;flex-direction:column;gap:8px;padding:22px}.lp-chat-msg{border-radius:14px;padding:12px 14px;font-size:13px;line-height:1.5}.lp-chat-user{background:#eae7e1;color:var(--black);margin-left:30px}.lp-chat-ai{background:#0e83ad1f;color:var(--soft-black);margin-right:30px;display:flex;flex-direction:column;gap:4px}.lp-chat-from{font-style:italic;color:var(--green-deep);font-size:12px;font-weight:600}.lp-chat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.lp-chat-card{background:#00000009;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:4px}.lp-chat-card-label{font-size:10px;color:var(--clay);text-transform:uppercase;letter-spacing:1px}.lp-chat-card-value{font-weight:600;font-size:13px;color:var(--soft-black)}.lp-chat-card-strong .lp-chat-card-value{color:var(--green-deep);font-weight:700}.lp-card-live{display:flex;flex-direction:column;gap:16px}.lp-live-badge{display:inline-flex;align-items:center;gap:8px;background:#0e83ad2e;color:var(--green-deep);border-radius:999px;padding:5px 12px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:600;align-self:flex-start}.lp-live-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px #0e83adb3;animation:lp-live-pulse 1.4s ease-in-out infinite}@keyframes lp-live-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.lp-live-dot{animation:none}}.lp-live-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.lp-live-list li{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--soft-black)}.lp-live-list svg{color:var(--soft-black)}.lp-card-optimize{display:flex;flex-direction:column;gap:18px}.lp-opt-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 12px;align-items:center}.lp-opt-name{display:flex;flex-direction:column;gap:2px;grid-row:1;grid-column:1}.lp-opt-program{font-size:13px;font-weight:600;color:var(--soft-black)}.lp-opt-ratio{font-size:11px;color:var(--clay)}.lp-opt-cpp{font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;font-weight:600;color:var(--soft-black);grid-row:1;grid-column:2;text-align:right}.lp-opt-bar{grid-row:2;grid-column:1 / -1;height:8px;background:#0000000f;border-radius:999px;overflow:hidden}.lp-opt-fill{height:100%;background:linear-gradient(90deg,var(--mint),var(--cyan));transition:width .6s ease-out}.lp-opt-fill-dim{background:var(--clay);opacity:.5}.lp-opt-verdict{display:flex;align-items:center;gap:8px;background:#0e83ad24;color:var(--green-deep);border-radius:10px;padding:10px 12px;font-size:13px;margin-top:4px}.lp-opt-verdict strong{color:var(--green-deep)}.lp-opt-verdict svg{color:var(--green-deep)}.lp-foot{position:relative;z-index:5;max-width:1280px;margin:60px auto 0;padding:60px 48px 40px;display:flex;justify-content:space-between;font-size:12px;color:var(--clay);border-top:1px solid var(--ash)}.lp-foot-right{display:flex;gap:22px}.lp-foot-right a{color:inherit;text-decoration:none;transition:color .15s ease}.lp-foot-right a:hover{color:var(--soft-black)}@media(max-width:980px){.lp-nav{padding:20px 24px}.lp-headline{font-size:56px}.lp-hero{padding:70px 24px 60px}.lp-sub{font-size:16px;margin-top:28px}.lp-hero-cta{margin-top:36px}.lp-cta-btn{font-size:14px;padding:14px 24px}.lp-section-heading{font-size:30px}.lp-usecases{padding:60px 24px 40px;margin-top:20px}.lp-usecases-grid{grid-template-columns:1fr;gap:12px}.lp-feature{grid-template-columns:1fr;gap:32px;padding:60px 24px}.lp-feature-flip .lp-feature-text{order:1}.lp-feature-flip .lp-feature-visual{order:2}.lp-feature-heading{font-size:28px}.lp-feature-body{font-size:15px}.lp-card{padding:22px}.lp-foot{padding:32px 24px;flex-direction:column;gap:12px;margin-top:30px}}.gs-page{--bone: #f4f4f3;--ash: #e7e7e4;--clay: #c9bca8;--black: #1a1a1a;--soft-black: #2a2825;--mint: #0e83ad;--cyan: #71c0db;--green-deep: #0a5e7c;position:relative;min-height:100vh;background:var(--bone);color:var(--black);font-family:Plus Jakarta Sans,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}.gs-nav-logo,.gs-title,.gs-prompt-title{font-family:Newsreader,Georgia,serif}.gs-arcs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;height:110vh}.gs-arcs svg{position:absolute;width:200%;left:-50%;top:0;height:100%}.gs-arcs path{fill:none;stroke-width:2;stroke-linecap:round;opacity:.65}.gs-arc-1{stroke:url(#gs-g-mint);stroke-dasharray:1400;stroke-dashoffset:1400;animation:gs-draw 6s ease-out .2s forwards,gs-drift 22s linear 6s infinite}.gs-arc-2{stroke:url(#gs-g-cyan);stroke-dasharray:1600;stroke-dashoffset:1600;animation:gs-draw 7s ease-out 1.2s forwards,gs-drift 26s linear 8s infinite reverse}@keyframes gs-draw{to{stroke-dashoffset:0}}@keyframes gs-drift{0%,to{transform:translate(0) translateY(0)}50%{transform:translate(-30px) translateY(10px)}}.gs-glow{position:absolute;top:22%;left:50%;transform:translate(-50%,-25%);width:700px;height:700px;background:radial-gradient(circle,rgba(14,131,173,.15) 0%,rgba(113,192,219,.06) 40%,transparent 70%);filter:blur(24px);z-index:0;pointer-events:none;animation:gs-glow-breathe 8s ease-in-out infinite}@keyframes gs-glow-breathe{0%,to{opacity:.7;transform:translate(-50%,-25%) scale(1)}50%{opacity:1;transform:translate(-50%,-25%) scale(1.05)}}@media(prefers-reduced-motion:reduce){.gs-arc-1,.gs-arc-2{animation:none;stroke-dashoffset:0}.gs-glow{animation:none}}.gs-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:28px 48px;max-width:1280px;margin:0 auto}.gs-nav-logo{font-style:italic;font-size:22px;font-weight:500;letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none}.gs-nav-right{display:flex;align-items:center;gap:24px;font-size:14px}.gs-nav-cta{background:var(--black);color:var(--bone);padding:9px 18px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none;transition:opacity .15s ease}.gs-nav-cta:hover{opacity:.85}.gs-hero{position:relative;z-index:5;max-width:1100px;margin:0 auto;padding:100px 48px 70px;text-align:center}.gs-eyebrow{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--clay);margin-bottom:22px}.gs-title{font-size:84px;font-weight:400;max-width:980px;margin:0 auto;letter-spacing:-.028em;line-height:.98}.gs-accent{font-style:italic;background:linear-gradient(110deg,var(--mint) 0%,var(--cyan) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.gs-sub{font-size:18px;color:var(--soft-black);margin:30px auto 0;max-width:560px;line-height:1.55;opacity:.75}.gs-connect{position:relative;z-index:5;max-width:720px;margin:24px auto 0;padding:0 48px}.gs-connect-card{background:var(--soft-black);color:var(--bone);border-radius:24px;padding:38px 36px;box-shadow:0 30px 80px -20px #00000040}.gs-connect-label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#f5f3eb80;margin-bottom:14px}.gs-url-row{display:flex;align-items:center;gap:14px;background:#000;border:1px solid rgba(245,243,235,.12);border-radius:14px;padding:16px 18px}.gs-url{flex:1;font-family:SF Mono,JetBrains Mono,Menlo,Consolas,monospace;font-size:14px;color:var(--bone);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-copy-btn{background:var(--mint);color:var(--black);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none;white-space:nowrap;font-family:inherit;transition:opacity .15s ease,box-shadow .15s ease}.gs-copy-btn:hover{box-shadow:0 0 0 4px #0e83ad33}.gs-copy-btn.is-copied{background:#0e83add9}.gs-connect-help{font-size:13px;color:#f5f3eb8c;margin-top:16px;line-height:1.55}.gs-connect-help b{color:var(--bone);font-weight:500}.gs-steps{position:relative;z-index:5;max-width:880px;margin:80px auto 0;padding:0 48px}.gs-steps-eyebrow{text-align:center;font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--clay);margin-bottom:36px}.gs-steps-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.gs-step{background:#00000006;border:1px solid var(--ash);border-radius:18px;padding:24px 22px;min-height:170px}.gs-step-num{display:inline-block;width:28px;height:28px;border-radius:50%;border:1px solid var(--black);text-align:center;line-height:27px;font-size:12px;font-weight:500;margin-bottom:18px}.gs-step h3{font-size:17px;font-weight:500;margin:0 0 8px;letter-spacing:-.01em}.gs-step p{font-size:13px;color:var(--soft-black);opacity:.7;line-height:1.5;margin:0}.gs-step code{font-family:SF Mono,Menlo,monospace;font-size:12px;background:#0000000f;padding:1px 5px;border-radius:4px}.gs-prompt-section{position:relative;z-index:5;max-width:880px;margin:90px auto 0;padding:0 48px}.gs-prompt-card{background:var(--bone);border:1px solid var(--ash);border-radius:24px;padding:36px 36px 28px;position:relative;overflow:hidden}.gs-prompt-card:before{content:"";position:absolute;top:-50px;right:-50px;width:200px;height:200px;background:radial-gradient(circle,rgba(14,131,173,.12) 0%,transparent 70%);filter:blur(20px)}.gs-prompt-label{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;color:var(--clay);margin-bottom:14px;position:relative}.gs-prompt-title{font-size:28px;font-weight:400;letter-spacing:-.02em;margin:0 0 22px;max-width:600px;position:relative}.gs-prompt-quote{font-style:italic;font-size:19px;line-height:1.4;color:var(--black);padding:16px 0 20px;position:relative;margin:0}.gs-prompt-quote:before{content:"“";position:absolute;left:-20px;top:-4px;font-size:44px;color:var(--mint);font-family:Georgia,Times New Roman,serif;line-height:1}.gs-prompt-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap;position:relative}.gs-prompt-copy{background:var(--black);color:var(--bone);padding:10px 18px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:opacity .15s ease}.gs-prompt-copy:hover{opacity:.85}.gs-prompt-copy.is-copied{background:var(--mint);color:var(--black)}.gs-prompt-also{font-size:12px;color:var(--clay)}.gs-trust{position:relative;z-index:5;max-width:880px;margin:70px auto 0;padding:0 48px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}.gs-trust-chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--clay)}.gs-trust-dot{width:6px;height:6px;border-radius:50%;background:var(--mint)}.gs-foot{position:relative;z-index:5;max-width:1280px;margin:80px auto 0;padding:50px 48px 36px;display:flex;justify-content:space-between;font-size:12px;color:var(--clay);border-top:1px solid var(--ash)}.gs-foot-right{display:flex;gap:22px}.gs-foot-right a{color:inherit;text-decoration:none;transition:color .15s ease}.gs-foot-right a:hover{color:var(--soft-black)}@media(max-width:880px){.gs-title{font-size:56px}.gs-hero{padding:64px 24px 48px}.gs-connect{padding:0 24px}.gs-connect-card{padding:28px 24px}.gs-url-row{flex-direction:column;align-items:stretch}.gs-copy-btn{width:100%}.gs-steps{padding:0 24px;margin-top:56px}.gs-steps-grid{grid-template-columns:1fr;gap:14px}.gs-step{min-height:0}.gs-prompt-section{padding:0 24px;margin-top:56px}.gs-prompt-card{padding:24px 22px}.gs-prompt-title{font-size:22px}.gs-prompt-quote{font-size:16px}.gs-trust{padding:0 24px;margin-top:48px;gap:16px}.gs-foot{padding:32px 24px;flex-direction:column;gap:12px}}:root{--color-black: #000000;--color-white: #FFFFFF;--color-gray-50: #FAFAFA;--color-gray-100: #F5F5F5;--color-gray-200: #E5E5E5;--color-gray-300: #D4D4D4;--color-gray-400: #A3A3A3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--bg-primary: var(--color-white);--bg-secondary: var(--color-gray-50);--bg-tertiary: var(--color-gray-100);--bg-inverse: var(--color-black);--bg-hover: var(--color-gray-100);--text-primary: var(--color-black);--text-secondary: var(--color-gray-700);--text-tertiary: var(--color-gray-500);--text-inverse: var(--color-white);--border-color: var(--color-gray-200);--border-color-dark: var(--color-gray-400);--border-color-darker: var(--color-gray-600);--brand-primary: var(--color-black);--brand-accent: var(--color-gray-800);--color-error-bg: #fef2f2;--color-error-text: #991b1b;--color-error-border: #fca5a5;--color-success-bg: #f0fdf4;--color-success-text: #166534;--color-success-border: #86efac;--font-display: "Cormorant Garamond", "Playfair Display", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "Helvetica Neue", Arial, sans-serif;--font-primary: var(--font-body);--font-mono: "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--text-8xl: 6rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--space-0: 0;--space-px: 1px;--space-0_5: .125rem;--space-1: .25rem;--space-1_5: .375rem;--space-2: .5rem;--space-2_5: .625rem;--space-3: .75rem;--space-3_5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-28: 7rem;--space-32: 8rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-slowest: .5s cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--line-hairline: .5px;--line-thin: 1px;--line-base: 1.5px;--line-thick: 2px;--line-heavy: 3px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--content-narrow: 640px;--content-base: 768px;--content-wide: 1024px;--content-full: 1280px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--touch-target-large: 56px;--touch-target-spacing: 8px;--btn-height-sm: 36px;--btn-height-md: 44px;--btn-height-lg: 52px;--icon-btn-sm: 36px;--icon-btn-md: 44px;--icon-btn-lg: 52px;--input-height-sm: 40px;--input-height-md: 48px;--input-height-lg: 56px;--list-item-height-min: 48px;--list-item-height-comfortable: 56px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--header-height-base: 60px;--header-height-safe: calc(var(--header-height-base) + var(--safe-area-top));--bottom-nav-height: 56px;--bottom-nav-height-safe: calc(var(--bottom-nav-height) + var(--safe-area-bottom));--container-sm: min(100%, 640px);--container-md: min(100%, 768px);--container-lg: min(100%, 1024px);--container-xl: min(100%, 1280px);--container-full: 100%;--sidebar-width-sm: clamp(240px, 30vw, 280px);--sidebar-width-md: clamp(280px, 35vw, 360px);--sidebar-width-lg: clamp(320px, 25vw, 440px);--panel-width-collapsed: 64px;--panel-width-compact: 280px;--panel-width-standard: 360px;--panel-width-expanded: 440px;--page-margin: clamp(var(--space-3), 5vw, var(--space-8));--section-gap: clamp(var(--space-6), 8vh, var(--space-16));--card-padding: clamp(var(--space-3), 3vw, var(--space-6));--route-low-color: #1a1a1a;--route-mid-color: #5d4e37;--route-high-color: #2c5f7c;--route-outline-color: #ffffff;--route-shadow-color: rgba(0, 0, 0, .15);--route-low-width: 5px;--route-mid-width: 4px;--route-high-width: 3px;--route-outline-width: 2px;--route-emphasis-width-multiplier: 1.5;--route-deemphasis-opacity: .3;--map-background: #f8f9fa;--map-water-color: #e8f1f5;--globe-background: #ffffff;--globe-stroke: #1a1a1a;--globe-fill-visited: #1a1a1a;--globe-fill-unvisited: #ffffff;--globe-stroke-width: .5px;--globe-opacity-unvisited: .1;--logo-height: 40px;--logo-height-sm: 32px;--logo-spacing: var(--space-4);--receipt-paper: #f4f4f3;--receipt-card: #ffffff;--receipt-footer-tint: #f4f4f3;--receipt-ink: #1a1a1a;--receipt-muted: #6f6a64;--receipt-faint: #a8a6a1;--receipt-hairline: #e7e7e4;--receipt-clay: #8c7e6a;--receipt-clay-soft: #ede7df;--receipt-hold-bg: #fbf0e0;--receipt-hold-ink: #9a6212;--receipt-icon-bg: #ede7df;--receipt-badge-book-bg: #ede7df;--receipt-badge-book-ink: #8c7e6a;--receipt-badge-hold-bg: var(--receipt-hold-bg);--receipt-badge-hold-ink: var(--receipt-hold-ink);--receipt-badge-link-bg: #ede7df;--receipt-badge-link-ink: #8c7e6a;--receipt-badge-muted-bg: var(--receipt-icon-bg);--receipt-badge-muted-ink: var(--receipt-muted);--app-bg: #f6f3ec;--app-card: #ffffff;--app-ink: #1d1b16;--app-muted: #6b665c;--app-faint: #9a9488;--app-hair: #e3ddd0;--app-accent: #2f6f5e;--app-accent-soft: #dcebe4;--app-accent-dark: #265e4e;--app-connected-bg: #dcebe4;--app-connected-ink:#265e4e;--font-receipt-amounts: "Spline Sans Mono", "SF Mono", Monaco, "Cascadia Code", "Courier New", monospace;--receipt-icon-color: #8c7e6a;--receipt-card-glyph-bg-from: #8c7e6a;--receipt-card-glyph-bg-to: #a99b86;--receipt-card-glyph-chip: #d9b25a;--receipt-shadow-card: 0 1px 2px rgba(33, 31, 27, .04), 0 18px 40px -22px rgba(33, 31, 27, .35)}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms;--transition-slowest: 0ms}}h1,h2,h3,h4,h5,h6,.logo-text,.hero-title,.section-title,.cta-title{font-family:var(--font-display);font-weight:var(--font-regular);letter-spacing:var(--tracking-tight);color:var(--text-primary)}h1{font-size:var(--text-6xl);font-weight:var(--font-light);line-height:var(--leading-tight)}h2{font-size:var(--text-4xl);font-weight:var(--font-regular);line-height:var(--leading-tight)}h3{font-size:var(--text-2xl);font-weight:var(--font-medium);line-height:var(--leading-snug)}body,p,span,div,button,input,textarea,select{font-family:var(--font-body);color:var(--text-primary)}.app{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;position:relative;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}.loading-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-primary);color:var(--text-secondary);font-size:var(--text-lg)}.intro-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.intro-wrapper.intro-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.intro-wrapper.intro-hidden{opacity:0;transform:translateY(-20px) scale(.98);pointer-events:none}.main-app-wrapper{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);backface-visibility:hidden}.main-app-wrapper.app-hidden{opacity:0;transform:translateY(20px) scale(1.02)}.main-app-wrapper.app-visible{opacity:1;transform:translateY(0) scale(1)}@media(prefers-reduced-motion:reduce){.intro-wrapper,.main-app-wrapper{transition:none!important;animation:none!important}}.plan-mode-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-primary);position:relative}.plan-mode-container.plan-mode{justify-content:center}.plan-mode-container.explore-mode{justify-content:flex-start;padding-top:var(--space-4)}.plan-mode-container.explore-exiting{animation:exploreFadeOut .2s cubic-bezier(.25,.46,.45,.94) forwards;pointer-events:none}@keyframes exploreFadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30px)}}.explore-mode-toggle{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);z-index:10}.plan-mode-container.explore-exiting .explore-mode-toggle{display:none}.explore-globe-wrapper{flex:1;display:flex;align-items:center;justify-content:center;width:100%;margin-top:clamp(-80px,-10vw,-40px);opacity:0;animation:globeSpinFadeIn 2s cubic-bezier(.25,.46,.45,.94) 1.05s forwards}@keyframes globeSpinFadeIn{0%{opacity:0}50%{opacity:.6}to{opacity:1}}.explore-globe-wrapper .globe-main{transform:scale(1);transform-origin:center center}.explore-globe-wrapper .country-browser{position:fixed;left:16px;bottom:100px;top:60px;z-index:50;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:visible}.explore-globe-wrapper .explore-sidebar{position:fixed;left:236px;bottom:100px;top:60px;z-index:49;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:visible}.explore-mode .chat-composer{position:absolute;bottom:55px;left:50%;transform:translate(-50%);width:100%;max-width:var(--content-base);padding:var(--space-4);z-index:100;pointer-events:auto;animation:placeBubblesSlideUp 1.2s cubic-bezier(.25,.46,.45,.94) forwards}.explore-mode .chat-composer.collapsed{padding:var(--space-4)}.explore-mode .chat-composer.collapsed .composer-container{flex-direction:row;padding:var(--space-4) var(--space-5);border-radius:var(--radius-3xl);gap:var(--space-3)}.explore-mode .chat-composer.collapsed .composer-input{font-size:var(--text-base);min-height:24px}.explore-mode .chat-composer.collapsed .send-button{width:40px;height:40px;align-self:auto}.explore-mode .chat-composer.collapsed .send-icon{width:20px;height:20px}.explore-mode .chat-composer .composer-controls,.explore-mode .chat-composer .composer-input,.explore-mode .chat-composer .send-button{display:none}.explore-mode .chat-composer.collapsed{pointer-events:none}.explore-mode .chat-composer.collapsed .mode-toggle-tabs,.explore-mode .chat-composer.collapsed .composer-container,.explore-mode .chat-composer.collapsed .selected-places-row{pointer-events:auto}.explore-mode .chat-composer .composer-container{justify-content:center;padding:var(--space-3) var(--space-4);min-height:auto;background:transparent;border:none;box-shadow:none}.explore-mode .chat-composer .selected-places-row{justify-content:center}.explore-mode .chat-composer.collapsed .composer-container:not(:has(.selected-places-row)){display:none}@keyframes slideDownToBottom{0%{bottom:50%;transform:translate(-50%) translateY(50%);opacity:1}to{bottom:calc(var(--space-6) + 30px);transform:translate(-50%) translateY(0);opacity:1}}@keyframes placeBubblesSlideUp{0%{bottom:50%;transform:translate(-50%) translateY(50%);opacity:0}to{bottom:55px;transform:translate(-50%) translateY(0);opacity:1}}.plan-mode-container.returning-to-plan .explore-globe-wrapper{animation:globeFadeOut .5s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes globeFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.plan-mode-container.returning-to-plan .chat-composer{position:absolute;left:50%;width:100%;max-width:var(--content-base);padding:var(--space-4);z-index:100;pointer-events:auto;animation:slideUpToCenter 1.2s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes slideUpToCenter{0%{bottom:130px;transform:translate(-50%) translateY(0);opacity:1}to{bottom:50%;transform:translate(-50%) translateY(50%);opacity:1}}.planner-layout{flex:1;min-height:0}.full-screen-view{width:100%;height:100%;position:relative;overflow:hidden}.left-panel-content{display:flex;flex-direction:column;height:100%;padding:2rem;gap:1.5rem;overflow-y:auto;overflow-x:hidden}.journey-info{background:var(--color-black);border-radius:12px;padding:2rem;color:var(--color-white);box-shadow:0 4px 6px #0000001a}.journey-info h2{margin:0 0 .75rem;font-size:1.75rem;font-weight:700}.journey-info p{margin:0;font-size:1rem;line-height:1.6;opacity:.95}.app-error{width:100%;padding:1rem 1.5rem;background-color:var(--color-error-bg);color:var(--color-error-text);border-radius:6px;border-left:4px solid var(--color-error-border);display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.app-error button{background:none;border:none;color:var(--color-error-text);font-size:1.5rem;cursor:pointer;padding:0 .5rem}.loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1000;color:#fff}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay p{font-size:1.2rem;font-weight:500;margin:.5rem 0}.loading-subtext{font-size:.9rem!important;opacity:.8;font-weight:400!important}.multi-tier-container{width:100%}.multi-tier-title{text-align:center;color:var(--color-gray-800);font-size:2rem;margin-bottom:1.5rem;font-weight:600}.tier-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%}.tier-column{display:flex;flex-direction:column;min-width:0}.tier-header{text-align:center;padding:1.25rem;border-radius:8px 8px 0 0;color:var(--color-white);box-shadow:0 2px 4px #0000001a}.tier-header .tier-icon{font-size:2rem;display:block;margin-bottom:.5rem}.tier-header h3{margin:.5rem 0;font-size:1.25rem;font-weight:600}.tier-header .tier-price{margin:.5rem 0 0;font-size:1.5rem;font-weight:700}.tier-header.budget-tier{background:var(--color-gray-600)}.budget-column .itinerary-display{border:2px solid var(--color-gray-600);border-top:none}.tier-header.midrange-tier{background:var(--color-gray-800)}.midrange-column .itinerary-display{border:2px solid var(--color-gray-800);border-top:none}.tier-header.luxury-tier{background:var(--color-black)}.luxury-column .itinerary-display{border:2px solid var(--color-black);border-top:none}@media(max-width:1200px){.left-panel-content{padding:1.5rem}.tier-columns{grid-template-columns:1fr}.multi-tier-title{font-size:1.5rem}}@media(max-width:768px){.left-panel-content{padding:1rem}}.journey-route-legend{margin-top:1.5rem}.journey-info h2{margin-bottom:.75rem;color:var(--text-primary, #1a1a1a)}.journey-info p{color:var(--text-secondary, #6b7280);line-height:1.6}.scroll-progress-bar{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--color-black);z-index:1001;transition:width .1s ease-out}.plan-page-scroll{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:var(--bg-primary)}.plan-hero-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height-base, 60px));min-height:calc(100dvh - var(--header-height-safe, 60px));padding:var(--space-8) var(--page-margin);position:relative}.plan-page-scroll:has(.has-messages) .plan-hero-section{min-height:auto;padding-top:var(--space-12);padding-bottom:var(--space-4)}.plan-page-scroll.returning-to-plan .plan-hero-section{animation:heroFadeIn .8s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.plan-hero-section{padding:var(--space-6) var(--space-3);min-height:calc(100vh - var(--header-height, 60px) - env(safe-area-inset-bottom,0px))}.scroll-progress-bar{height:3px}}@media(prefers-reduced-motion:reduce){.scroll-progress-bar{transition:none}.plan-page-scroll.returning-to-plan .plan-hero-section{animation:none}}@media(max-width:480px){h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.left-panel-content{padding:var(--space-3);gap:var(--space-3)}.journey-info{padding:var(--space-4)}.journey-info h2{font-size:var(--text-lg)}.journey-info p{font-size:var(--text-sm)}.plan-hero-section{padding:var(--space-4) var(--space-2)}.explore-globe-wrapper{margin-top:0}.explore-mode .chat-composer{bottom:80px;padding:var(--space-2)}.multi-tier-title{font-size:var(--text-lg)}.tier-header{padding:var(--space-3)}.tier-header .tier-icon{font-size:var(--text-xl)}.tier-header h3{font-size:var(--text-base)}.tier-header .tier-price{font-size:var(--text-lg)}.app-error{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.loading-spinner{width:48px;height:48px}.loading-overlay p{font-size:var(--text-base)}}.journey-tab-keepalive{flex-direction:column;min-height:0;overflow:hidden}.sandbox-tab-container{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.tab-content-animated{flex:1;display:flex;flex-direction:column;min-height:0;animation:tabFadeIn .15s ease-out forwards}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.tab-content-animated{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
