@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-light: #f4faf2;--sage-primary: #6b8e64;--olive-dark: #2d5a3f;--gold-accent: #d4af37;--text-main: #1c261b;--text-muted: #52634f;--white: #ffffff;--border-color: rgba(45, 90, 63, .15);--font-sans: "Inter", system-ui, sans-serif;--header-height: 72px;--surface-card: #ffffff;--surface-elevated: #f4faf2;--surface-hover: #eaf3e8;--bg-subtle: #f7f9f6;--text-primary: #1c261b;--text-secondary: #52634f;--border-subtle: rgba(45, 90, 63, .12);--primary-color: #2d5a3f}html{background:radial-gradient(ellipse 65% 55% at 10% 85%,rgba(195,222,192,.45) 0%,rgba(245,249,244,.2) 60%,transparent 100%),radial-gradient(ellipse 60% 50% at 88% 28%,rgba(252,247,222,.55) 0%,rgba(255,253,245,.2) 60%,transparent 100%),linear-gradient(135deg,#fff,#fbfdfb,#f4faf2 70%,#fffdf6) fixed;color-scheme:light}body{margin:0;font-family:var(--font-sans);background:radial-gradient(ellipse 65% 55% at 10% 85%,rgba(195,222,192,.45) 0%,rgba(245,249,244,.2) 60%,transparent 100%),radial-gradient(ellipse 60% 50% at 88% 28%,rgba(252,247,222,.55) 0%,rgba(255,253,245,.2) 60%,transparent 100%),linear-gradient(135deg,#fff,#fbfdfb,#f4faf2 70%,#fffdf6) fixed;color:var(--text-main);overflow-x:hidden}:root[data-theme=dark]{--bg-light: #121815;--bg-subtle: #141b17;--sage-primary: #8cc286;--olive-dark: #8cc286;--gold-accent: #e5c158;--text-main: #f0f5ef;--text-muted: #9ab097;--white: #1c2520;--border-color: rgba(255, 255, 255, .12);--surface-card: #1c2520;--surface-elevated: #161e1a;--surface-hover: #243029;--text-primary: #f0f5ef;--text-secondary: #9ab097;--border-subtle: rgba(255, 255, 255, .08);--primary-color: #8cc286}html[data-theme=dark]{background:radial-gradient(ellipse 80% 70% at 5% 85%,rgba(45,90,63,.28) 0%,rgba(20,26,23,.4) 60%,transparent 100%),radial-gradient(ellipse 75% 65% at 92% 15%,rgba(212,175,55,.14) 0%,rgba(24,30,27,.4) 60%,transparent 100%),linear-gradient(135deg,#0d1210,#131a16,#18221c 70%,#111714) fixed!important;color-scheme:dark}html[data-theme=dark] body{background:transparent!important;color:var(--text-main)}@media(prefers-color-scheme:dark){html:not([data-theme=dark]){color-scheme:light}}.just-travel-app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;padding-top:72px;background:transparent}.main-header{background:var(--white);position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #00000005}.header-top-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 40px;background:#a9b9a4;color:var(--white);font-size:.8rem;font-weight:500}.header-right{display:flex;gap:16px;align-items:center}.header-right .icon{font-size:1.1rem;cursor:pointer;opacity:.9;margin-top:3px}.header-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 40px}.logo-container{display:flex;align-items:center;gap:12px}.travel-logo{width:32px;height:32px;object-fit:contain}.logo-text{font-weight:700;font-size:1.4rem;letter-spacing:-.03em;color:#2d5a3f}.nav-links{display:flex;gap:32px}.nav-links a{text-decoration:none;color:var(--olive-dark);font-weight:500;font-size:.95rem;font-family:inherit;transition:color .2s}.nav-links a:hover{color:var(--olive-dark)}.nav-links a.active{color:var(--olive-dark);font-weight:700}.nav-links button{background:none;border:none;padding:0;cursor:pointer;text-decoration:none;color:var(--text-main);font-weight:500;font-size:.95rem;font-family:inherit;transition:color .2s}.nav-links button:hover{color:var(--olive-dark)}.nav-links button.active{color:var(--olive-dark);font-weight:700}.auth-links{display:flex;gap:12px}.btn-link{background:none;border:none;color:var(--text-muted);font-weight:600;cursor:pointer}.btn-primary-gold{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);padding:10px 24px;border-radius:99px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.btn-primary-gold:hover{transform:translateY(-1px);background:linear-gradient(135deg,#dfbc45,#ccaa32);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.content-container{width:100%;max-width:1400px;margin:40px auto;padding:0 40px;flex:1;box-sizing:border-box;position:relative;z-index:1}.intro-band{text-align:center;max-width:760px;margin:0 auto 36px;padding:8px 16px 0}.intro-band__headline{font-size:clamp(1.6rem,3.2vw,2.1rem);line-height:1.15;font-weight:700;letter-spacing:-.01em;color:var(--text-main);margin:0 0 10px}.intro-band__sub{font-size:1.05rem;color:var(--text-muted);max-width:60ch;margin:0 auto 18px}.intro-band__chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.intro-band__chip{font-size:.82rem;font-weight:600;color:var(--olive-dark);background:#98a88c29;border:1px solid var(--border-color);border-radius:999px;padding:5px 12px}.intro-band__chip--soon{color:var(--text-muted);background:transparent;font-weight:500}.hero-section{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch;margin-bottom:80px}.hero-form-card{background:var(--white);padding:40px;border-radius:24px;box-shadow:0 20px 60px #0000000d;position:relative;z-index:10}.hero-form-card h2{margin-top:0;margin-bottom:24px;font-size:2.4rem;font-weight:800;color:var(--olive-dark)}.hero-form{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-left:4px}.hero-form input,.hero-form select{padding:14px 20px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;background:#fcfdfc;width:100%;box-sizing:border-box;transition:border-color .2s}.hero-form input:focus,.hero-form select:focus{outline:none;border-color:var(--olive-dark)}.input-destination{font-size:1.1rem!important;font-weight:500}.btn-hero-submit{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);padding:16px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #d4af3740}.btn-hero-submit:hover:not(:disabled){background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-1px);box-shadow:0 8px 24px #d4af3759;color:#0d170d}.btn-hero-submit:disabled{opacity:.7;cursor:not-allowed}.hero-image-container{border-radius:24px;overflow:hidden;height:auto;min-height:250px;flex:1;box-shadow:0 30px 60px #0000001a;position:relative;width:100%}.hero-image-container img{width:100%;height:100%;object-fit:cover}.hero-image-overlay{position:absolute;bottom:24px;left:24px;right:24px;display:flex;flex-wrap:wrap;gap:8px}.hero-image-overlay .tag{background:#ffffffe6;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;color:var(--olive-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-media-column{display:flex;flex-direction:column;gap:16px;width:100%}.btn-inspire-me{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;background:var(--white);border:1px solid rgba(77,98,72,.08);border-radius:24px;box-shadow:0 20px 60px #0000000d;cursor:pointer;transition:all .1s ease-out;text-align:left;margin-top:8px}.btn-inspire-me:hover{box-shadow:0 24px 48px #4d624814;border-color:var(--sage-primary)}.btn-inspire-me:active{background:#fafbfa}.btn-inspire-me__content{display:flex;align-items:center;gap:16px}.btn-inspire-me__icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center}.btn-inspire-me__icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}.btn-inspire-me__text{display:flex;flex-direction:column;gap:4px}.btn-inspire-me__title{font-size:1.15rem;font-weight:700;color:var(--olive-dark)}.btn-inspire-me__subtitle{font-size:.95rem;color:var(--text-muted)}.btn-inspire-me__arrow{color:var(--gold-accent);font-size:1.5rem;font-weight:700;transition:transform .3s ease}.btn-inspire-me:hover .btn-inspire-me__arrow{transform:translate(6px)}.btn-inspire-me:active{transform:translateY(0)}.inspire-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1200;padding:24px}.inspire-modal{background:var(--white);border-radius:24px;padding:40px 36px 32px;max-width:420px;width:100%;text-align:center;position:relative;box-shadow:0 24px 80px #00000026;animation:fadeIn .2s ease}.inspire-modal__close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:8px;transition:background .15s}.inspire-modal__close:hover{background:#0000000f}.inspire-modal__icon{font-size:2.4rem;margin-bottom:12px;line-height:1}.inspire-modal__title{margin:0 0 12px;font-size:1.3rem;font-weight:700;color:var(--olive-dark)}.inspire-modal__desc{margin:0 0 28px;font-size:.95rem;line-height:1.55;color:var(--text-muted)}.inspire-modal__actions{display:flex;gap:12px;margin-bottom:16px}.inspire-modal__btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.inspire-modal__btn--primary{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);font-weight:700}.inspire-modal__btn--primary:hover{background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-1px);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.inspire-modal__btn--secondary{background:transparent;border:1.5px solid var(--border-color);color:var(--text-main)}.inspire-modal__btn--secondary:hover{border-color:var(--olive-dark);color:var(--olive-dark)}.inspire-modal__skip{background:none;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;padding:8px 0;transition:color .15s}.inspire-modal__skip:hover{color:var(--olive-dark);text-decoration:underline}.inspiration-section{margin-top:60px}.inspiration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:24px}.inspiration-card{background:var(--white);border-radius:20px;overflow:hidden;box-shadow:0 4px 20px #0000000a;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column;border:none;padding:0}.inspiration-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #0000001a}.inspiration-card img{width:100%;height:200px;object-fit:cover}.card-overlay{position:absolute;top:12px;right:12px}.trip-duration{background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-info{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}.card-info h4{margin:0;font-size:1.2rem;color:var(--text-main)}.trip-destination{color:var(--text-muted);font-size:.9rem;margin:0}.trip-highlights{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.highlight-tag{font-size:.75rem;color:var(--olive-dark);background:#4d62481a;padding:4px 8px;border-radius:6px}.trip-interests{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.interest-pill{font-size:.7rem;color:var(--text-muted);border:1px solid var(--border-color);padding:2px 8px;border-radius:10px}.results-view{max-width:1000px;margin:0 auto;padding-bottom:180px;z-index:10;position:relative}.results-header{margin-bottom:32px;display:flex;justify-content:space-between;gap:16px}.results-header h2{flex:1}@media(min-width:1024px){.place-modal-container.place-modal-container--with-feed{display:grid;grid-template-columns:minmax(0,560px) 380px;align-items:stretch;max-width:940px;max-height:80vh;overflow:hidden}.place-modal-container.place-modal-container--with-feed .place-modal-body{max-height:80vh;overflow-y:auto}.place-modal-feed{position:relative;top:0;max-height:80vh;overflow-y:auto;padding:20px;background:var(--bg-subtle, #f7f9f6);border-left:1px solid var(--border-color, rgba(77, 98, 72, .15));border-top-right-radius:16px;border-bottom-right-radius:16px}.place-modal-feed__header{font-size:15px;font-weight:700;color:var(--text-main, #2d342c);margin-bottom:12px;letter-spacing:-.01em;display:flex;align-items:center;gap:6px}.place-modal-feed__filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.place-modal-feed__chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-color, rgba(77, 98, 72, .2));background:var(--white, #ffffff);color:var(--text-main, #2d342c);border-radius:9999px;padding:5px 11px;font-size:12px;font-weight:500;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 3px #0000000a}.place-modal-feed__chip:hover{background:var(--bg-subtle, #f0f3ee);border-color:var(--olive-dark, #4d6248);transform:translateY(-1px)}.place-modal-feed__chip.is-active{background:var(--olive-dark, #4d6248);color:var(--white, #ffffff);border-color:var(--olive-dark, #4d6248);box-shadow:0 2px 8px #4d624847}.place-modal-feed__chip.is-active svg{color:#fff!important}.place-modal-feed__toggle{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-muted, #6b726a);margin-bottom:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.place-modal-feed__toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.place-modal-feed__toggle-switch{position:relative;display:inline-block;width:32px;height:18px;background-color:#4d624840;border-radius:9999px;transition:background-color .2s ease;flex-shrink:0}.place-modal-feed__toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.place-modal-feed__toggle input:checked+.place-modal-feed__toggle-switch{background-color:var(--olive-dark, #4d6248)}.place-modal-feed__toggle input:checked+.place-modal-feed__toggle-switch:after{transform:translate(14px)}.place-modal-feed__toggle input:focus-visible+.place-modal-feed__toggle-switch{outline:2px solid var(--olive-dark, #4d6248);outline-offset:2px}}.results-layout-wrapper{background:var(--white);border-radius:24px;padding:40px;min-height:800px;box-shadow:0 20px 80px #0000000d;position:relative;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.integrated-user-prompt{display:flex;justify-content:flex-end;margin-bottom:32px}.user-bubble{background:#f1f3f1;color:var(--text-main);padding:16px 24px;border-radius:24px 24px 4px;max-width:60%;font-size:1.1rem;box-shadow:0 4px 12px #00000005}.results-content{flex:1;width:100%;display:flex;flex-direction:column}.refine-bar{margin-top:40px;border-top:1px solid var(--border-color);padding-top:24px}.refine-text{color:var(--text-muted);font-weight:500;margin-bottom:12px}.refine-input-container{display:flex;gap:12px;background:#fcfdfc;border:1px solid var(--border-color);border-radius:16px;padding:8px 16px}.refine-input-container input{flex:1;border:none;background:transparent;padding:12px;font-size:1rem;outline:none}.refine-send{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.refine-send:hover{background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:scale(1.05);box-shadow:0 4px 14px #d4af3759}.artifact-card{cursor:default!important;border:none!important;height:auto!important;width:100%!important}.artifact-card.focused{position:relative!important;width:100%!important;height:auto!important;min-height:600px;transform:none!important;box-shadow:none!important;padding:0!important;flex:1;display:flex;flex-direction:column}.artifact-card-inner{flex:1;display:flex;flex-direction:column}.artifact-iframe{width:100%!important;height:100%!important;min-height:800px!important;border:none;flex:1}.chat-widget{position:fixed;bottom:30px;right:40px;width:350px;height:500px;background:var(--white);border-radius:24px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;z-index:1000;overflow:hidden;border:1px solid var(--border-color);transition:height .3s ease}.chat-widget.minimized{height:auto;width:250px}.chat-fab{display:none;position:fixed;bottom:24px;right:20px;align-items:center;gap:8px;background:var(--olive-dark);color:var(--white);border:none;border-radius:50px;padding:14px 20px 14px 16px;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;z-index:800;box-shadow:0 8px 24px #4d624859;transition:transform .2s ease,box-shadow .2s ease}.chat-fab:hover,.chat-fab:focus-visible{transform:translateY(-2px);box-shadow:0 12px 32px #4d624873;outline:none}.chat-fab:active{transform:translateY(0)}.chat-fab__icon{font-size:1.1rem;line-height:1}.chat-fab__label{white-space:nowrap}.chat-header{background:var(--olive-dark);color:var(--white);padding:5px 20px;font-weight:700;display:flex;align-items:center;gap:10px;position:relative}.chat-header-actions{position:absolute;right:12px;display:flex;align-items:center;gap:6px}.maximize-button,.minimize-button{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}.maximize-button:hover,.minimize-button:hover{background:#ffffff26}.chat-nav-icon{position:relative}.chat-nav-icon .chat-badge{position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:var(--gold);border-radius:50%;border:2px solid var(--white)}.chat-header:hover{cursor:pointer}.chat-history{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:#fafbfa}.chat-msg{padding:12px 16px;border-radius:18px;font-size:.9rem;max-width:85%;line-height:1.4}.chat-msg.ai{align-self:flex-start;background:#edf1ec;color:var(--olive-dark);border-bottom-left-radius:4px}.chat-msg.user{align-self:flex-end;background:var(--sage-primary);color:var(--white);border-bottom-right-radius:4px}.chat-input-container{padding:16px;border-top:1px solid var(--border-color);display:flex;gap:8px;-webkit-overflow-scrolling:auto;z-index:10}.chat-input-container input{flex:1;border:1px solid var(--border-color);border-radius:99px;padding:10px 16px;outline:none}.chat-send{width:38px;height:38px;background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 6px #d4af3740}.chat-send:hover{background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:scale(1.05);box-shadow:0 4px 12px #d4af3759}.simple-footer{padding:16px 24px;border-top:1px solid rgba(0,0,0,.06);background:transparent;position:relative;z-index:0}.simple-footer__inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--text-muted)}.simple-footer__brand{display:flex;flex-direction:column;gap:2px}.simple-footer__copyright{white-space:nowrap}.simple-footer__incorporation{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.simple-footer__links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}.simple-footer__link{background:none;border:none;padding:0;font:inherit;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.simple-footer__link:hover,.simple-footer__link:focus-visible{color:var(--olive-dark);text-decoration:underline;outline:none}.simple-footer__socials{display:flex;align-items:center;gap:12px}.simple-footer__social{color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;transition:color .15s ease,transform .15s ease}.simple-footer__social:hover,.simple-footer__social:focus-visible{color:var(--olive-dark);transform:translateY(-1px);outline:none}@media(max-width:600px){.simple-footer__inner{justify-content:center;text-align:center}}.pagination-dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:#0000001a}.dot.active{background:var(--olive-dark);width:24px;border-radius:10px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin-icon{animation:spin 1s linear infinite}@media(max-width:1024px){.hero-section{display:flex;flex-direction:column;gap:32px}.hero-media-column{order:-1}.hero-form-card{order:0;width:100%;box-sizing:border-box}.inspiration-grid{grid-template-columns:repeat(2,1fr)}.chat-widget{display:none}.chat-fab{display:flex}.content-container{padding:0 20px}.results-layout-wrapper{padding:20px}.just-travel-app.has-results .simple-footer{display:none}}.login-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-subtle, #e8ebe6) 100%);padding:20px}.login-container{width:100%;max-width:440px;background:var(--surface-card, #ffffff);border:1px solid var(--border-color);border-radius:20px;padding:40px 32px;box-shadow:0 16px 48px #00000014;text-align:center}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.login-logo .travel-logo{width:48px;height:48px}.login-logo .logo-text{font-size:1.8rem;font-weight:700;color:var(--olive-dark)}.auth-toggle{display:flex;background:var(--surface-elevated, var(--bg-light));border:1px solid var(--border-color);border-radius:12px;padding:4px;margin-bottom:24px}.toggle-btn{flex:1;padding:12px;border:none;background:transparent;font-weight:600;color:var(--text-muted);cursor:pointer;border-radius:10px;transition:all .2s}.toggle-btn.active{background:var(--surface-card, var(--white));color:var(--olive-dark);box-shadow:0 2px 8px #00000014}.auth-title{font-size:1.6rem;font-weight:700;color:var(--olive-dark);margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{text-align:left}.form-group input{width:100%;padding:14px 20px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;background:var(--surface-elevated, #fcfdfc);color:var(--text-main);box-sizing:border-box;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--olive-dark)}.field-error{color:#ef4444;font-size:.8rem;margin-top:4px;display:block}.auth-submit-btn{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);padding:16px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;margin-top:8px;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-1px);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-switch{margin-top:24px;color:var(--text-muted)}.forgot-password-link{text-align:right;margin-top:-4px;margin-bottom:8px}.forgot-password-link button{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s}.forgot-password-link button:hover{color:var(--olive-dark)}.auth-switch button{background:none;border:none;color:var(--olive-dark);font-weight:600;cursor:pointer;text-decoration:underline}.success-message{background:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.3);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.error-message{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.resend-confirmation{background:none;border:none;color:var(--text-muted);font-size:.85rem;padding:0;transition:color .2s;margin-top:8px}.resend-confirmation:hover{color:var(--olive-dark)}.resend-confirmation-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:.8;color:var(--text-muted);text-decoration:underline;padding:0 0 0 5px}.auth-modal{background:var(--white, #fff);border-radius:16px;padding:40px 36px 32px;width:100%;max-width:420px;position:relative;box-shadow:0 20px 60px #0000004d;text-align:center;animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:8px;border-radius:8px;transition:background .2s,color .2s;display:flex;align-items:center;justify-content:center}.auth-modal-close:hover{background:var(--bg-light, #f5f5f0);color:var(--text-primary, #333)}.auth-modal-prompt{background:var(--bg-light, #f5f5f0);border-radius:10px;padding:12px 16px;margin-bottom:20px;font-size:.9rem;color:var(--text-secondary, #666);line-height:1.4}.verification-required{text-align:center;padding:20px 0}.verification-icon{margin-bottom:16px;color:var(--sage-primary)}.verification-text{font-size:.95rem;color:var(--text-secondary, #666);line-height:1.5;margin-bottom:16px}.loading-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-light);gap:16px}.loading-screen p{color:var(--text-muted);font-size:1.1rem}.user-menu{cursor:pointer;transition:opacity .2s;border:none;background:none}.user-menu:hover{opacity:.7}.header-menu-wrapper{position:relative}.header-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--white, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;box-shadow:0 8px 30px #0000001f;min-width:190px;padding:6px 0;z-index:1100;animation:fadeInDropdown .15s ease-out}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.header-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;border:none;background:none;cursor:pointer;font-size:.88rem;font-family:inherit;font-weight:500;color:var(--text-main);transition:background .15s,color .15s;text-align:left}.header-dropdown-item:hover{background:var(--sage-light, #f0f4ef);color:var(--color-primary-green, #2D5A3F)}.header-dropdown-item--active{color:var(--color-primary-green, #2D5A3F);font-weight:600;background:#4d624814}.header-dropdown-item svg{flex-shrink:0;color:var(--olive-dark)}.header-dropdown-divider{height:1px;background:var(--border-color, #e5e7eb);margin:6px 0}.header-dropdown-nav-mobile{display:none}.header-dropdown-auth-mobile{display:block}.header-menu-wrapper--guest{display:none}@media(max-width:900px){.header-dropdown-nav-mobile,.header-menu-wrapper--guest{display:block}}.user-email{font-size:.85rem;color:var(--text-muted)}.streaming-indicator{font-size:.75rem;opacity:.8;margin-left:8px}.streaming-status{display:flex;align-items:center;gap:8px;padding:16px;color:var(--text-muted);flex-wrap:wrap}.streaming-status__note{font-size:.8em;opacity:.7;font-style:italic;width:100%;padding-left:28px}.rate-limit-notice{display:flex;flex-direction:column;gap:8px;padding:12px 16px;margin:0 0 40px;background:var(--surface-subtle, #f5f5f0);border:1px solid var(--border-muted, #e0ddd4);border-radius:10px;font-size:.875rem;color:var(--text-primary, #2d2d2d)}.rate-limit-notice__message{margin:0;line-height:1.4}.rate-limit-notice__retry{margin:0;font-size:.8em;opacity:.7}.rate-limit-notice__dismiss{align-self:flex-start;background:none;border:none;padding:0;font-size:.8em;color:var(--text-muted, #888);cursor:pointer;text-decoration:underline}.rate-limit-notice__dismiss:hover{color:var(--text-primary, #2d2d2d)}.chat-results{display:flex;flex-direction:column;gap:16px}.assistant-response{background:#f9faf9;padding:20px;border-radius:16px;line-height:1.6;white-space:pre-wrap}.chat-error-message{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fef3f2;border:1px solid #fecaca;border-radius:16px;margin:4px 0}.chat-error-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:2px}.chat-error-body{display:flex;flex-direction:column;gap:10px;flex:1}.chat-error-text{margin:0;color:#991b1b;font-size:.95rem;line-height:1.5}.btn-retry{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;background:var(--olive-dark, #4d6248);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.btn-retry:hover{background:var(--sage-primary, #98a88c);transform:translateY(-1px)}.btn-retry:active{transform:translateY(0)}.hotel-card{background:var(--white);border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000000f;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.hotel-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.hotel-card-image{position:relative;height:200px;overflow:hidden}.hotel-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.hotel-card:hover .hotel-card-image img{transform:scale(1.05)}.hotel-deal-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.3);padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0000001f}.hotel-card-content{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.hotel-card-header{display:flex;flex-direction:column;gap:4px}.hotel-name{font-size:1.1rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.3}.hotel-stars{color:var(--gold-accent);font-size:.85rem;letter-spacing:2px}.rating-stars{display:inline-flex;gap:2px;color:#eab308}.hotel-stars-placeholder{color:#9ca3af;font-size:14px;letter-spacing:2px}.hotel-card-rating{display:flex;align-items:center;gap:8px}.rating-score{color:#fff;padding:4px 8px;border-radius:6px;font-weight:700;font-size:.9rem}.rating-word{color:var(--text-muted);font-size:.9rem}.hotel-distance{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--text-muted)}.hotel-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:auto;padding-top:12px;border-top:1px solid var(--border-color)}.hotel-price{display:flex;flex-direction:column;align-items:flex-start}.price-main{display:flex;align-items:baseline;gap:4px}.price-value{font-size:1.4rem;font-weight:800;color:var(--olive-dark)}.price-label{font-size:.75rem;color:var(--text-muted)}.price-sublabel{font-size:.75rem;color:var(--text-muted);margin-top:2px}.price-pending{align-items:center;gap:8px}.price-skeleton{display:inline-block;width:76px;height:1.1rem;border-radius:5px;background:linear-gradient(90deg,var(--bg-light, #f5f5f0) 25%,var(--border-color, #e0ddd4) 37%,var(--bg-light, #f5f5f0) 63%);background-size:400% 100%;animation:price-skeleton-sweep 1.4s ease-in-out infinite}@keyframes price-skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.price-skeleton{animation:none}}.hotel-view-btn:disabled{opacity:.5;cursor:default}.price-over-budget{display:inline-block;margin-top:2px;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#b45309}.hotel-view-btn{background:var(--olive-dark);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.hotel-view-btn:hover{background:#3d4e3b;transform:translateY(-1px)}.flight-card{background:var(--white);border-radius:16px;padding:24px;box-shadow:0 4px 20px #0000000f;cursor:pointer;transition:all .3s ease}.flight-card:hover{box-shadow:0 8px 32px #0000001a}.flight-card.has-pick-badge{overflow:hidden}.flight-pick-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-24px -24px 18px;padding:8px 20px;border-top-left-radius:16px;border-top-right-radius:16px;border-bottom:1px solid transparent;font-size:.8rem}.flight-pick-banner .flight-pick-badge{display:inline-flex;align-items:center;gap:6px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;flex-shrink:0}.flight-pick-banner .flight-pick-icon{display:inline-flex;align-items:center;justify-content:center}.flight-pick-banner .flight-pick-reason{font-size:.78rem;font-weight:500;opacity:.92;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flight-pick-cheapest{background:#ecfdf5;color:#047857;border-color:#10b98140}.flight-pick-fastest{background:#f0f9ff;color:#0284c7;border-color:#0ea5e940}.flight-pick-best{background:#fffbeb;color:#b45309;border-color:#f59e0b40}.airline-cell-name-group{display:flex;flex-direction:column;gap:3px}.flight-table-pick-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;width:fit-content;border:1px solid transparent}.flight-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.airline-info{display:flex;align-items:center;gap:12px}.airline-logo{width:40px;height:40px;object-fit:contain}.airline-logo-placeholder{width:40px;height:40px;background:var(--sage-primary);color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;font-weight:700;font-size:.9rem}.airline-name{font-weight:600;color:var(--text-main)}.cabin-class{background:var(--bg-light);padding:6px 12px;border-radius:20px;font-size:.8rem;color:var(--text-muted);font-weight:500}.flight-segments{display:flex;flex-direction:column;gap:20px}.flight-segment{display:flex;flex-direction:column;gap:8px}.segment-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.segment-route{display:flex;align-items:center;gap:16px}.segment-time{display:flex;flex-direction:column;align-items:center;min-width:60px}.segment-time .time{font-size:1.4rem;font-weight:700;color:var(--olive-dark)}.segment-time .airport{font-size:.85rem;color:var(--text-muted);font-weight:500}.segment-duration{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.duration-line{display:flex;align-items:center;width:100%}.duration-line .line{flex:1;height:2px;background:linear-gradient(90deg,var(--sage-primary) 0%,var(--olive-dark) 100%)}.duration-line .plane-icon{margin:0 8px}.duration-text{font-size:.85rem;color:var(--text-main);font-weight:500}.stops-text{font-size:.75rem;color:var(--text-muted)}.flight-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.flight-price{display:flex;flex-direction:column;gap:4px}.flight-price .price-value{font-size:1.6rem;font-weight:800;color:var(--olive-dark)}.flight-price .price-label{font-size:.8rem;color:var(--text-muted)}.deal-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase}.flight-select-btn{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);padding:12px 28px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.flight-select-btn:hover{background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-2px);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.show-more-container{display:flex;justify-content:center;margin-top:20px}.btn-show-more{padding:14px 28px;border:1px solid rgba(180,148,40,.35);border-radius:12px;background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.btn-show-more:hover{background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-2px);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.btn-show-more:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d62484d}.btn-show-more:disabled{opacity:.5;cursor:wait}.flight-route-group{margin-bottom:12px}.route-accordion-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin-bottom:12px;background:var(--bg-light);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.route-accordion-header:hover{background:var(--white);border-color:var(--sage-primary);box-shadow:0 2px 8px #0000000f}.route-accordion-header.expanded{background:var(--white);border-color:var(--sage-primary);box-shadow:0 2px 12px #00000014}.route-accordion-info{display:flex;flex-direction:column;gap:2px}.route-accordion-label{font-weight:700;font-size:1rem;color:var(--text-main)}.route-accordion-meta{font-size:.85rem;color:var(--text-muted);font-weight:500}.route-accordion-chevron{font-size:1.2rem;color:var(--text-muted);transition:transform .25s ease;line-height:1}.route-accordion-chevron.expanded{transform:rotate(180deg)}.segment-time .city-name{font-size:.75rem;color:var(--text-muted);font-weight:400;margin-top:1px;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.modal-close{background:var(--olive-dark);color:#fff;border:none;padding:5px;border-radius:10px;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .2s;width:30px;position:absolute}.filters>select{background:var(--sage-primary);color:#fff;border:none;padding:10px 20px;border-radius:10px;font-weight:500;font-size:.75rem;cursor:pointer;transition:all .2s;margin:5px}.flights-list{display:flex;flex-direction:column;gap:16px}.flight-compare-modal{width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;background:var(--surface-card);color:var(--text-primary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 24px 80px #00000047;animation:slideUp .3s cubic-bezier(.16,1,.3,1);padding:0}.flight-table{width:100%;border-collapse:separate;border-spacing:0}.flight-table thead{background-color:var(--surface-elevated)}.flight-table th{text-align:left;padding:14px 18px;position:sticky;top:0;z-index:10;background:var(--surface-elevated);border-bottom:2px solid var(--border-color);box-shadow:0 2px 8px #0000000a;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.flight-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease,background-color .15s ease}.flight-table th.sortable:hover{background:var(--surface-hover);color:var(--text-primary)}.flight-table td{padding:14px 18px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;background:var(--surface-card);color:var(--text-primary);transition:background .15s ease}.flight-table tr:hover td{background:var(--surface-hover)}.col-airline{min-width:170px}.airline-cell{display:flex;align-items:center;gap:12px;color:var(--text-primary)}.mini-logo{width:26px;height:26px;object-fit:contain;border-radius:4px}.time-cell{display:flex;flex-direction:column;gap:2px}.time-cell .time{font-weight:600;font-size:14px;color:var(--text-primary)}.time-cell .airport,.airport{font-size:12px;color:var(--text-secondary)}.provider-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:12px;font-size:11px;font-weight:700;text-transform:capitalize;letter-spacing:.02em;background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border-subtle)}.provider-duffel{background:#3b82f61f;color:#1d4ed8;border-color:#3b82f640}.provider-agoda{background:#10b9811f;color:#047857;border-color:#10b98140}.provider-booking{background:#f973161f;color:#c2410c;border-color:#f9731640}.view-details-btn{background:var(--sage-primary);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;margin-right:10px}.view-details-btn:hover{background:var(--olive-dark);transform:translateY(-2px)}.chat-widget .card-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-widget .flight-select-btn,.chat-widget .view-details-btn{padding:6px 12px;font-size:.78rem;border-radius:7px;font-weight:600;margin-right:0;flex:1 1 auto;min-width:0;white-space:nowrap}.chat-widget .flight-select-btn:hover,.chat-widget .view-details-btn:hover{transform:none}.chat-widget .flight-card-footer{margin-top:12px;padding-top:12px;gap:8px;flex-wrap:wrap}.detailed-segments{margin-top:16px;padding:16px;background:var(--surface-elevated, #fafbfa);border-radius:12px;border:1px solid var(--border-color)}.detail-label{font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.detail-row{display:grid;grid-template-columns:80px 40px 1fr;gap:16px;position:relative;padding-bottom:32px}.detail-row:last-child{padding-bottom:0}.detail-left{text-align:right;display:flex;flex-direction:column;gap:40px}.detail-time-group{display:flex;flex-direction:column}.detail-time{font-weight:700;font-size:1rem;color:var(--text-main)}.detail-airport{font-size:1.1rem;font-weight:400;color:var(--text-muted)}.detail-center{display:flex;flex-direction:column;align-items:center;position:relative}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--sage-primary, var(--border-color));margin-top:6px}.timeline-line{width:2px;background:var(--border-color);flex:1;margin:4px 0}.plane-icon-small{font-size:.8rem;color:var(--olive-dark)}.detail-right{display:flex;flex-direction:column;justify-content:center;gap:4px}.airline{font-weight:600;color:var(--olive-dark)}.flight-num{font-size:.85rem;color:var(--text-muted)}.detail-sub{font-size:.8rem;color:var(--text-muted)}.chat-message{display:flex;gap:12px;margin-bottom:16px}.chat-message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;background:var(--bg-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.message-bubble{max-width:75%;background:var(--white);padding:14px 18px;border-radius:16px;box-shadow:0 2px 8px #0000000a}.chat-message.user .message-bubble{background:var(--olive-dark);color:#fff}.message-content{display:flex;flex-direction:column;gap:4px;line-height:1.5}.message-line{display:block}.message-line .list-item{display:flex;gap:8px}.message-line .list-item:before{content:"•";color:var(--gold-accent)}.message-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.tool-indicator{font-size:.85rem;font-style:italic}.message-timestamp{font-size:.7rem;color:var(--text-muted);margin-top:8px;text-align:right}.chat-message.user .message-timestamp{color:#ffffffb3}.profile-setup{max-width:600px;margin:0 auto;padding:40px;background:var(--white);border-radius:24px;box-shadow:0 8px 40px #0000000f;z-index:10;position:relative}.profile-setup-header{text-align:center;margin-bottom:32px}.profile-setup-header h2{font-size:1.8rem;font-weight:800;color:var(--olive-dark);margin:0 0 8px}.profile-setup-header p{color:var(--text-muted);margin:0}.profile-form{display:flex;flex-direction:column;gap:28px}.form-section{display:flex;flex-direction:column;gap:12px}.form-label{font-weight:600;color:var(--text-main);display:flex;justify-content:space-between;align-items:center}.form-hint{font-weight:400;font-size:.85rem;color:var(--text-muted)}.form-input{padding:14px 18px;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--olive-dark)}.budget-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budget-option{padding:16px;border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s;text-align:center}.budget-option:hover{border-color:var(--sage-primary)}.budget-option.selected{border-color:var(--olive-dark);background:#4d62480d}.budget-label{display:block;font-weight:600;color:var(--text-main);margin-bottom:4px}.budget-description{font-size:.8rem;color:var(--text-muted)}.interest-tag{padding:10px 16px;border:1px solid var(--border-color);border-radius:24px;background:var(--white);cursor:pointer;transition:all .2s;font-size:.9rem}.interest-tag:hover{border-color:var(--sage-primary);background:#98a88c1a}.interest-tag.selected{border-color:var(--olive-dark);background:var(--olive-dark);color:var(--olive-dark)}.form-error{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;font-size:.9rem}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px}.btn-secondary{padding:14px 28px;border:1px solid var(--border-color);border-radius:12px;background:var(--white);color:var(--text-main);font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-light)}.btn-primary{padding:14px 28px;border:1px solid rgba(180,148,40,.35);border-radius:12px;background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-1px);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.btn-primary:disabled{background:var(--text-muted);opacity:.6;cursor:not-allowed}.hotels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.hotel-carousel-container{position:relative;display:flex;align-items:center;gap:8px}.hotel-carousel{display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;padding:16px 8px;scrollbar-width:thin;scrollbar-color:var(--sage-primary) transparent;-webkit-overflow-scrolling:touch}.hotel-carousel::-webkit-scrollbar{height:8px}.hotel-carousel::-webkit-scrollbar-track{background:var(--bg-light);border-radius:4px}.hotel-carousel::-webkit-scrollbar-thumb{background:var(--sage-primary);border-radius:4px}.hotel-carousel::-webkit-scrollbar-thumb:hover{background:var(--olive-dark)}.hotel-carousel-item{flex:0 0 320px;min-width:320px}.carousel-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:var(--white);border:1px solid var(--border-color);box-shadow:0 4px 12px #0000001a;cursor:pointer;font-size:24px;color:var(--olive-dark);display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;opacity:.9}.carousel-nav-btn:hover{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);opacity:1;transform:translateY(-50%) scale(1.05)}.carousel-nav-left{left:-22px}.carousel-nav-right{right:-22px}.hotel-top-picks{margin:0 0 12px;padding-top:20px}.top-picks-header{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:8px}.top-picks-grid{display:flex;gap:8px;flex-wrap:wrap}.top-pick-card{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border:1px solid var(--border-primary);border-radius:10px;background:var(--surface-card);cursor:pointer;transition:all .15s;text-align:left;font-family:inherit;min-width:160px;flex:1;max-width:260px}.top-pick-card:hover{border-color:var(--gold-accent);box-shadow:0 2px 8px #4d62481f}.top-pick-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--gold-accent)}.top-pick-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-pick-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.top-pick-stars{display:inline-flex;align-items:center;gap:1px;color:#eab308}.top-pick-score{background:#2e7d32;color:#fff;padding:1px 5px;border-radius:4px;font-weight:600;font-size:11px}.top-pick-price{font-weight:600;color:var(--text-primary)}.compare-hotels-section{display:flex;justify-content:center;margin:20px 0}.btn-compare-hotels{padding:12px 26px;border:1px solid rgba(180,148,40,.35);border-radius:12px;background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px #d4af3740;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-compare-hotels:hover{transform:translateY(-2px);background:linear-gradient(135deg,#dfbc45,#ccaa32);box-shadow:0 6px 16px #d4af3759;color:#0d170d}.hotel-compare-modal{width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;background:var(--surface-card);color:var(--text-primary);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 24px 80px #00000047;animation:slideUp .3s cubic-bezier(.16,1,.3,1);padding:0}.modal-header{padding:14px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:18px;font-weight:600}.hotel-search-input{display:flex;align-items:center;gap:8px;padding:0 12px;height:38px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-card);min-width:240px;transition:all .2s ease;box-shadow:0 1px 3px #00000008}.hotel-search-input svg{color:var(--text-secondary);flex-shrink:0}.hotel-search-input input{border:none;outline:none;background:transparent;color:var(--text-primary);font-size:13.5px;width:100%}.hotel-search-input input::placeholder{color:var(--text-secondary)}.hotel-search-input:focus-within{border-color:var(--sage-primary);box-shadow:0 0 0 3px #6b8e642e}.hotel-compare-modal .modal-close,.flight-compare-modal .modal-close{display:none}.compare-modal-header{padding:18px 24px;background:var(--surface-card);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.compare-header-title-group{display:flex;align-items:center;gap:12px}.compare-header-icon-box{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#6b8e6433,#2d5a3f1a);color:var(--sage-primary);display:flex;align-items:center;justify-content:center;border:1px solid rgba(107,142,100,.25);box-shadow:inset 0 1px 1px #fff3;flex-shrink:0}.compare-header-text{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.compare-header-text h2{margin:0;font-size:19px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.compare-header-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;background:var(--surface-hover);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px;font-weight:600}.compare-modal-close-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:var(--surface-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.compare-modal-close-btn:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--sage-primary);transform:scale(1.06)}.compare-filters-panel{display:flex;align-items:flex-end;gap:18px;padding:16px 24px;background:var(--surface-elevated);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:5px}.filter-group label svg{color:var(--sage-primary)}.select-wrapper{position:relative;display:flex;align-items:center}.select-wrapper select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:9px 34px 9px 13px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-card);color:var(--text-primary);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000008;min-width:135px}.select-wrapper select:hover{border-color:var(--sage-primary);background:var(--surface-hover)}.select-wrapper select:focus{outline:none;border-color:var(--sage-primary);box-shadow:0 0 0 3px #6b8e642e}.select-chevron{position:absolute;right:12px;pointer-events:none;color:var(--text-secondary)}.price-range-inputs{display:flex;align-items:center;gap:8px}.price-input-wrapper{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-card);padding:0 10px;height:38px;width:105px;transition:all .2s ease;box-shadow:0 1px 3px #00000008}.price-input-wrapper:focus-within{border-color:var(--sage-primary);box-shadow:0 0 0 3px #6b8e642e;background:var(--surface-card)}.currency-prefix{font-size:13px;font-weight:600;color:var(--text-secondary);margin-right:4px;-webkit-user-select:none;user-select:none}.price-input-wrapper input{border:none;outline:none;background:transparent;width:100%;font-size:13.5px;font-weight:600;color:var(--text-primary);padding:0}.price-input-wrapper input::-webkit-outer-spin-button,.price-input-wrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.price-input-wrapper input[type=number]{-moz-appearance:textfield}.price-range-separator{color:var(--text-secondary);font-weight:600;font-size:14px}.btn-reset-filters{height:38px;padding:0 14px;border-radius:10px;border:1px solid rgba(239,68,68,.3);background:#ef44441a;color:#ef4444;font-weight:600;font-size:12.5px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.btn-reset-filters:hover{background:#ef44442e;border-color:#ef444480;transform:translateY(-1px)}.search-filter-group{margin-left:auto}.search-clear-btn{background:none;border:none;cursor:pointer;padding:2px;display:flex;border-radius:50%;color:var(--text-secondary);transition:color .15s ease}.search-clear-btn:hover{color:var(--text-primary);background:var(--surface-hover)}.table-container{flex:1;overflow:auto;padding:0}.hotel-table{width:100%;border-collapse:separate;border-spacing:0}.hotel-table header,.hotel-table thead{background-color:var(--surface-elevated)}.hotel-table th{text-align:left;padding:14px 18px;position:sticky;top:0;z-index:10;background:var(--surface-elevated);border-bottom:2px solid var(--border-color);box-shadow:0 2px 8px #0000000a;font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.hotel-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease,background-color .15s ease}.hotel-table th.sortable:hover{background:var(--surface-hover);color:var(--text-primary)}.hotel-table td{padding:14px 18px;border-bottom:1px solid var(--border-subtle);vertical-align:middle;background:var(--surface-card);transition:background .15s ease}.hotel-table tr:hover td{background:var(--surface-hover)}.rating-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:13px;font-weight:700}.rating-badge.emerald{background:#10b98126;color:#059669}.rating-badge.teal{background:#14b8a626;color:#0d9488}.rating-badge.blue{background:#3b82f626;color:#2563eb}:root[data-theme=dark] .rating-badge.emerald{color:#34d399}:root[data-theme=dark] .rating-badge.teal{color:#2dd4bf}:root[data-theme=dark] .rating-badge.blue{color:#60a5fa}.star-rating{display:inline-flex;align-items:center;gap:4px;color:#d97706;font-weight:600;font-size:13px}:root[data-theme=dark] .star-rating{color:#fbbf24}.stop-badge-direct{display:inline-flex;align-items:center;padding:3px 9px;border-radius:12px;font-size:12px;font-weight:600;background:#10b98126;color:#059669}.stop-badge-layover{display:inline-flex;align-items:center;padding:3px 9px;border-radius:12px;font-size:12px;font-weight:500;background:var(--surface-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.hotel-cell{display:flex;align-items:center;gap:12px}.mini-photo{width:80px;height:60px;object-fit:cover;border-radius:8px;border:1px solid var(--border-subtle)}.hotel-info{display:flex;flex-direction:column;gap:4px}.hotel-name{font-weight:600;font-size:14px;color:var(--text-primary)}.hotel-table .deal-badge,.deal-badge{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;width:fit-content;padding:3px 8px;border-radius:12px;background:#6b8e6426;color:var(--sage-primary);border:1px solid rgba(107,142,100,.3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;line-height:1.2}.rating-cell{display:flex;flex-direction:column;gap:2px}.rating-cell .score{font-weight:600;font-size:16px}.rating-cell .word{font-size:12px;color:var(--text-secondary)}.price-cell{font-weight:700;color:var(--primary-color);font-size:16px;letter-spacing:-.01em}.btn-select-sm{padding:8px 18px;background:linear-gradient(135deg,#d4af37,#c49e28);border:1px solid rgba(180,148,40,.35);border-radius:8px;color:#141f14;cursor:pointer;font-weight:700;font-size:13px;letter-spacing:.01em;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #00000014;display:inline-flex;align-items:center;justify-content:center}.btn-select-sm:hover{transform:translateY(-1px);background:linear-gradient(135deg,#dfbc45,#ccaa32);box-shadow:0 4px 12px #d4af3759;color:#0d170d}.back-btn{background:none;border:none;color:var(--text-muted);font-weight:600;cursor:pointer;padding:8px 0;font-size:.95rem}.back-btn:hover{color:var(--olive-dark);text-decoration:underline}.results-layout{display:flex;flex-direction:column;gap:32px}.user-request-card{background:var(--olive-dark);color:#fff;padding:24px;border-radius:16px;position:relative;overflow:hidden}.user-request-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.request-label{font-size:.8rem;text-transform:uppercase;letter-spacing:1px;opacity:.8;margin-bottom:8px}.user-request-card p{margin:0;font-size:1.2rem;line-height:1.5;font-weight:500}.agent-response-area{display:flex;flex-direction:column;gap:24px}.chat-session-loading{display:flex;flex-direction:column;gap:16px;animation:fadeIn .2s ease}.chat-session-loading__bubble{display:flex;flex-direction:column;gap:10px;padding:20px 24px;border-radius:16px}.chat-session-loading__bubble--user{background:var(--olive-dark);opacity:.12;align-self:flex-end;max-width:65%}.chat-session-loading__bubble--assistant{background:var(--white);box-shadow:0 2px 12px #00000008}.chat-skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--bg-light, #f4f6f3) 25%,rgba(77,98,72,.08) 50%,var(--bg-light, #f4f6f3) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease infinite}.responses-list{display:flex;flex-direction:column;gap:16px}.response-group.user{align-self:flex-end;max-width:85%;width:fit-content}.response-card{background:var(--white);padding:24px;border-radius:16px;box-shadow:0 2px 12px #00000008;line-height:1.6;width:fit-content;max-width:100%;min-width:120px}.markdown-text{font-size:.95rem;color:var(--text-main);line-height:1.7}.markdown-text .md-paragraph{margin:0 0 .75em}.markdown-text .md-paragraph:last-child{margin-bottom:0}.markdown-text strong{font-weight:600;color:var(--olive-dark)}.markdown-text a.hotel-text-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;color:var(--olive-dark);font-weight:600;transition:color .15s}.markdown-text a.hotel-text-link:hover{color:var(--accent-color, #4a7c59)}.markdown-text em{font-style:italic}.markdown-text ul,.markdown-text ol{margin:.5em 0;padding-left:1.5em}.markdown-text li{margin:.35em 0}.markdown-text li>p{margin:0}.markdown-text a{color:var(--olive-dark);text-decoration:underline;text-decoration-color:var(--sage-primary);text-underline-offset:2px;transition:color .2s}.markdown-text a:hover{color:var(--sage-primary)}.markdown-text code{background:var(--bg-light);padding:.15em .4em;border-radius:4px;font-size:.88em;font-family:SF Mono,Fira Code,monospace}.markdown-text pre{background:var(--bg-light);padding:12px 16px;border-radius:8px;overflow-x:auto;margin:.75em 0}.markdown-text pre code{background:none;padding:0}.markdown-text h1,.markdown-text h2,.markdown-text h3,.markdown-text h4{color:var(--olive-dark);margin:.75em 0 .35em;font-weight:600}.markdown-text h1{font-size:1.25em}.markdown-text h2{font-size:1.15em}.markdown-text h3{font-size:1.05em}.markdown-text h4{font-size:1em}.markdown-text h1:first-child,.markdown-text h2:first-child,.markdown-text h3:first-child,.markdown-text h4:first-child{margin-top:0}.markdown-text blockquote{border-left:3px solid var(--sage-primary);margin:.75em 0;padding:.25em 0 .25em 1em;color:var(--text-muted)}.markdown-text hr{border:none;border-top:1px solid var(--border-color);margin:1em 0}.results-section h3{color:var(--olive-dark);margin:0 0 20px;font-size:1.4rem}.results-scroll-anchor{scroll-margin-bottom:180px}.refine-section{position:fixed;bottom:55px;left:50%;transform:translate(-50%);width:90%;max-width:800px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px 24px;border-radius:20px;box-shadow:0 10px 40px #0000001a;border:1px solid var(--border-color);z-index:100}.refine-prompt{margin:0 0 12px;font-size:.9rem;color:var(--text-muted);font-weight:500;text-align:center}.refine-input-container{display:flex;gap:12px}.refine-input-container input{flex:1;border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;font-size:1rem;background:var(--white)}.refine-input-container input:focus{outline:none;border-color:var(--olive-dark)}.refine-send{background:var(--olive-dark);color:#fff;border:none;width:48px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.refine-send:hover{background:#3d4e3b}.footer-content{text-align:center;color:var(--text-muted);font-size:.9rem;padding:40px 0}.cookie-consent{position:fixed;bottom:16px;left:16px;max-width:380px;width:calc(100% - 32px);background:var(--white, #ffffff);border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:16px 18px;z-index:900;animation:fadeIn .25s ease}@media(prefers-reduced-motion:reduce){.cookie-consent{animation:none}}.cookie-consent__body{display:flex;flex-direction:column;gap:12px}.cookie-consent__copy{margin:0;font-size:.875rem;line-height:1.45;color:var(--text-primary, #1f2a1c)}.cookie-consent__link{color:var(--olive-dark, #4d6248);text-decoration:underline}.cookie-consent__categories{display:flex;flex-direction:column;gap:8px;padding:8px 0;border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06)}.cookie-consent__category{display:flex;align-items:flex-start;gap:10px;font-size:.8125rem;cursor:pointer}.cookie-consent__category--locked{cursor:default;opacity:.85}.cookie-consent__category input[type=checkbox]{margin-top:3px;accent-color:var(--olive-dark, #4d6248)}.cookie-consent__category strong{display:block;color:var(--text-primary, #1f2a1c)}.cookie-consent__category em{display:block;font-style:normal;color:var(--text-muted);font-size:.75rem;margin-top:2px}.cookie-consent__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cookie-consent__btn{border:1px solid transparent;border-radius:8px;padding:8px 14px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.cookie-consent__btn--secondary{background:transparent;border-color:#0000001f;color:var(--text-primary, #1f2a1c)}.cookie-consent__btn--secondary:hover,.cookie-consent__btn--secondary:focus-visible{background:#0000000a;border-color:#0003;outline:none}.cookie-consent__btn--primary{background:var(--olive-dark, #4d6248);color:#fff;border-color:var(--olive-dark, #4d6248)}.cookie-consent__btn--primary:hover,.cookie-consent__btn--primary:focus-visible{background:#3d4e3b;border-color:#3d4e3b;outline:none}@media(max-width:480px){.cookie-consent{left:8px;right:8px;bottom:8px;width:auto;max-width:none}.cookie-consent__actions{justify-content:stretch}.cookie-consent__btn{flex:1}}.legal-page{max-width:820px;margin:0 auto;line-height:1.6}.legal-page h3{margin-top:1.6em;margin-bottom:.4em}.legal-page ul{padding-left:1.4em}.legal-page li{margin-bottom:6px}.legal-meta{color:var(--text-muted);font-size:.9rem}.legal-disclaimer{color:var(--text-muted);font-size:.85rem;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background:var(--white);border-radius:24px;max-width:900px;width:100%;max-height:70vh;margin-top:30px;overflow:hidden;box-shadow:0 24px 80px #00000040;position:relative;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--bg-light);border:none;font-size:28px;line-height:1;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--text-main);box-shadow:0 2px 12px #00000026;transition:all .2s}.modal-close-btn:hover{background:var(--olive-dark);color:#fff;transform:scale(1.05)}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center;color:var(--text-muted);gap:16px}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--olive-dark);border-radius:50%;animation:spin 1s linear infinite}.modal-loading p{color:var(--text-muted);font-size:1rem}.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;gap:16px;text-align:center}.modal-error p{color:#c62828;font-size:1rem}.retry-btn{background:var(--olive-dark);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.retry-btn:hover{background:#3d4e3b}.modal-photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;height:clamp(200px,35vh,320px);flex-shrink:0;background:var(--bg-light);overflow:hidden}.modal-photo-grid .photo-item{position:relative;cursor:pointer;overflow:hidden}.modal-photo-grid .photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.modal-photo-grid .photo-item:hover img{transform:scale(1.05)}.modal-photo-grid .photo-item.main-photo{grid-column:1 / 2;grid-row:1 / 3}.view-all-photos-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem;transition:background .2s}.photo-item:hover .view-all-photos-overlay{background:#00000080}.photo-shimmer{background:var(--bg-light, #f0f2ee);cursor:default!important}.shimmer-animation{width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:photo-shimmer 1.5s infinite}@keyframes photo-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}html[data-theme=dark] .photo-shimmer{background:#1a221e}html[data-theme=dark] .shimmer-animation{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%)}.fullscreen-carousel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:10000;display:flex;flex-direction:column}.fullscreen-carousel-header{display:flex;justify-content:flex-end;padding:20px}.fullscreen-carousel-close{background:transparent;border:none;color:#fff;font-size:40px;cursor:pointer;line-height:1;padding:0 10px}.fullscreen-carousel-content{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.fullscreen-carousel-content img{max-width:90vw;max-height:80vh;object-fit:contain;-webkit-user-select:none;user-select:none}.fullscreen-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;width:50px;height:50px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10}.fullscreen-nav-btn:hover{background:#ffffff4d}.fullscreen-nav-left{left:20px}.fullscreen-nav-right{right:20px}.fullscreen-indicator{position:absolute;bottom:30px;left:50%;transform:translate(-50%);color:#fff;font-size:1rem;background:#0009;padding:8px 16px;border-radius:20px;font-weight:500}.no-photos{display:flex;flex-direction:column;align-items:center;justify-content:center;height:350px;height:100%;color:var(--text-muted);gap:12px}.no-photos span{font-size:48px;opacity:.5}.modal-content{background-color:var(--bg-light);padding:28px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.modal-header{display:flex;flex-direction:column;gap:8px}.modal-header h2{font-size:1.6rem;font-weight:800;color:var(--text-main);margin:0;line-height:1.3}.accommodation-type{background:var(--bg-light);color:var(--text-muted);padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;width:fit-content}.modal-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.detail-section{display:flex;flex-direction:column;gap:8px}.detail-section h4{font-size:.9rem;font-weight:700;color:var(--olive-dark);margin:0}.address{font-size:.95rem;color:var(--text-main);margin:0;line-height:1.4}.city{font-size:.85rem;color:var(--text-muted);margin:0}.dates-info{display:flex;gap:20px}.date-item{display:flex;flex-direction:column;gap:2px}.date-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.95rem;font-weight:600;color:var(--text-main)}.availability{font-size:.9rem;font-weight:600;margin:4px 0 0}.availability.available{color:#2e7d32}.availability.sold-out{color:#c62828}.amenities-list{display:flex;flex-wrap:wrap;gap:8px}.amenity-tag{background:var(--bg-light);color:var(--text-main);padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.rooms-toggle-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 0;margin-top:12px;border:none;border-top:1px solid var(--border-color);background:none;cursor:pointer;transition:opacity .15s}.rooms-toggle-btn:hover{opacity:.75}.rooms-toggle-btn h4{font-size:15px;font-weight:700;color:var(--text-main);margin:0}.toggle-chevron{font-size:18px;transition:transform .25s ease;color:var(--text-muted)}.rooms-toggle-btn.open .toggle-chevron{transform:rotate(180deg)}.rooms-collapsible{animation:fadeIn .25s ease}.rooms-loading{display:flex;align-items:center;gap:12px;padding:16px 0;color:var(--text-muted);font-size:.9rem}.loading-spinner-small{width:24px;height:24px;border:3px solid var(--border-color);border-top-color:var(--olive-dark);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.rooms-error,.rooms-sold-out{padding:12px 0;color:var(--text-muted);font-size:.9rem}.modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border-color);margin-top:auto}.price-display{display:flex;flex-direction:column}.modal-footer .price-value{font-size:1.8rem;font-weight:800;color:var(--olive-dark)}.modal-footer .price-label{font-size:.8rem;color:var(--text-muted)}.book-now-btn{background:linear-gradient(135deg,#d4af37,#c49e28);color:#141f14;border:1px solid rgba(180,148,40,.35);padding:16px 40px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #d4af374d}.book-now-btn:hover:not(:disabled){background:linear-gradient(135deg,#dfbc45,#ccaa32);transform:translateY(-2px);box-shadow:0 8px 30px #d4af3773;color:#0d170d}.book-now-btn:disabled{opacity:.5;cursor:not-allowed}.select-hotel-btn{background:linear-gradient(135deg,var(--olive-dark) 0%,var(--olive-dark) 100%);color:#fff;border:none;padding:16px 40px;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px #b4b07d59;margin-right:16px}.select-hotel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 30px #b4b07d80}.select-hotel-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-container{max-height:70vh;border-radius:16px}.modal-photo-carousel{height:250px;border-radius:16px 16px 0 0}.modal-content{padding:12px 16px}.modal-header{gap:4px;padding-bottom:8px}.modal-header h2{font-size:1.15rem;line-height:1.2}.modal-header .accommodation-type{padding:2px 8px;font-size:.72rem}.modal-details{gap:12px}.modal-details .detail-section h4{margin-bottom:4px}.modal-details{grid-template-columns:1fr}.modal-footer{flex-direction:column;gap:16px;align-items:stretch}.book-now-btn,.select-hotel-btn{width:100%;text-align:center;margin-right:0}.action-buttons{flex-direction:column}.room-header{flex-direction:row;gap:12px;padding:12px}.room-image{width:96px;height:96px;flex-shrink:0}.room-card>.toggle-details-btn{margin:0 12px 12px;width:calc(100% - 24px)}.room-offer-item{flex-direction:column;align-items:flex-start}.offer-action{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}}.card-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.preference-card{border:1px solid var(--border-color);border-radius:16px;padding:20px;cursor:pointer;transition:all .2s;background:#fafbfa;display:flex;align-items:center;gap:16px}.preference-card:hover{border-color:var(--olive-dark);background:#f4f6f3}.preference-card.selected{border-color:var(--olive-dark);background:#eef2ed;box-shadow:0 4px 12px #4d62481a}.pref-icon{font-size:2rem}.pref-text{display:flex;flex-direction:column}.pref-label{font-weight:700;color:var(--olive-dark);font-size:1rem}.pref-desc{font-size:.8rem;color:var(--text-muted)}.mini-card-grid{display:flex;flex-wrap:wrap;gap:15px}.mini-card-grid.three-col{display:grid;grid-template-columns:repeat(3,1fr)}.mini-pref-card{border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;cursor:pointer;transition:all .2s;background:#fafbfa;display:flex;align-items:center;gap:10px;flex:1;min-width:140px;justify-content:center}.mini-pref-card:hover{border-color:var(--olive-dark);background:#f4f6f3}.mini-pref-card.selected{background:var(--olive-dark);border-color:var(--olive-dark)}.mini-pref-card.selected .mini-label{color:var(--text-main);font-weight:600}.mini-icon{font-size:1.4rem}.mini-label{font-size:.95rem;color:var(--text-main)}.interest-tag.dislike{background:#fff0f0;color:#c62828;border-color:#ffcdd2}.interest-tag.dislike.selected{background:#c62828;color:red;border-color:#c62828}.divider{margin:40px 0;border:none;border-top:1px solid var(--border-color)}.form-item-wrapper{margin-bottom:40px}.form-label{display:block;margin-bottom:15px;font-weight:600;color:var(--text-main);font-size:1.1rem}.profile-setup{max-width:900px;margin:40px auto;background:var(--white);border-radius:32px;box-shadow:0 24px 80px #00000014;padding:64px;z-index:100!important;position:relative}.profile-setup-header{text-align:center;margin-bottom:40px}.profile-setup-header h2{font-size:2rem;color:var(--olive-dark);margin-bottom:8px}.profile-setup-header p{color:var(--text-muted)}.profile-form{display:flex;flex-direction:column;gap:32px}.profile-section-group h3{margin-top:0;margin-bottom:40px;color:var(--olive-dark);font-size:1.5rem;border-bottom:2px solid var(--border-color);padding-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.form-group.full-width{grid-column:1 / -1}.form-group label{display:block;margin-bottom:16px;font-weight:600;color:var(--text-main);font-size:1rem}.tag-input-container{border:1px solid var(--border-color);border-radius:12px;padding:8px;background:#fcfdfc;display:flex;flex-direction:column;gap:8px}.tag-input-container input{border:none!important;background:transparent!important;padding:8px!important;width:100%}.tags-list{display:flex;flex-wrap:wrap;gap:8px;padding:4px}.tag-pill{background:#eef2ed;color:var(--olive-dark);padding:6px 12px;border-radius:20px;font-size:.85rem;display:flex;align-items:center;gap:6px}.tag-pill button{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:.8;color:var(--text-muted);padding:0;display:flex;align-items:center}.tag-pill button:hover{color:#d32f2f}.tag-pill.like{background:#e6f4ea;color:#1e8e3e}.tag-pill.dislike{background:#fce8e6;color:#d93025}.sticky-footer{position:sticky;bottom:0;background:var(--white);padding-top:20px;padding-bottom:10px;border-top:1px solid var(--border-color);margin-top:20px;z-index:10}.form-hint{font-weight:400;color:var(--text-muted);font-size:.8rem;margin-left:8px}.interests-grid{display:flex;flex-wrap:wrap;gap:20px;margin-top:5px}.interest-tag{background:#fff;border:1px solid var(--border-color);color:var(--text-main);padding:12px 24px;border-radius:99px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.interest-tag:hover{border-color:var(--sage-primary);background:#fdfefd}.interest-tag.selected{background:var(--olive-dark);color:#fff;border-color:var(--olive-dark);box-shadow:0 4px 12px #4d624833}.interest-tag.dislike{border-color:#fce8e6;color:#d93025}.interest-tag.dislike.selected{background:#d93025;color:#fff}.mt-2{margin-top:24px}.form-success{background:#e6f4ea;color:#1e8e3e;padding:16px 24px;border-radius:12px;font-weight:600;margin-top:20px;text-align:center;border:1px solid #ceead6;animation:fadeIn .3s ease}.room-list-container h3{display:none}.room-list{display:flex;flex-direction:column;gap:12px}.room-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--white);transition:box-shadow .15s}.room-card:hover{box-shadow:0 2px 12px #00000014}.room-header{display:flex;gap:14px;padding:14px}.room-image{flex-shrink:0;width:120px;height:90px;border-radius:8px;overflow:hidden;background:var(--bg-light)}.room-image img{width:100%;height:100%;object-fit:cover}.room-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.room-info h4{margin:0;font-size:15px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-specs{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-muted)}.room-facilities{margin:2px 0 0;font-size:12px;color:var(--text-muted)}.room-card>.toggle-details-btn{display:block;margin:0 14px 14px;padding:6px 14px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-light);color:var(--olive-dark);cursor:pointer;transition:background .15s}.toggle-details-btn:hover{background:#4d62481f}.toggle-details-btn.active{background:var(--olive-dark);color:var(--white);border-color:var(--olive-dark)}.room-offers-list{border-top:1px solid var(--border-color);animation:fadeIn .2s ease}.room-offer-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;gap:12px}.room-offer-item+.room-offer-item{border-top:1px solid var(--border-color)}.offer-details{flex:1;min-width:0}.offer-title{font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:4px}.offer-benefits{display:flex;flex-wrap:wrap;gap:6px}.benefit-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--bg-light);color:var(--text-muted)}.offer-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.price-tag{display:flex;align-items:baseline;gap:4px}.orig-price{font-size:12px;color:var(--text-muted);text-decoration:line-through}.final-price{font-size:16px;font-weight:700;color:var(--olive-dark)}.per-night{font-size:11px;color:var(--text-muted)}.select-room-btn{padding:6px 14px;border-radius:8px;border:none;background:var(--olive-dark);color:var(--white);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.select-room-btn:hover{background:var(--text-main)}.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.booking-modal-container{background:var(--surface-card);border-radius:16px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;position:relative;padding:40px;margin-top:50px}.booking-step{background-color:var(--bg-light);padding:20px;border-radius:12px}.booking-step h2{margin:0 0 8px;font-size:28px;color:var(--text-primary)}.step-subtitle{color:var(--text-secondary);margin:0 0 32px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}@media(max-width:768px){.booking-options{grid-template-columns:1fr}}.booking-option-card{background-color:var(--bg-light);border:2px solid var(--border-color);border-radius:12px;padding:24px;cursor:pointer;transition:all .3s;position:relative}.booking-option-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.booking-option-card.featured{background-color:var(--bg-light);border-color:var(--primary-color)}.featured-badge{position:absolute;top:-12px;right:20px;background:var(--olive-dark);color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.option-icon{font-size:48px;margin-bottom:16px}.booking-option-card h3{margin:0 0 8px;font-size:20px}.booking-option-card p{color:var(--text-secondary);margin:0 0 16px}.booking-option-card ul{list-style:none;padding:0;margin:0 0 20px}.booking-option-card li{padding:6px 0;color:var(--text-secondary)}.price-breakdown{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding:12px;background:var(--surface-elevated);border-radius:8px}.base-price{font-size:14px;color:var(--text-secondary)}.service-fee{font-size:12px;color:var(--text-tertiary)}.option-btn{width:100%;padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.quick-btn{background:var(--surface-elevated);color:var(--text-primary)}.quick-btn:hover{background:var(--surface-hover)}.full-service-btn{background:var(--olive-dark);color:#fff}.full-service-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d62484d}.booking-coming-soon-banner{margin-top:16px;padding:14px 16px;border:1px solid rgba(77,98,72,.2);border-radius:10px;background:#98a88c1f;color:var(--text-primary);font-size:14px;line-height:1.5}.guest-form{display:flex;flex-direction:column;gap:20px}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;font-size:14px;color:var(--text-primary)}.form-group input,.form-group textarea{padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--surface-card);color:var(--text-primary)}.form-group input.error,.form-group textarea.error{border-color:#d32f2f}.error-msg{color:#d32f2f;font-size:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.review-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.review-section:last-of-type{border-bottom:none}.review-section h3{margin:0 0 16px;font-size:18px}.review-item p{margin:8px 0;color:var(--text-secondary)}.review-item .dates{color:var(--text-tertiary);font-size:14px}.price-details{background:var(--surface-elevated);border-radius:8px;padding:16px}.price-row{display:flex;justify-content:space-between;padding:8px 0}.price-row.service{color:var(--text-secondary);font-size:14px}.price-row.total{border-top:2px solid var(--border-color);padding-top:12px;margin-top:8px;font-size:18px;color:var(--primary-color)}.booking-step.confirmed{text-align:center}.success-icon{width:80px;height:80px;border-radius:50%;background:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:48px;margin:0 auto 24px}.confirmation-details{background:var(--surface-elevated);padding:24px;border-radius:12px;margin:24px 0}.confirmation-details p{margin:12px 0}.payment-step{padding:20px 0}.payment-summary{background:var(--surface-elevated);border-radius:12px;padding:20px;margin-bottom:24px}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.summary-row.service{color:var(--text-secondary)}.summary-row.total{border-top:2px solid var(--border-color);margin-top:12px;padding-top:16px;font-size:18px;font-weight:600;color:var(--primary-color)}.payment-cancel-btn{width:100%;margin-top:16px}.payment-error-banner{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-top:16px;font-size:14px}.place-carousel-item{flex:0 0 280px;min-width:280px;background:var(--white);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s;border:1px solid var(--border-color)}.place-carousel-item:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.place-carousel-image{width:100%;height:200px;object-fit:cover;overflow:hidden;position:relative}.place-carousel-image img{width:100%;height:100%;object-fit:cover}.place-carousel-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--sage-primary, #98a88c),var(--olive-dark, #4d6248));display:flex;align-items:center;justify-content:center;color:var(--white, #ffffff);font-size:28px}.place-carousel-reel-badge{position:absolute;bottom:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:9999px;background:#0f1410b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;pointer-events:none;border:1px solid rgba(255,255,255,.2);box-shadow:0 1px 4px #0000004d;animation:reel-badge-enter .3s ease-out}@keyframes reel-badge-enter{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.place-carousel-name{font-size:15px;font-weight:600;color:var(--olive-dark);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-carousel-address{font-size:12px;color:var(--text-main);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-carousel-highlights{font-size:12px;color:var(--text-muted);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.place-carousel-rating{font-size:13px;color:#f5a623;display:flex;align-items:center;gap:4px}.place-carousel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.place-carousel-header h3{margin:0}.place-carousel-content{padding:12px 14px}.place-carousel-content h3{margin:0 0 8px;font-size:18px}.place-carousel-content p{color:var(--text-secondary);margin:0 0 16px}.place-carousel-content .price{font-size:20px;font-weight:600;color:var(--primary-color)}.btn-show-map{color:var(--sage-primary);display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.btn-show-map:hover{background:#ffffff26;border-color:#ffffff59}.map-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:1040;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.map-panel-overlay-open{opacity:1;visibility:visible}.places-map-panel{position:fixed;top:var(--header-height, 72px);right:0;bottom:5px;width:420px;max-width:100vw;background-color:#fff;box-shadow:0 5px 20px #00000026;z-index:1060;display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease}.maplibregl-popup-close-button{color:#fff}.places-map-panel-open{transform:translate(0)}.map-panel-header{display:flex;align-items:center;justify-content:space-between;padding:5px 20px;border-bottom:1px solid var(--border-color, #eee);background-color:var(--surface-card, #fff);flex-shrink:0}.map-panel-title{margin:0;font-size:18px;font-weight:600;color:var(--text-main, #1a1a1a)}.map-panel-header-controls{display:flex;align-items:center;gap:4px;flex-shrink:0}.map-panel-control-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--text-muted, #666);transition:background-color .2s ease,color .2s ease,transform .15s ease;flex-shrink:0;width:32px;height:32px}.map-panel-control-btn:hover{background-color:var(--bg-light, #f0f0f0);color:var(--text-main, #333)}.map-panel-control-btn:active{transform:scale(.95)}.map-panel-fullscreen-btn{color:var(--text-muted, #666)}.map-panel-fullscreen-btn:hover{color:var(--olive-dark, #2d5a3f)}.map-panel-close-btn{font-size:20px;line-height:1}@media(min-width:1024px){.places-map-panel.places-map-panel--fullscreen{position:fixed!important;top:var(--header-height, 72px)!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;z-index:1065!important;box-shadow:none!important;transform:translate(0)!important;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1)}.places-map-panel.places-map-panel--fullscreen .map-panel-header{padding:12px 24px}.places-map-panel.places-map-panel--fullscreen .map-panel-title{font-size:20px}.places-map-panel.places-map-panel--fullscreen .map-panel-places-list{max-height:280px}}@media(max-width:1023.98px){.map-panel-fullscreen-btn{display:none!important}}.map-panel-map-container{flex:1;min-height:0;position:relative}.map-panel-floating-badge{position:absolute;top:12px;left:12px;z-index:10;background:#0f172ae0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f8fafc;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #0000004d;border:1px solid rgba(255,255,255,.15);animation:fadeInBadge .25s ease;pointer-events:none}.map-panel-badge-icon{color:#60a5fa;flex-shrink:0}@keyframes fadeInBadge{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.map-panel-day-pills{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-card, #ffffff);border-bottom:1px solid var(--border-subtle, #f1f5f9);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;flex-shrink:0}.map-panel-day-pills::-webkit-scrollbar{display:none}.map-panel-day-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;color:var(--text-secondary, #64748b);background:var(--surface-elevated, #f8fafc);border:1px solid var(--border-color, #e2e8f0);cursor:pointer;white-space:nowrap;transition:all .2s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.map-panel-day-pill:hover{color:var(--text-main, #1e293b);background:var(--surface-hover, #f1f5f9);border-color:var(--sage-primary, #cbd5e1)}.map-panel-day-pill-active{color:var(--text-main, #0f172a);font-weight:600;background:var(--surface-hover, #f1f5f9);border-color:var(--olive-dark, #0f172a);box-shadow:0 1px 3px #00000014}.map-panel-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.map-panel-stepper{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0}.map-panel-stepper-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;transition:all .15s ease}.map-panel-stepper-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.map-panel-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.map-panel-stepper-label{font-size:12px;font-weight:600;color:#334155}.map-panel-places-list{max-height:240px;overflow-y:auto;border-top:1px solid #e2e8f0;background:#fff;flex-shrink:0;padding-bottom:24px}.map-panel-place-item{padding:10px 16px;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:all .15s ease;display:flex;align-items:flex-start;gap:12px}.map-panel-place-item:hover{background-color:#f8fafc}.map-panel-place-item-selected{background-color:#eff6ff;border-left:3px solid #3b82f6}.map-panel-place-index{width:24px;height:24px;border-radius:50%;background-color:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;margin-top:1px;box-shadow:0 1px 3px #0003}.map-panel-place-info{flex:1;min-width:0}.map-panel-place-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-panel-place-name{margin:0;font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-panel-place-time{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#64748b;font-weight:500;flex-shrink:0}.map-panel-place-highlights{margin:2px 0;font-size:11px;color:#475569;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.map-panel-place-address{margin:2px 0 0;font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-panel-empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}@media(max-width:768px){.places-map-panel{width:100vw}}.map-panel-loading{position:fixed;top:var(--header-height, 120px);right:0;width:420px;max-width:100vw;height:calc(100% - var(--header-height, 120px));background:#0f0f19f2;display:flex;align-items:center;justify-content:center;color:#fff9;z-index:1060}.map-panel-day-group{margin-bottom:6px}.map-panel-day-header{display:flex;align-items:center;gap:8px;padding:8px 16px;border-left:3px solid;font-size:12px;font-weight:600;color:#1e293b;background:#f8fafc;position:sticky;top:0;z-index:1;border-bottom:1px solid #f1f5f9}.map-panel-day-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.map-panel-day-label{color:#0f172a;font-weight:600}.map-panel-day-count{font-size:11px;color:#64748b;font-weight:400}.map-panel-focus-day-btn{margin-left:auto;background:none;border:none;font-size:11px;font-weight:600;color:#2563eb;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s ease}.map-panel-focus-day-btn:hover{background:#eff6ff}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .25s ease}.modal-container{background:var(--white, #ffffff);border-radius:16px;max-width:800px;width:95%;max-height:70vh;overflow-y:auto;padding:40px;position:relative;box-shadow:0 24px 80px #00000040;animation:modalSlideUp .3s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.place-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalFadeIn .25s ease}.place-modal-container{background:var(--white, #ffffff);border-radius:16px;max-width:720px;width:95%;max-height:75vh;overflow:hidden;position:relative;box-shadow:0 24px 80px #00000040;animation:modalSlideUp .3s ease;display:flex;flex-direction:column}.place-modal-body{overflow-y:auto;flex:1;min-height:0;max-height:75vh}.place-modal-body::-webkit-scrollbar,.place-modal-container::-webkit-scrollbar{width:6px}.place-modal-body::-webkit-scrollbar-track,.place-modal-container::-webkit-scrollbar-track{background:transparent}.place-modal-body::-webkit-scrollbar-thumb,.place-modal-container::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}@media(min-width:1024px){.place-modal-container{max-width:920px}}.place-modal-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border:1px solid var(--border-color, rgba(0, 0, 0, .1));background:var(--surface-card, rgba(255, 255, 255, .9));border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-main, #2d342c);transition:all .2s ease;z-index:50;box-shadow:0 2px 8px #00000026}.place-modal-close-btn:hover{background:var(--surface-hover, #ffffff);transform:scale(1.05);box-shadow:0 4px 12px #0003}.place-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;gap:16px;color:var(--text-muted, #6b726a);font-size:15px}.place-modal-spinner{width:40px;height:40px;border:3px solid var(--border-color, rgba(77, 98, 72, .15));border-top-color:var(--olive-dark, #4d6248);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.place-modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;gap:16px;color:var(--text-muted, #6b726a);font-size:15px;text-align:center}.place-modal-retry-btn{padding:10px 24px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--olive-dark, #4d6248);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.place-modal-retry-btn:hover{background:var(--bg-light, #f4f6f3);border-color:var(--olive-dark, #4d6248)}.place-modal-photos{position:relative;width:100%;height:400px;overflow:hidden;border-radius:16px 16px 0 0;background:var(--bg-light, #f4f6f3)}.place-modal-photo{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.place-modal-photos-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:none;background:#ffffffe6;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-main, #2d342c);transition:all .2s ease;box-shadow:0 2px 8px #00000026;z-index:5}.place-modal-photos-nav:hover{background:var(--white, #ffffff);transform:translateY(-50%) scale(1.08);box-shadow:0 4px 12px #0003}.place-modal-photos-prev{left:16px}.place-modal-photos-next{right:16px}.place-modal-photos-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:5}.place-modal-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff80;cursor:pointer;transition:all .2s ease;padding:0}.place-modal-dot-active{background:var(--white, #ffffff);transform:scale(1.2);box-shadow:0 1px 4px #0003}.place-modal-photo-counter{position:absolute;bottom:16px;right:16px;background:#0009;color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;z-index:5}.place-modal-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sage-primary, #98a88c) 0%,var(--olive-dark, #4d6248) 100%);color:var(--white, #ffffff);font-size:24px;font-weight:600;text-align:center;padding:32px}.place-modal-content{padding:24px 32px 0}.place-modal-header{margin-bottom:20px}.place-modal-name{font-size:24px;font-weight:700;color:var(--text-main, #2d342c);margin:0 0 10px;line-height:1.3}.place-modal-types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.place-modal-type-pill{display:inline-flex;align-items:center;padding:4px 12px;background:var(--bg-light, #f4f6f3);border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:20px;font-size:12px;font-weight:500;color:var(--olive-dark, #4d6248);text-transform:capitalize}.place-modal-rating{display:flex;align-items:center;gap:8px}.place-modal-stars{display:flex;gap:2px;color:var(--gold-accent, #b4b07d);font-size:16px}.place-modal-rating-value{font-size:16px;font-weight:600;color:var(--text-main, #2d342c)}.place-modal-rating-count{font-size:13px;color:var(--text-muted, #6b726a)}.place-modal-description{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, rgba(77, 98, 72, .15))}.place-modal-description p{font-size:15px;line-height:1.7;color:var(--text-main, #2d342c);margin:0}.place-modal-description-skeleton{display:flex;flex-direction:column;gap:10px}.place-modal-skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--bg-light, #f4f6f3) 25%,rgba(77,98,72,.08) 50%,var(--bg-light, #f4f6f3) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease infinite}.place-modal-skeleton-line-short{width:60%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.place-modal-description-fallback p{font-size:14px;color:var(--text-muted, #6b726a);font-style:italic}.place-modal-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, rgba(77, 98, 72, .15))}.place-modal-details-col{display:flex;flex-direction:column;gap:16px}.place-modal-detail-item{display:flex;gap:12px;align-items:flex-start}.place-modal-detail-icon{flex-shrink:0;width:20px;text-align:center;font-size:16px;line-height:1.4}.place-modal-detail-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b726a);margin-bottom:2px;padding-right:5px}.place-modal-detail-value{font-size:14px;color:var(--text-main, #2d342c);line-height:1.5}.place-modal-link{color:var(--olive-dark, #4d6248);text-decoration:none;font-weight:500;transition:color .2s ease}.place-modal-link:hover{color:var(--sage-primary, #98a88c);text-decoration:underline}.place-modal-open-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:6px}.place-modal-open-badge-open{background:#2e7d321a;color:#2e7d32}.place-modal-open-badge-closed{background:#c628281a;color:#c62828}.place-modal-hours-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.place-modal-hours-day{font-size:13px;color:var(--text-main, #2d342c);line-height:1.5}.place-modal-reviews{margin-bottom:24px}.place-modal-section-title{font-size:18px;font-weight:600;color:var(--text-main, #2d342c);margin:0 0 16px}.place-modal-review-card{padding:16px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:12px;margin-bottom:12px;transition:box-shadow .2s ease}.place-modal-review-card:hover{box-shadow:0 2px 8px #0000000f}.place-modal-review-author{display:flex;align-items:center;gap:12px;margin-bottom:10px}.place-modal-review-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover}.place-modal-review-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--bg-light, #f4f6f3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--olive-dark, #4d6248)}.place-modal-review-author-info{display:flex;flex-direction:column;flex:1}.place-modal-review-name{font-size:14px;font-weight:600;color:var(--text-main, #2d342c)}.place-modal-review-time{font-size:12px;color:var(--text-muted, #6b726a)}.place-modal-review-rating{display:flex;gap:2px;margin-bottom:8px;color:var(--gold-accent, #b4b07d);font-size:14px}.place-modal-review-text{font-size:14px;line-height:1.6;color:var(--text-main, #2d342c)}.place-modal-read-more{background:none;border:none;color:var(--olive-dark, #4d6248);font-size:13px;font-weight:500;cursor:pointer;padding:4px 0;transition:color .2s ease}.place-modal-read-more:hover{color:var(--sage-primary, #98a88c)}.place-modal-footer{position:sticky;bottom:0;padding:20px 32px;background:var(--white, #ffffff);border-top:1px solid var(--border-color, rgba(77, 98, 72, .15));z-index:5}.place-modal-success-msg{text-align:center;padding:10px 16px;background:#2e7d3214;color:#2e7d32;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-error-msg{text-align:center;padding:10px 16px;background:#c6282814;color:#c62828;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-add-btn{width:100%;padding:14px 24px;border:none;border-radius:10px;background:var(--olive-dark, #4d6248);color:var(--white, #ffffff);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-add-btn:hover{background:#3d5238;transform:translateY(-1px);box-shadow:0 4px 16px #4d62484d}.place-modal-add-btn:active{transform:translateY(0)}.place-modal-trip-selector{background:var(--bg-light, #f4f6f3);border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:12px;padding:16px;margin-bottom:12px;animation:modalFadeIn .2s ease}.place-modal-trip-loading,.place-modal-trip-empty{text-align:center;padding:16px;color:var(--text-muted, #6b726a);font-size:14px}.place-modal-selector-row{margin-bottom:12px}.place-modal-selector-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #6b726a);margin-bottom:6px}.place-modal-select{width:100%;padding:10px 12px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-main, #2d342c);font-size:14px;font-family:var(--font-sans, "Inter", sans-serif);cursor:pointer;transition:border-color .2s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.place-modal-select:focus{outline:none;border-color:var(--olive-dark, #4d6248);box-shadow:0 0 0 3px #4d62481a}.place-modal-selector-actions{display:flex;gap:8px;justify-content:flex-end}.place-modal-cancel-btn{padding:8px 20px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-muted, #6b726a);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-cancel-btn:hover{border-color:var(--text-muted, #6b726a);color:var(--text-main, #2d342c)}.place-modal-confirm-btn{padding:8px 20px;border:none;border-radius:8px;background:var(--olive-dark, #4d6248);color:var(--white, #ffffff);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-confirm-btn:hover{background:#3d5238}.place-modal-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.place-modal-no-trips{text-align:center;padding:8px 0}.place-modal-no-trips-text{color:var(--text-muted, #6b726a);font-size:14px;margin-bottom:12px}.place-modal-create-trip-btn{width:100%;padding:10px 24px;border:2px dashed var(--olive-dark, #4d6248);border-radius:8px;background:transparent;color:var(--olive-dark, #4d6248);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-create-trip-btn:hover{background:#4d62480f;border-color:#3d5238}.place-modal-create-trip-btn-sm{padding:8px 16px;border:1px dashed var(--olive-dark, #4d6248);border-radius:8px;background:transparent;color:var(--olive-dark, #4d6248);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-sans, "Inter", sans-serif)}.place-modal-create-trip-btn-sm:hover{background:#4d62480f;border-color:#3d5238}.place-modal-create-trip-form{text-align:left}.place-modal-input{width:100%;padding:10px 12px;border:1px solid var(--border-color, rgba(77, 98, 72, .15));border-radius:8px;background:var(--white, #ffffff);color:var(--text-main, #2d342c);font-size:14px;font-family:var(--font-sans, "Inter", sans-serif);transition:border-color .2s ease;margin-bottom:12px;box-sizing:border-box}.place-modal-input:focus{outline:none;border-color:var(--olive-dark, #4d6248);box-shadow:0 0 0 3px #4d62481a}.place-modal-input::placeholder{color:var(--text-muted, #6b726a);opacity:.7}.place-modal-existing-segments{margin-bottom:12px}.place-modal-segments-note{font-size:12px;color:var(--text-muted, #6b726a);background:#4d62480d;padding:8px 12px;border-radius:8px;margin:0}.flight-route-group{margin-bottom:20px;padding:16px;background:#4d624808;border-radius:12px;border:1px solid rgba(77,98,72,.08)}.flight-route-group:last-child{margin-bottom:0}.route-label{font-size:14px;font-weight:600;color:var(--text-primary, #2d3a29);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(77,98,72,.12);display:flex;align-items:center;gap:6px}.route-label:before{content:""}@media(max-width:640px){.place-modal-container{max-width:100%;width:100%;max-height:100vh;border-radius:0}.place-modal-photos{height:280px;border-radius:0}.place-modal-content{padding:20px 20px 0}.place-modal-name{font-size:20px}.place-modal-details{grid-template-columns:1fr}.place-modal-footer{padding:16px 20px}}.message-vote{display:flex;gap:4px;margin-top:6px;align-items:center}.vote-btn{background:none;border:1px solid transparent;border-radius:6px;padding:3px 8px;cursor:pointer;font-size:14px;color:var(--text-muted, #6b726a);opacity:.65;transition:opacity .15s,background .15s,color .15s}.vote-btn:hover{opacity:1;background:var(--surface-hover, rgba(0, 0, 0, .06));color:var(--text-main, #1c261b)}.vote-btn.active.up{opacity:1;background:#10b98126;border-color:#10b98166;color:#10b981}.vote-btn.active.down{opacity:1;background:#ef444426;border-color:#ef444466;color:#ef4444}.vote-comment-box{display:flex;gap:4px;margin-left:8px;flex:1}.vote-comment-box input{flex:1;padding:4px 8px;border:1px solid var(--border-color, #ddd);background:var(--surface-elevated, #f4faf2);color:var(--text-main, #1c261b);border-radius:4px;font-size:12px;font-family:inherit;outline:none}.vote-comment-box input:focus{border-color:var(--olive-dark, #2d5a3f)}.vote-comment-box button{padding:4px 10px;border:none;background:var(--olive-dark, #2d5a3f);color:var(--white, #ffffff);border-radius:4px;cursor:pointer;font-size:12px;font-weight:500}.vote-comment-skip{background:var(--surface-elevated, #f3f4f6)!important;color:var(--text-muted, #6b726a)!important;border:1px solid var(--border-color, rgba(0, 0, 0, .1))!important}.vote-comment-skip:hover{background:var(--surface-hover, #e5e7eb)!important;color:var(--text-main, #1c261b)!important}.admin-dashboard{max-width:1200px;margin:24px auto;padding:0 20px;color:var(--text-main, #111827)}.admin-dashboard h1{margin-bottom:16px;color:var(--text-main, #111827)}.admin-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:20px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:1px}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{background:none;border:none;padding:10px 18px;cursor:pointer;font-size:15px;color:var(--text-muted, #6b7280);border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap;flex-shrink:0}.admin-tab:hover{color:var(--text-main, #111827)}.admin-tab.active{color:var(--olive-dark, #2d5a3f);border-bottom-color:var(--olive-dark, #2d5a3f);font-weight:600}.admin-filters{display:flex;gap:8px;margin-bottom:16px;align-items:center;color:var(--text-main, #111827)}.admin-filters select,.admin-filters button{padding:7px 12px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--surface-card, white);color:var(--text-main, #111827);cursor:pointer;font-size:14px;font-family:inherit;transition:background .15s,border-color .15s}.admin-filters select:hover,.admin-filters button:hover{border-color:var(--olive-dark, #2d5a3f)}.admin-table{width:100%;border-collapse:collapse;background:var(--surface-card, white);box-shadow:0 1px 3px #0000000d;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, rgba(0, 0, 0, .06))}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-subtle, #f3f4f6);font-size:14px;vertical-align:top;color:var(--text-main, #111827)}.admin-table th{background:var(--bg-subtle, #f9fafb);font-weight:600;color:var(--text-muted, #374151)}.admin-table .admin-msg{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-empty{text-align:center;color:var(--text-muted, #9ca3af);padding:30px!important}.status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;background:var(--border-color, #e5e7eb);color:var(--text-main, #374151);font-weight:500}.status-pill.status-new{background:#dbeafe;color:#1e40af}.status-pill.status-triaged{background:#fef3c7;color:#92400e}.status-pill.status-in_progress{background:#ede9fe;color:#5b21b6}.status-pill.status-resolved{background:#d1fae5;color:#065f46}.status-pill.status-wont_fix{background:#fee2e2;color:#991b1b}.status-pill.status-duplicate{background:#f3f4f6;color:#4b5563}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-modal{background:var(--surface-card, white);color:var(--text-main, #111827);border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:10px;padding:24px;max-width:520px;width:100%;box-shadow:0 10px 30px #0000004d}.admin-modal h3{margin-top:0;color:var(--text-main, #111827)}.admin-modal-msg{background:var(--bg-subtle, #f9fafb);color:var(--text-main, #111827);border:1px solid var(--border-subtle, #e5e7eb);padding:10px;border-radius:6px;font-size:13px;margin-bottom:14px;white-space:pre-wrap}.admin-modal label{display:block;margin:12px 0 4px;font-size:13px;font-weight:500;color:var(--text-main, #374151)}.admin-modal select,.admin-modal textarea{width:100%;padding:8px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--surface-card, white);color:var(--text-main, #111827);font-family:inherit;box-sizing:border-box}.admin-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.admin-modal-actions button{padding:8px 16px;border-radius:6px;border:1px solid var(--border-color, #d1d5db);background:var(--surface-card, white);color:var(--text-main, #111827);cursor:pointer;font-size:14px}.admin-modal-actions button.primary{background:var(--olive-dark, #2d5a3f);color:#fff;border-color:var(--olive-dark, #2d5a3f)}.status-pill.status-on{background:#fee2e2;color:#991b1b}.status-pill.status-off{background:#d1fae5;color:#065f46}.admin-maintenance{max-width:640px;display:flex;flex-direction:column;gap:14px;color:var(--text-main, #111827)}.admin-maintenance__hint{color:var(--text-muted, #6b7280);font-size:14px;margin:0;line-height:1.5}.admin-maintenance__status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-maintenance__meta{color:var(--text-muted, #6b7280);font-size:12px}.admin-maintenance label{font-weight:600;font-size:14px;color:var(--text-main, #374151)}.admin-maintenance textarea{width:100%;padding:10px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--surface-card, white);color:var(--text-main, #111827);font-family:inherit;font-size:14px;resize:vertical}.admin-maintenance__actions{display:flex;gap:10px;flex-wrap:wrap}.admin-maintenance__actions button{padding:10px 18px;border-radius:6px;border:1px solid var(--border-color, #d1d5db);background:var(--surface-card, white);color:var(--text-main, #111827);cursor:pointer;font-size:14px}.admin-maintenance__actions button.primary{background:var(--olive-dark, #2d5a3f);color:#fff;border-color:var(--olive-dark, #2d5a3f)}.admin-maintenance__actions button:disabled{opacity:.6;cursor:not-allowed}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:24px}.stat-card{background:var(--surface-card, white);padding:18px;border-radius:8px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color, transparent)}.stat-label{color:var(--text-muted, #6b7280);font-size:13px;margin-bottom:4px}.stat-value{font-size:26px;font-weight:700;color:var(--text-main, #111827)}.stat-breakdown{font-size:11px;color:var(--text-muted, #9ca3af);margin-top:2px}.admin-bars{background:var(--surface-card, white);padding:14px;border-radius:8px;margin-bottom:24px;border:1px solid var(--border-color, transparent)}.admin-bar-row{display:grid;grid-template-columns:90px 1fr 60px;gap:10px;align-items:center;padding:4px 0}.admin-bar-label{font-size:12px;color:var(--text-muted, #6b7280);font-family:monospace}.admin-bar-track{height:8px;background:var(--surface-hover, #f3f4f6);border-radius:4px;overflow:hidden}.admin-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;transition:width .3s}.admin-bar-count{font-size:13px;color:var(--text-main, #374151);text-align:right;font-variant-numeric:tabular-nums}.admin-row-clickable{cursor:pointer}.admin-row-clickable:hover{background:var(--surface-hover, #f9fafb)}.admin-row-clickable.selected{background:var(--surface-hover, #eef2ff)}.trace-waterfall{background:var(--surface-card, white);border-radius:8px;padding:14px;margin-top:16px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color, transparent)}.waterfall-header{font-size:13px;font-weight:600;color:var(--text-main, #374151);margin-bottom:10px}.waterfall-rows{display:flex;flex-direction:column;gap:4px}.waterfall-row{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:10px;align-items:center;padding:4px 6px;border-radius:6px;cursor:pointer}.waterfall-row:hover{background:var(--surface-hover, #f9fafb)}.waterfall-row.selected{background:var(--surface-hover, #eef2ff)}.span-type-tag{display:inline-block;padding-left:8px;font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-main, #374151);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.waterfall-bar-container{display:flex;align-items:center;gap:8px;min-width:0}.waterfall-bar-fill{height:10px;border-radius:3px;min-width:2px;transition:width .3s}.waterfall-latency{font-size:11px;color:var(--text-muted, #6b7280);font-variant-numeric:tabular-nums;white-space:nowrap}.waterfall-empty,.journey-empty,.journey-loading{padding:16px;color:var(--text-muted, #6b7280);font-size:13px}.payload-inspector{background:var(--surface-card, white);border-radius:8px;padding:14px;margin-top:16px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color, transparent)}.payload-inspector h4{margin:0 0 8px;font-size:14px;color:var(--text-main, #111827)}.payload-inspector h5{margin:12px 0 5px;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted, #6b7280)}.inspector-meta{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-muted, #4b5563)}.inspector-meta code{font-size:11px;background:var(--surface-hover, #f3f4f6);color:var(--text-main);padding:1px 5px;border-radius:4px}.status-ok,.status-success{background:#dcfce7;color:#166534}.status-partial{background:#fef3c7;color:#92400e}.status-incomplete{background:#f3f4f6;color:#4b5563}.status-error{background:#fee2e2;color:#991b1b}.inspector-error{margin-top:10px;padding:8px 10px;background:#fef2f2;border-left:3px solid #ef4444;border-radius:4px;font-size:12px;color:#991b1b;overflow-wrap:anywhere}.payload-inspector pre{background:var(--bg-subtle, #f9fafb);border:1px solid var(--border-subtle, #e5e7eb);border-radius:6px;padding:10px;font-size:12px;line-height:1.5;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;color:var(--text-main, #000)}.admin-journeys{margin-bottom:24px}.journey-cell-id,.journey-cell-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-muted, #4b5563)}.journey-timeline{background:var(--surface-card, white);border-radius:8px;padding:14px;margin-top:16px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border-color, transparent)}.journey-timeline-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--border-subtle, #e5e7eb);margin-bottom:12px}.journey-session-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600;color:var(--text-main, #111827);word-break:break-all}.journey-meta{font-size:12px;color:var(--text-muted, #6b7280)}.journey-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.journey-row{display:grid;grid-template-columns:52px 12px 1fr;gap:10px;align-items:start;padding:8px 0;position:relative}.journey-row:not(:last-child):before{content:"";position:absolute;left:67px;top:20px;bottom:-8px;width:1px;background:var(--border-subtle, #e5e7eb)}.journey-offset{font-size:11px;color:var(--text-muted, #9ca3af);font-variant-numeric:tabular-nums;text-align:right;padding-top:3px}.journey-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;z-index:1}.journey-body{min-width:0}.journey-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-main, #111827)}.journey-event-name{font-weight:600}.journey-category{font-size:11px;text-transform:uppercase;letter-spacing:.03em}.journey-page,.journey-props{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted, #6b7280);overflow-wrap:anywhere}.journey-props{margin-top:3px}.journey-row--trace .journey-title{font-weight:600}.journey-prompt{font-size:12px;color:var(--text-main, #4b5563);margin-top:3px;overflow-wrap:anywhere}.journey-status{font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px}.journey-status--ok{background:#dcfce7;color:#166534}.journey-status--error{background:#fee2e2;color:#991b1b}.journey-latency,.journey-tokens{font-size:11px;color:var(--text-muted, #6b7280);font-variant-numeric:tabular-nums}.journey-trace-link{margin-top:5px}html[data-theme=dark] .admin-tab.active{color:var(--olive-dark, #8cc286);border-bottom-color:var(--olive-dark, #8cc286)}html[data-theme=dark] .admin-table th{background:#161e1a;color:#9ab097}html[data-theme=dark] .status-pill.status-new{background:#3b82f633;color:#93c5fd}html[data-theme=dark] .status-pill.status-triaged{background:#eab30833;color:#fde047}html[data-theme=dark] .status-pill.status-in_progress{background:#8b5cf633;color:#c4b5fd}html[data-theme=dark] .status-pill.status-resolved{background:#22c55e33;color:#86efac}html[data-theme=dark] .status-pill.status-wont_fix{background:#ef444433;color:#fca5a5}html[data-theme=dark] .status-pill.status-duplicate{background:#9ca3af33;color:#d1d5db}html[data-theme=dark] .status-pill.status-on{background:#ef444433;color:#fca5a5}html[data-theme=dark] .status-pill.status-off,html[data-theme=dark] .status-ok,html[data-theme=dark] .status-success,html[data-theme=dark] .journey-status--ok{background:#22c55e33;color:#86efac}html[data-theme=dark] .status-partial{background:#eab30833;color:#fde047}html[data-theme=dark] .status-incomplete{background:#9ca3af33;color:#d1d5db}html[data-theme=dark] .status-error,html[data-theme=dark] .journey-status--error{background:#ef444433;color:#fca5a5}html[data-theme=dark] .inspector-error{background:#ef444426;border-left-color:#ef4444;color:#fca5a5}.journey-trace-link{margin-top:5px;padding:0;background:none;border:none;color:#6366f1;font-size:12px;cursor:pointer}.journey-trace-link:hover{text-decoration:underline}@media(max-width:640px){.admin-dashboard{margin:16px auto;padding:0 14px}.admin-dashboard h1{font-size:1.5rem;margin-bottom:14px}.admin-tab{padding:8px 14px;font-size:14px}.admin-filters{flex-direction:column;align-items:stretch}.admin-filters select,.admin-filters button{width:100%}.admin-feedback,.admin-analytics,.admin-traces{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-table{min-width:600px}.admin-stats{grid-template-columns:1fr;gap:10px}.admin-bar-row{grid-template-columns:80px 1fr 45px;gap:6px}}.turnstile-widget{display:flex;justify-content:center;margin:4px 0;min-height:65px}.captcha-group{margin-top:4px}.feedback-captcha{margin:12px 0 4px;display:flex;justify-content:center}.flight-detail-modal{max-width:760px;width:90%;border-radius:20px;box-shadow:0 20px 50px #00000040;background:var(--surface-card, #ffffff);color:var(--text-main, #111827)}.flight-detail-header{padding:24px 28px 18px;border-bottom:1px solid var(--border-color, #e9ece6);background:var(--surface-card, #ffffff)}.flight-detail-airline{display:flex;gap:16px;align-items:center}.flight-detail-airline-logo{width:52px;height:52px;object-fit:contain;border-radius:10px;background:var(--surface-elevated, #f4f6f3);padding:6px;border:1px solid var(--border-color, #e5e7eb)}.flight-detail-airline-placeholder{width:52px;height:52px;border-radius:10px;background:var(--olive-dark, #4d6248);color:var(--white, #fff);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;letter-spacing:1px}.flight-detail-header h2{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--text-main, #1a2e19)}.flight-detail-tags{display:flex;gap:8px;flex-wrap:wrap}.flight-detail-tag{padding:3px 12px;background:var(--surface-elevated, #f0f4ee);color:var(--olive-dark, #4d6248);border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.flight-detail-tag.deal{background:#fef3c7;color:#92400e}.flight-detail-tag.provider{background:#e0e7ff;color:#3730a3}.flight-detail-modal-details{display:flex!important;flex-direction:column!important;gap:20px!important;padding:24px 28px!important;grid-template-columns:none!important;background:var(--bg-light, #f9faf8)}.flight-detail-card{background:var(--surface-card, #ffffff);border-radius:16px;padding:20px 24px;border:1px solid var(--border-color, rgba(77, 98, 72, .12));box-shadow:0 2px 10px #0000000a}.flight-detail-segment{padding:0}.flight-detail-segment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color, #f0f4ee)}.flight-detail-segment-label{font-size:12px;font-weight:700;color:var(--olive-dark, #4d6248);text-transform:uppercase;letter-spacing:.8px}.flight-detail-segment-date{font-size:13px;font-weight:500;color:var(--text-muted, #666)}.flight-detail-segment-route{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;align-items:center}.flight-detail-time-block{display:flex;flex-direction:column;gap:2px}.flight-detail-time-block:last-child{text-align:right}.flight-detail-time{font-size:24px;font-weight:700;color:var(--text-main, #111827)}.flight-detail-airport{font-size:14px;font-weight:600;color:var(--olive-dark, #4d6248)}.flight-detail-city{font-size:12px;color:var(--text-muted, #6b7280)}.flight-detail-route-line{display:flex;flex-direction:column;align-items:center;gap:6px}.flight-detail-duration{font-size:12px;color:var(--text-muted, #4b5563);font-weight:600}.flight-detail-line{width:100%;height:2px;background:var(--border-color, #e5e7eb);position:relative;display:flex;justify-content:center}.flight-detail-plane{position:absolute;top:-9px;background:var(--surface-card, #ffffff);padding:0 8px;color:var(--olive-dark, #4d6248);font-size:14px}.flight-detail-stops{font-size:11px;color:var(--olive-dark, #4d6248);font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:var(--surface-elevated, #f0f4ee);padding:2px 8px;border-radius:999px}.flight-detail-breakdown{background:var(--surface-elevated, #f8faf7);border-radius:12px;padding:16px 20px;margin-top:18px;border:1px solid var(--border-color, rgba(77, 98, 72, .1))}.flight-detail-breakdown-title{margin:0 0 12px;font-size:12px;font-weight:700;color:var(--olive-dark, #4d6248);text-transform:uppercase;letter-spacing:.8px}.flight-detail-leg{background:var(--surface-card, #ffffff);border-radius:10px;padding:14px 18px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--border-color, rgba(77, 98, 72, .08))}.flight-detail-leg:last-child{margin-bottom:0}.flight-detail-leg-times{display:flex;align-items:center;gap:16px}.flight-detail-leg-times>div{display:flex;flex-direction:column}.flight-detail-leg-times strong{font-size:16px;font-weight:700;color:var(--text-main, #111827)}.flight-detail-leg-times span{font-size:13px;font-weight:600;color:var(--olive-dark, #4d6248)}.flight-detail-leg-arrow{color:var(--olive-dark, #4d6248);font-size:18px;opacity:.8}.flight-detail-leg-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.flight-detail-leg-airline{font-size:13px;font-weight:600;color:var(--text-main, #1f2937)}.flight-detail-leg-flight{font-size:12px;font-weight:600;color:var(--olive-dark, #4d6248);background:var(--surface-elevated, #f0f4ee);padding:2px 8px;border-radius:6px;display:inline-block}.flight-detail-leg-duration{font-size:12px;color:var(--text-muted, #6b7280);font-weight:500}.flight-detail-layover-note{background:#fffbeb;color:#b45309;border:1px solid #fde68a;font-size:12px;font-weight:600;padding:8px 14px;border-radius:8px;margin-bottom:10px;text-align:center}.flight-detail-totals{background:var(--surface-card, #ffffff);border-radius:16px;padding:18px 24px;border:1px solid var(--border-color, rgba(77, 98, 72, .12));box-shadow:0 2px 10px #0000000a;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.flight-detail-totals-title{margin:0;font-size:13px;font-weight:700;color:var(--olive-dark, #4d6248);text-transform:uppercase;letter-spacing:.8px}.flight-detail-totals-grid{display:flex;gap:32px;align-items:center}.flight-detail-total-item{display:flex;flex-direction:column;gap:2px}.flight-detail-total-label{font-size:11px;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.5px}.flight-detail-total-value{font-size:17px;font-weight:700;color:var(--text-main, #111827)}.flight-detail-policies-loading{font-size:14px;color:var(--text-muted, #6b7556);font-style:italic;padding:12px 0}.flight-detail-policies-card{background:var(--surface-card, #ffffff);border-radius:16px;padding:20px 24px;border:1px solid var(--border-color, rgba(77, 98, 72, .12));box-shadow:0 2px 10px #0000000a}.flight-detail-policies-card h4{margin:0 0 16px;font-size:15px;font-weight:700;color:var(--text-main, #1a2e19)}.flight-detail-policy-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color, #f0f4ee)}.flight-detail-policy-row:last-child{border-bottom:none}.flight-detail-policy-label{color:var(--text-muted, #4b5563);font-weight:500;font-size:14px;white-space:nowrap}.flight-detail-policy-value{color:var(--text-main, #111827);font-weight:600;font-size:14px;text-align:right;white-space:nowrap}.flight-detail-policy-value.allowed{color:#15803d;background:#f0fdf4;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.flight-detail-policy-value.not-allowed{color:#991b1b;background:#fef2f2;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.flight-detail-policy-features{list-style:none;padding:0;margin:12px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px}.flight-detail-policy-feature{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-main, #374151)}.flight-detail-policy-feature.unavailable{color:var(--text-muted, #9ca3af);text-decoration:line-through;opacity:.8}.flight-detail-policy-feature-icon{font-weight:700;color:#16a34a}.flight-detail-policy-feature.unavailable .flight-detail-policy-feature-icon{color:#dc2626}.flight-detail-policy-note{margin:14px 0 0;font-size:13px;color:var(--text-muted, #6b7280);line-height:1.5;background:var(--surface-elevated, #f9faf8);padding:10px 14px;border-radius:8px;border-left:3px solid var(--olive-dark, #4d6248)}.flight-detail-footer{padding:18px 28px;background:var(--surface-card, #ffffff);border-top:1px solid var(--border-color, #e9ece6);display:flex;justify-content:space-between;align-items:center;gap:16px}html[data-theme=dark] .flight-pick-banner.flight-pick-cheapest,html[data-theme=dark] .flight-detail-tag.pick.flight-pick-cheapest,html[data-theme=dark] .flight-table-pick-chip.flight-pick-cheapest{background:#10b98126;color:#6ee7b7;border-color:#10b98159}html[data-theme=dark] .flight-pick-banner.flight-pick-fastest,html[data-theme=dark] .flight-detail-tag.pick.flight-pick-fastest,html[data-theme=dark] .flight-table-pick-chip.flight-pick-fastest{background:#0ea5e926;color:#7dd3fc;border-color:#0ea5e959}html[data-theme=dark] .flight-pick-banner.flight-pick-best,html[data-theme=dark] .flight-detail-tag.pick.flight-pick-best,html[data-theme=dark] .flight-table-pick-chip.flight-pick-best{background:#f59e0b26;color:#fde047;border-color:#f59e0b59}html[data-theme=dark] .flight-detail-tag.deal{background:#f59e0b33;color:#fde047}html[data-theme=dark] .flight-detail-tag.provider{background:#6366f133;color:#a5b4fc}html[data-theme=dark] .flight-detail-layover-note{background:#f59e0b26;color:#fde047;border-color:#f59e0b4d}html[data-theme=dark] .flight-detail-policy-value.allowed{color:#86efac;background:#22c55e26}html[data-theme=dark] .flight-detail-policy-value.not-allowed{color:#fca5a5;background:#ef444426}@media(max-width:640px){.flight-detail-modal-details{padding:16px!important}.flight-detail-segment-route{grid-template-columns:1fr;gap:14px;text-align:center}.flight-detail-time-block:last-child{text-align:center}.flight-detail-leg{flex-direction:column;align-items:flex-start;gap:12px}.flight-detail-leg-meta{align-items:flex-start;text-align:left}.flight-detail-totals{flex-direction:column;align-items:flex-start}.flight-detail-policy-row{flex-direction:column;align-items:flex-start;gap:4px}.flight-detail-policy-value{text-align:left}}.header-dropdown-credits-mobile,.header-dropdown-notifications-mobile{display:none}@media(max-width:768px){.header-top-bar{padding:8px 16px;gap:8px}.header-right{gap:10px}.header-right .credit-display,.header-right .notification-center-wrapper{display:none}.header-dropdown-credits-mobile{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color)}.header-dropdown-credits-mobile .credit-display{display:flex}.header-dropdown-credits-mobile .credit-bar-container{display:none}.header-dropdown-notifications-mobile{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border-color)}.header-nav{padding:12px 16px;gap:12px}.nav-links{gap:18px;flex-wrap:wrap}.nav-links button{font-size:.9rem}.auth-links{gap:8px}.btn-primary-gold{padding:8px 16px;font-size:.9rem}.user-greeting{display:none}.logo-text{font-size:1.15rem}.content-container{margin:20px auto;padding:0 16px}.hero-section{gap:24px;margin-bottom:40px}.hero-form-card{padding:24px 20px;border-radius:18px}.hero-form-card h2{font-size:1.7rem;margin-bottom:16px}.hero-subtitle{font-size:.95rem}.form-row.two-col{grid-template-columns:1fr 1fr;gap:8px}.form-row.two-col .input-group{min-width:0;overflow:hidden}input,select,textarea{font-size:16px!important}.hero-form input[type=date]{width:100%;min-width:0;box-sizing:border-box;padding:10px}@supports (-webkit-appearance: none){.hero-form input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-width:0;box-sizing:border-box;padding:10px;height:35px}}.btn-hero-submit{padding:14px;font-size:1rem}.hero-image-container{border-radius:18px}.hero-image-overlay{bottom:12px;left:12px;right:12px;gap:4px}.hero-image-overlay .tag{padding:4px 8px;font-size:.6rem}.btn-inspire-me{padding:16px 20px;border-radius:18px;margin-top:4px}.btn-inspire-me__icon{width:44px;height:44px;font-size:1.3rem}.btn-inspire-me__title{font-size:1.05rem}.btn-inspire-me__subtitle{font-size:.85rem}.inspiration-grid{grid-template-columns:1fr;gap:16px}.inspiration-card img{height:180px}.results-view{padding-bottom:190px}.results-scroll-anchor{scroll-margin-bottom:130px}.results-header h2{font-size:1.4rem}.results-layout{gap:20px}.results-layout-wrapper{padding:20px 16px;border-radius:16px;min-height:0}.user-request-card{padding:16px;border-radius:12px}.user-request-card p{font-size:1rem}.user-bubble{max-width:90%;font-size:1rem;padding:12px 18px}.agent-response-area{gap:16px}.response-card{padding:16px;border-radius:12px}.refine-section{width:calc(100% - 16px);max-width:none;bottom:12px;padding:12px 14px;border-radius:16px}.refine-prompt{font-size:.82rem;margin-bottom:8px}.refine-input-container input{padding:10px 12px;font-size:.95rem}.refine-send{width:42px;height:42px}.simple-footer__inner{padding:16px}}@media(max-width:480px){.header-top-bar{padding:6px 12px}.header-right{gap:8px}.header-nav{padding:10px 12px;flex-direction:column;align-items:flex-start;gap:8px}.nav-links{width:100%;gap:14px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.auth-links{width:100%;justify-content:flex-end}.content-container{padding:0 12px;margin:16px auto}.hero-form-card{padding:20px 16px}.hero-form-card h2{font-size:1.5rem}.hero-image-container{min-height:fit-content;max-height:230px}}@media(max-width:768px){input[type=text],input[type=email],input[type=password],input[type=search],input[type=tel],input[type=url],input[type=number],input[type=date],textarea,select{font-size:16px}.maplibregl-popup-close-button{font-size:22px!important;padding:8px 12px!important;min-width:44px;min-height:44px}.modal-close-btn,.modal-close,.auth-modal-close,.place-modal-close-btn,.credits-modal__close,.map-panel-close-btn,.close-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.modal-overlay,.place-modal-overlay,.booking-modal-overlay,.credits-modal-overlay,.auth-modal-overlay,.drawer-overlay,.admin-modal-overlay{height:100vh;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}}@media(max-width:480px){.modal-container,.auth-modal,.place-modal-container,.booking-modal-container,.credits-modal{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));width:100%;max-width:100%;border-radius:12px 12px 0 0}}.modal-overlay,.place-modal-overlay,.booking-modal-overlay,.credits-modal-overlay,.drawer-overlay,.admin-modal-overlay{z-index:9999}.auth-modal-overlay{z-index:10050}@media(min-width:601px){.header-dropdown-nav,.header-menu-wrapper--guest{display:none}}@media(max-width:600px){.header-top-bar{padding:8px 12px;flex-wrap:nowrap;gap:8px}.header-left{min-width:0;flex:1 1 auto;overflow:hidden}.logo-text{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-container{gap:8px}.travel-logo{width:26px;height:26px;flex-shrink:0}.header-right{gap:8px;flex-shrink:0}.header-nav{display:none}.header-right .currency-switcher,.header-right select{max-width:80px}}@media(max-width:600px){.hotel-card-footer,.flight-card-footer,.flight-card-actions,.hotel-card-actions,.room-card-actions,.modal-action-buttons,.modal-footer-actions{flex-direction:column;align-items:stretch;gap:8px}.hotel-card-footer>*,.flight-card-footer>*,.flight-card-actions>*,.hotel-card-actions>*,.room-card-actions>*,.modal-action-buttons>*,.modal-footer-actions>*{width:100%}.hotel-view-btn,.flight-view-btn,.booking-button,.select-flight-btn,.book-now-btn,.room-select-btn{width:100%;min-height:44px}.hotel-price,.flight-price-info{width:100%;justify-content:space-between}}@media(max-width:600px){body,.just-travel-app,.content-container,.results-layout-wrapper{overflow-x:hidden;max-width:100vw}.hotel-carousel,.flight-carousel,.trip-proposals-carousel,[class*=carousel]{max-width:100%;overflow-x:auto}.hotel-card,.flight-card,.trip-proposal-card{max-width:calc(100vw - 32px)}}.section-icon{display:inline-block;vertical-align:bottom;margin-right:6px;margin-bottom:-2px}.btn-icon{display:inline-block;vertical-align:middle;margin-right:6px}.chat-history-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:2100}.chat-history-drawer{position:absolute;top:0;left:0;bottom:0;width:320px;max-width:85vw;background:var(--white);box-shadow:4px 0 24px #0000002e;display:flex;flex-direction:column;animation:drawerSlideIn .22s ease}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.chat-history-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.chat-history-title{font-weight:700;font-size:1.05rem;color:var(--text-main)}.chat-history-header-actions{display:flex;align-items:center;gap:8px}.chat-history-new-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--sage-primary);color:var(--white);border:none;border-radius:8px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .1s ease,box-shadow .15s ease}.chat-history-new-btn:hover{background:var(--sage-dark, #416b50);box-shadow:0 2px 8px #00000026}.chat-history-new-btn:active{transform:scale(.97)}.chat-history-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;display:inline-flex;border-radius:8px}.chat-history-close:hover{background:var(--bg-light);color:var(--text-main)}.chat-history-list{flex:1;overflow-y:auto;padding:8px;margin-top:20px}.chat-history-status{color:var(--text-muted);font-size:.9rem;text-align:center;padding:24px 16px}.chat-history-item{width:100%;display:flex;align-items:flex-start;gap:0;background:none;border:none;border-radius:10px;padding:0;text-align:left;position:relative}.chat-history-item__select{flex:1;min-width:0;display:flex;align-items:flex-start;gap:10px;background:none;border:none;border-radius:10px;padding:12px;text-align:left;cursor:pointer}.chat-history-item__delete{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:6px;flex-shrink:0;align-self:center;margin-right:4px}.chat-history-item:hover .chat-history-item__delete{display:inline-flex}.chat-history-item__delete:hover{color:#c0392b;background:#c0392b14}.chat-history-item__confirm{display:flex;align-items:center;gap:8px;padding:10px 12px;width:100%}.chat-history-item__confirm-label{font-size:.85rem;color:var(--text-main);flex:1}.chat-history-item__confirm-yes,.chat-history-item__confirm-no{font-size:.78rem;font-weight:600;border:none;border-radius:6px;padding:4px 10px;cursor:pointer}.chat-history-item__confirm-yes{background:#c0392b;color:#fff}.chat-history-item__confirm-yes:hover{background:#a93226}.chat-history-item__confirm-no{background:var(--bg-light);color:var(--text-main)}.chat-history-item__confirm-no:hover{background:var(--border-color)}.chat-history-item:hover,.chat-history-item--active{background:var(--bg-light)}.chat-history-item__icon{color:var(--sage-primary);margin-top:2px;flex-shrink:0}.chat-history-item__body{display:flex;flex-direction:column;gap:3px;min-width:0}.chat-history-item__title{color:var(--text-main);font-weight:600;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-history-item__meta{color:var(--text-muted);font-size:.78rem}html[data-theme=dark] .chat-widget{background:var(--surface-card, #1c2520);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #0009}html[data-theme=dark] .chat-header{background:#121915f2;color:#f0f5ef;border-bottom:1px solid rgba(255,255,255,.08)}html[data-theme=dark] .chat-history{background:#131a16}html[data-theme=dark] .chat-msg.ai{background:#1c2520;color:#f0f5ef;border:1px solid rgba(255,255,255,.08)}html[data-theme=dark] .chat-msg.user{color:#fff;background:linear-gradient(135deg,#3b6b4a,#254b32)}html[data-theme=dark] .chat-input-container{background:#18221c;border-top:1px solid rgba(255,255,255,.08)}html[data-theme=dark] .chat-input-container input{background:#121815;color:#f0f5ef;border:1px solid rgba(255,255,255,.12)}html[data-theme=dark] .chat-input-container input::placeholder{color:#6b7d68}html[data-theme=dark] .chat-send{background:linear-gradient(135deg,#3b6b4a,#254b32);color:#fff;box-shadow:0 2px 8px #0000004d}html[data-theme=dark] .user-request-card{background:#18211ce0;border:1px solid rgba(255,255,255,.12);color:#f0f5ef;box-shadow:0 8px 28px #0006}html[data-theme=dark] .user-request-card p{color:#f0f5ef}html[data-theme=dark] .request-label{color:#8cc286;opacity:1}html[data-theme=dark] .refine-section{background:#18211ce0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 40px #00000080}html[data-theme=dark] .refine-prompt,html[data-theme=dark] .refine-text{color:#9ab097}html[data-theme=dark] .refine-input-container{background:#0e1310b3;border:1.5px solid rgba(255,255,255,.12)}html[data-theme=dark] .refine-input-container input{background:transparent;color:#f0f5ef}html[data-theme=dark] .refine-input-container input::placeholder{color:#6b7d68}html[data-theme=dark] .refine-send{background:linear-gradient(135deg,#3b6b4a,#254b32);color:#fff;box-shadow:0 2px 8px #0000004d}html[data-theme=dark] .refine-send:hover{background:linear-gradient(135deg,#487e58,#2e593d)}html[data-theme=dark] .header-top-bar{background:#161e1a}html[data-theme=dark] .header-dropdown{background:var(--surface-card);border-color:var(--border-color);box-shadow:0 12px 32px #00000080}html[data-theme=dark] .header-dropdown-item{color:var(--text-main)}html[data-theme=dark] .header-dropdown-item:hover{background:var(--surface-hover);color:#fff}html[data-theme=dark] .header-dropdown-item--active{color:var(--sage-light, #bbf7d0);background:#ffffff0f}html[data-theme=dark] .header-dropdown-divider{background:var(--border-color)}html[data-theme=dark] .auth-modal{background:var(--surface-card);color:var(--text-main);border:1px solid var(--border-color)}html[data-theme=dark] .auth-modal input{background:var(--surface-elevated);color:var(--text-main);border-color:var(--border-color)}html[data-theme=dark] .auth-submit-btn{background:linear-gradient(135deg,#3b6b4a,#254b32);color:#fff}html[data-theme=dark] .modal-overlay{background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html[data-theme=dark] .destination-card,html[data-theme=dark] .trip-card{background:var(--surface-card);border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] .chat-history-drawer{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .chat-history-item:hover{background:var(--surface-hover)}html[data-theme=dark] .chat-history-item--active{background:var(--surface-hover);border-left-color:var(--sage-primary)}html[data-theme=dark] .simple-footer{background:var(--surface-card);border-color:var(--border-color);color:var(--text-muted)}html[data-theme=dark] .itinerary-panel,html[data-theme=dark] .places-map-panel,html[data-theme=dark] .map-panel-header{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .map-panel-control-btn{color:var(--text-muted)}html[data-theme=dark] .map-panel-control-btn:hover{background:var(--surface-hover);color:var(--text-main)}html[data-theme=dark] .map-panel-places-list{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .map-panel-place-item{border-color:var(--border-subtle, rgba(255, 255, 255, .06))}html[data-theme=dark] .map-panel-place-item:hover{background:var(--surface-hover)}html[data-theme=dark] .map-panel-place-item-selected{background:#3b82f62e;border-left-color:#60a5fa}html[data-theme=dark] .map-panel-place-name{color:var(--text-main)}html[data-theme=dark] .map-panel-place-address{color:var(--text-muted)}html[data-theme=dark] .map-panel-header{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .map-panel-title{color:var(--text-main)}html[data-theme=dark] .map-panel-day-pills{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .map-panel-day-pill{background:var(--surface-elevated);border-color:var(--border-color);color:var(--text-secondary)}html[data-theme=dark] .map-panel-day-pill:hover{background:var(--surface-hover);color:var(--text-main);border-color:var(--sage-primary)}html[data-theme=dark] .map-panel-day-pill-active{background:var(--surface-hover);color:var(--text-main);border-color:var(--olive-dark)}html[data-theme=dark] .map-panel-day-header{background:var(--surface-elevated);color:var(--text-main);border-color:var(--border-subtle, rgba(255, 255, 255, .08))}html[data-theme=dark] .map-panel-stepper{background:var(--surface-elevated);border-color:var(--border-color)}html[data-theme=dark] .map-panel-stepper-label{color:var(--text-main)}html[data-theme=dark] .map-panel-stepper-btn{background:var(--surface-card);border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] .itinerary-day-header{background:var(--surface-elevated);color:var(--text-main)}html[data-theme=dark] .itinerary-day-header:hover{background:var(--surface-hover)}html[data-theme=dark] .activity-card{background:var(--surface-card);border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] .add-activity-modal{background:var(--surface-card);color:var(--text-main);border:1px solid var(--border-color)}html[data-theme=dark] .form-input,html[data-theme=dark] .add-activity-modal input,html[data-theme=dark] .add-activity-modal textarea{background:var(--surface-elevated);color:var(--text-main);border-color:var(--border-color)}html[data-theme=dark] .pricing-card{background:var(--surface-card);border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] .settings-section{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .settings-section__header,html[data-theme=dark] .detailed-segments{background:var(--surface-elevated);border-color:var(--border-color)}html[data-theme=dark] .notification-center{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .notification-item{border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] .notification-item:hover{background:var(--surface-hover)}html[data-theme=dark] .hero-form-card{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .combobox-input{background:var(--surface-elevated);color:var(--text-main);border-color:var(--border-color)}html[data-theme=dark] .combobox-dropdown{background:var(--surface-card);border-color:var(--border-color);box-shadow:0 12px 32px #00000080}html[data-theme=dark] .combobox-option:hover{background:var(--surface-hover)}html[data-theme=dark] .rate-limit-notice,html[data-theme=dark] .upgrade-prompt{background:var(--surface-card);border-color:var(--border-color)}html[data-theme=dark] .credit-display{background:var(--surface-card);border-color:var(--border-color);color:var(--text-main)}html[data-theme=dark] select{background:var(--surface-elevated);color:var(--text-main);border-color:var(--border-color)}html[data-theme=dark] select option{background-color:#1a221e;color:#f0f5ef}html[data-theme=dark] .place-modal-container{background:#18221c;border:1px solid rgba(255,255,255,.12);color:#f0f5ef;box-shadow:0 24px 80px #0009}html[data-theme=dark] .place-modal-feed{background:#131a16;border-left:1px solid rgba(255,255,255,.1)}html[data-theme=dark] .place-modal-feed__header{color:#f0f5ef}html[data-theme=dark] .place-modal-feed__chip{background:#1c2520;border-color:#ffffff26;color:#f0f5ef}html[data-theme=dark] .place-modal-feed__chip:hover{background:#243029;border-color:#8cc286}html[data-theme=dark] .place-modal-feed__chip.is-active{background:#3b6b4a;border-color:#8cc286;color:#fff}html[data-theme=dark] .place-modal-feed__toggle{color:#9ab097}html[data-theme=dark] .place-modal-feed__toggle-switch{background-color:#fff3}html[data-theme=dark] .place-modal-feed__toggle input:checked+.place-modal-feed__toggle-switch{background-color:#487e58}html[data-theme=dark] .place-modal-close-btn{background:#1c2520f2;border:1px solid rgba(255,255,255,.15);color:#f0f5ef}html[data-theme=dark] .place-modal-close-btn:hover{background:#28362d;color:#fff}html[data-theme=dark] .place-media-strip__label{color:#9ab097}html[data-theme=dark] .place-media-strip__pill{background:#1c2520;border-color:#ffffff26;color:#f0f5ef}html[data-theme=dark] .place-media-strip__pill:hover{background:#243029;border-color:#8cc286}html[data-theme=dark] .place-media-strip__more{background:#1c2520;border-color:#fff3;color:#8cc286}html[data-theme=dark] .place-media-strip__more:hover{background:#3b6b4a;border-color:#8cc286;color:#fff}html[data-theme=dark] .place-media-pill{background:#1c2520;border-color:#ffffff26;color:#f0f5ef}html[data-theme=dark] .place-media-pill:hover{background:#243029;border-color:#8cc286}html[data-theme=dark] .place-media-tile__surface{background:linear-gradient(135deg,#ffffff0a,#ffffff14);border-color:#ffffff1f}html[data-theme=dark] .place-media-tile__surface:hover{border-color:#8cc286}html[data-theme=dark] .place-modal-name{color:#f0f5ef}html[data-theme=dark] .place-modal-type-pill{background:#243029;border:1px solid rgba(255,255,255,.12);color:#9ab097}html[data-theme=dark] .place-modal-rating-value{color:#f0f5ef}html[data-theme=dark] .place-modal-rating-count{color:#9ab097}html[data-theme=dark] .place-modal-description{color:#d1ddd0}html[data-theme=dark] .place-modal-detail-item{background:#161e1a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 12px}html[data-theme=dark] .place-modal-detail-label{color:#9ab097}html[data-theme=dark] .place-modal-detail-value{color:#f0f5ef}html[data-theme=dark] .place-modal-review-card{background:#161e1a;border:1px solid rgba(255,255,255,.08)}html[data-theme=dark] .place-modal-review-name{color:#f0f5ef}html[data-theme=dark] .place-modal-review-time{color:#9ab097}html[data-theme=dark] .place-modal-review-text{color:#d1ddd0}html[data-theme=dark] .place-modal-review-avatar-placeholder{background:#243029;color:#8cc286}html[data-theme=dark] .place-modal-footer{background:#18221c;border-top:1px solid rgba(255,255,255,.08)}[data-theme=dark] .flight-compare-modal,[data-theme=dark] .hotel-compare-modal,html[data-theme=dark] .flight-compare-modal,html[data-theme=dark] .hotel-compare-modal{background:#1c2520;border-color:#ffffff1f;box-shadow:0 24px 80px #0009}[data-theme=dark] .compare-modal-header,html[data-theme=dark] .compare-modal-header{background:#1c2520;border-bottom-color:#ffffff1f}[data-theme=dark] .compare-header-icon-box,html[data-theme=dark] .compare-header-icon-box{background:linear-gradient(135deg,#8cc28633,#2d5a3f33);color:#8cc286;border-color:#8cc2864d;box-shadow:inset 0 1px 1px #ffffff0d}[data-theme=dark] .compare-header-badge,html[data-theme=dark] .compare-header-badge{background:#ffffff14;border-color:#ffffff1f;color:#9ab097}[data-theme=dark] .compare-modal-close-btn,html[data-theme=dark] .compare-modal-close-btn{background:#1c2520;border-color:#ffffff26;color:#9ab097}[data-theme=dark] .compare-modal-close-btn:hover,html[data-theme=dark] .compare-modal-close-btn:hover{background:#243029;color:#f0f5ef;border-color:#8cc286}[data-theme=dark] .compare-filters-panel,html[data-theme=dark] .compare-filters-panel{background:#161e1a;border-bottom-color:#ffffff1f}[data-theme=dark] .select-wrapper select,[data-theme=dark] .price-input-wrapper,[data-theme=dark] .hotel-search-input,html[data-theme=dark] .select-wrapper select,html[data-theme=dark] .price-input-wrapper,html[data-theme=dark] .hotel-search-input{background:#1c2520;border-color:#ffffff26;color:#f0f5ef}[data-theme=dark] .select-wrapper select:hover,html[data-theme=dark] .select-wrapper select:hover{background:#243029;border-color:#8cc286}[data-theme=dark] .select-wrapper select:focus,[data-theme=dark] .price-input-wrapper:focus-within,[data-theme=dark] .hotel-search-input:focus-within,html[data-theme=dark] .select-wrapper select:focus,html[data-theme=dark] .price-input-wrapper:focus-within,html[data-theme=dark] .hotel-search-input:focus-within{background:#1c2520;border-color:#8cc286;box-shadow:0 0 0 3px #8cc28633}[data-theme=dark] .price-input-wrapper input,[data-theme=dark] .hotel-search-input input,html[data-theme=dark] .price-input-wrapper input,html[data-theme=dark] .hotel-search-input input{color:#f0f5ef}[data-theme=dark] .flight-table thead,[data-theme=dark] .hotel-table thead,[data-theme=dark] .flight-table th,[data-theme=dark] .hotel-table th,html[data-theme=dark] .flight-table thead,html[data-theme=dark] .hotel-table thead,html[data-theme=dark] .flight-table th,html[data-theme=dark] .hotel-table th{background:#161e1a;color:#9ab097;border-bottom-color:#ffffff1f}[data-theme=dark] .flight-table th.sortable:hover,[data-theme=dark] .hotel-table th.sortable:hover,html[data-theme=dark] .flight-table th.sortable:hover,html[data-theme=dark] .hotel-table th.sortable:hover{background:#243029;color:#f0f5ef}[data-theme=dark] .flight-table td,[data-theme=dark] .hotel-table td,html[data-theme=dark] .flight-table td,html[data-theme=dark] .hotel-table td{background:#1c2520;color:#f0f5ef;border-bottom-color:#ffffff14}[data-theme=dark] .flight-table tr:hover td,[data-theme=dark] .hotel-table tr:hover td,html[data-theme=dark] .flight-table tr:hover td,html[data-theme=dark] .hotel-table tr:hover td{background:#243029}[data-theme=dark] .provider-duffel,html[data-theme=dark] .provider-duffel{background:#3b82f633;color:#93c5fd;border-color:#3b82f659}[data-theme=dark] .provider-agoda,html[data-theme=dark] .provider-agoda{background:#10b98133;color:#6ee7b7;border-color:#10b98159}[data-theme=dark] .provider-booking,html[data-theme=dark] .provider-booking{background:#f9731633;color:#fdba74;border-color:#f9731659}[data-theme=dark] .provider-badge:not(.provider-duffel):not(.provider-agoda):not(.provider-booking),html[data-theme=dark] .provider-badge:not(.provider-duffel):not(.provider-agoda):not(.provider-booking){background:#ffffff14;color:#d1d5db;border-color:#ffffff1f}[data-theme=dark] .stop-badge-direct,html[data-theme=dark] .stop-badge-direct{background:#10b98133;color:#34d399;border-color:#10b98159}[data-theme=dark] .stop-badge-layover,html[data-theme=dark] .stop-badge-layover{background:#ffffff14;color:#9ab097;border-color:#ffffff1f}[data-theme=dark] .flight-table .time-cell .time,html[data-theme=dark] .flight-table .time-cell .time{color:#f0f5ef}[data-theme=dark] .flight-table .time-cell .airport,html[data-theme=dark] .flight-table .time-cell .airport{color:#9ab097}[data-theme=dark] .flight-table .price-cell,[data-theme=dark] .hotel-table .price-cell,html[data-theme=dark] .flight-table .price-cell,html[data-theme=dark] .hotel-table .price-cell{color:#8cc286}[data-theme=dark] .btn-select-sm,[data-theme=dark] .btn-compare-hotels,[data-theme=dark] .flight-select-btn,[data-theme=dark] .btn-show-more,[data-theme=dark] .btn-primary,[data-theme=dark] .btn-primary-gold,[data-theme=dark] .btn-hero-submit,[data-theme=dark] .auth-submit-btn,[data-theme=dark] .book-now-btn,[data-theme=dark] .inspire-modal__btn--primary,html[data-theme=dark] .btn-select-sm,html[data-theme=dark] .btn-compare-hotels,html[data-theme=dark] .flight-select-btn,html[data-theme=dark] .btn-show-more,html[data-theme=dark] .btn-primary,html[data-theme=dark] .btn-primary-gold,html[data-theme=dark] .btn-hero-submit,html[data-theme=dark] .auth-submit-btn,html[data-theme=dark] .book-now-btn,html[data-theme=dark] .inspire-modal__btn--primary,html[data-theme=dark] .tier-pro{background:linear-gradient(135deg,#e5c158,#c9a430)!important;color:#121815!important;border:1px solid rgba(229,193,88,.45)!important;font-weight:700!important;box-shadow:0 2px 8px #00000059,0 0 10px #e5c15826!important}[data-theme=dark] .btn-select-sm:hover,[data-theme=dark] .btn-compare-hotels:hover,[data-theme=dark] .flight-select-btn:hover,[data-theme=dark] .btn-show-more:hover,[data-theme=dark] .btn-primary:hover:not(:disabled),[data-theme=dark] .btn-primary-gold:hover,[data-theme=dark] .btn-hero-submit:hover:not(:disabled),[data-theme=dark] .auth-submit-btn:hover:not(:disabled),[data-theme=dark] .book-now-btn:hover:not(:disabled),[data-theme=dark] .inspire-modal__btn--primary:hover,html[data-theme=dark] .btn-select-sm:hover,html[data-theme=dark] .btn-compare-hotels:hover,html[data-theme=dark] .flight-select-btn:hover,html[data-theme=dark] .btn-show-more:hover,html[data-theme=dark] .btn-primary:hover:not(:disabled),html[data-theme=dark] .btn-primary-gold:hover,html[data-theme=dark] .btn-hero-submit:hover:not(:disabled),html[data-theme=dark] .auth-submit-btn:hover:not(:disabled),html[data-theme=dark] .book-now-btn:hover:not(:disabled),html[data-theme=dark] .inspire-modal__btn--primary:hover{background:linear-gradient(135deg,#eed070,#dfbc45)!important;color:#0d1210!important;box-shadow:0 4px 16px #e5c15866!important}.theme-picker{display:flex;gap:12px;flex-wrap:wrap}.theme-picker__option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 24px;min-width:80px;border:2px solid var(--border-color);border-radius:12px;background:var(--surface-card, transparent);color:var(--text-muted);cursor:pointer;transition:all .2s ease}.theme-picker__option:hover{border-color:var(--sage-primary);color:var(--text-main);background:var(--surface-hover)}.theme-picker__option--active{border-color:var(--olive-dark);color:var(--olive-dark);background:var(--surface-hover, rgba(45, 90, 63, .08))}.theme-picker__icon{display:flex;align-items:center;justify-content:center}.theme-picker__label{font-size:.85rem;font-weight:500}.multileg-progress-card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:12px;padding:14px 16px;margin-bottom:12px;box-shadow:0 2px 8px #0000000d}.multileg-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.multileg-progress-title{font-size:13px;font-weight:600;color:var(--text-main)}.multileg-progress-step{font-size:12px;color:var(--text-muted);font-weight:500}.multileg-progress-bar-bg{height:6px;background:var(--surface-elevated, #e5e7eb);border-radius:9999px;overflow:hidden;margin-bottom:10px}.multileg-progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);transition:width .3s ease;border-radius:9999px}.multileg-progress-legs{display:flex;flex-direction:column;gap:6px}.multileg-progress-leg{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted)}.multileg-progress-leg.is-current{font-weight:600;color:var(--text-main)}.multileg-progress-provider-chip{font-size:11px;font-weight:500;padding:2px 6px;border-radius:6px;background:var(--surface-elevated);border:1px solid var(--border-color);color:var(--text-muted)}.saved-searches-container{padding:24px}.saved-searches-header{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--text-main);margin-bottom:20px}.saved-searches-filters{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.saved-searches-filter-btn{padding:8px 16px;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.saved-searches-filter-btn:hover{background:var(--surface-hover);color:var(--text-main)}.saved-searches-filter-btn.active{background:linear-gradient(135deg,#4fc3f7,#2196f3);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2196f340}.saved-searches-list{display:flex;flex-direction:column;gap:12px}.saved-search-card{background:var(--surface-card);border-radius:14px;border:1px solid var(--border-color);padding:18px;transition:all .25s ease}.saved-search-card.deleting{opacity:.4}.saved-search-card:hover{border-color:var(--sage-primary);box-shadow:0 4px 16px #0000000f}.saved-search-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.saved-search-card-title{display:flex;align-items:center;gap:10px;flex:1}.saved-search-type-icon{display:inline-flex;align-items:center;color:var(--olive-dark)}.saved-search-name{font-size:16px;font-weight:600;color:var(--text-main)}.saved-search-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:8px;background:#4fc3f726;color:#4fc3f7;text-transform:uppercase;letter-spacing:.5px}.saved-search-params{font-size:13px;color:var(--text-muted);margin-bottom:12px}.saved-search-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted);opacity:.8;margin-bottom:14px}.saved-search-actions{display:flex;gap:8px;flex-wrap:wrap}.saved-search-btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-main);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.saved-search-btn:hover{background:var(--surface-hover)}.saved-search-btn.notif-active{background:#4fc3f71f;color:#4fc3f7;border-color:#4fc3f74d}.saved-search-btn-execute{padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;border:none;background:linear-gradient(135deg,#4fc3f7,#2196f3);color:#fff;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.saved-search-btn-execute:hover:not(:disabled){box-shadow:0 4px 12px #2196f359;transform:translateY(-1px)}.saved-search-btn-execute:disabled{opacity:.6;cursor:wait}.saved-search-btn-delete{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:500;border:1px solid rgba(239,83,80,.3);background:#ef535014;color:#ef5350;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.saved-search-btn-delete:hover:not(:disabled){background:#ef535029}.saved-search-btn-delete:disabled{opacity:.5;cursor:not-allowed}.saved-search-edit-row{display:flex;flex:1;gap:6px}.saved-search-edit-input{padding:6px 10px;border-radius:8px;border:1px solid rgba(79,195,247,.4);background:var(--surface-elevated);color:var(--text-main);font-size:14px;outline:none;flex:1}.saved-search-btn-save-edit{padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-elevated);color:#4fc3f7;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.saved-search-skeleton{background:var(--surface-elevated);border-radius:14px;height:120px;margin-bottom:12px;animation:pulse 1.5s ease-in-out infinite}.saved-searches-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.saved-searches-empty-icon{display:flex;justify-content:center;margin-bottom:16px;opacity:.5;color:var(--text-muted)}.saved-searches-empty-title{font-size:16px;font-weight:600;color:var(--text-main);margin-bottom:8px}.saved-searches-empty-desc{font-size:13px;color:var(--text-muted)}.save-search-wrapper{position:relative;display:inline-block}.save-search-btn{cursor:pointer;transition:all .2s ease}.save-search-btn--icon{background:transparent;border:none;padding:6px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted)}.save-search-btn--icon:hover{color:var(--text-main);background:var(--surface-hover)}.save-search-btn--compact{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-muted);font-size:12px;font-weight:500}.save-search-btn--compact:hover{background:var(--surface-hover);color:var(--text-main)}.save-search-btn--compact.saved{background:#4fc3f726;color:#4fc3f7;border-color:#4fc3f74d}.save-search-btn--full{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-main);font-size:14px;font-weight:500}.save-search-btn--full:hover{background:var(--surface-hover)}.save-search-btn--full.saved{background:#4fc3f726;color:#4fc3f7;border-color:#4fc3f74d}.save-search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.save-search-popover{position:absolute;top:100%;right:0;margin-top:8px;width:300px;background:var(--surface-card);border:1px solid var(--border-color);border-radius:14px;padding:20px;z-index:1000;box-shadow:0 16px 48px #0003}.save-search-popover-title{font-size:15px;font-weight:600;color:var(--text-main);margin-bottom:14px}.save-search-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-main);font-size:14px;outline:none;box-sizing:border-box;margin-bottom:12px}.save-search-input:focus{border-color:#4fc3f7}.save-search-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.save-search-toggle-label{font-size:13px;color:var(--text-muted)}.save-search-toggle-btn{width:44px;height:24px;border-radius:12px;background:var(--border-color);border:none;cursor:pointer;position:relative;transition:all .2s ease;flex-shrink:0}.save-search-toggle-btn.active{background:linear-gradient(135deg,#4fc3f7,#2196f3)}.save-search-toggle-dot{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s ease}.save-search-toggle-btn.active .save-search-toggle-dot{left:23px}.save-search-actions{display:flex;gap:8px;justify-content:flex-end}.save-search-cancel-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px}.save-search-cancel-btn:hover{background:var(--surface-hover);color:var(--text-main)}.save-search-save-btn{padding:8px 18px;border-radius:8px;border:none;background:linear-gradient(135deg,#4fc3f7,#2196f3);color:#fff;cursor:pointer;font-size:13px;font-weight:600;transition:opacity .2s ease}.save-search-save-btn:disabled{opacity:.5;cursor:not-allowed}.favorites-container{padding:24px}.favorites-header{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:var(--text-main);margin-bottom:20px}.favorites-header-icon{color:#ef5350}.favorites-filters{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.favorites-filter-btn{padding:8px 16px;border-radius:20px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease}.favorites-filter-btn:hover{background:var(--surface-hover);color:var(--text-main)}.favorites-filter-btn.active{background:linear-gradient(135deg,#4fc3f7,#2196f3);color:#fff;border-color:transparent;box-shadow:0 2px 8px #2196f340}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.favorite-card{background:var(--surface-card);border-radius:14px;border:1px solid var(--border-color);overflow:hidden;transition:all .25s ease;cursor:pointer;position:relative}.favorite-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a;border-color:var(--sage-primary)}.favorite-card.removing{opacity:.4}.favorite-card-image{width:100%;height:160px;object-fit:cover;display:block}.favorite-card-placeholder{width:100%;height:160px;background:var(--surface-elevated);color:var(--olive-dark);display:flex;align-items:center;justify-content:center}.favorite-remove-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ef5350;transition:all .2s ease}.favorite-remove-btn:hover:not(:disabled){background:#000c;transform:scale(1.1)}.favorite-remove-btn:disabled{opacity:.5;cursor:not-allowed}.favorite-card-body{padding:16px}.favorite-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.favorite-card-name{font-size:16px;font-weight:600;color:var(--text-main);flex:1;margin-right:8px}.favorite-card-badge{font-size:11px;font-weight:600;padding:3px 8px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.favorite-card-price{font-size:15px;font-weight:700;color:#4fc3f7;margin-bottom:6px}.favorite-card-notes{font-size:13px;color:var(--text-muted);font-style:italic;margin-top:6px}.favorite-card-date{font-size:12px;color:var(--text-muted);opacity:.8}.favorite-card-skeleton{background:var(--surface-elevated);border-radius:14px;height:260px;animation:pulse 1.5s ease-in-out infinite}.favorites-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.favorites-empty-icon{display:flex;justify-content:center;margin-bottom:16px;opacity:.5;color:#ef5350}.favorites-empty-title{font-size:16px;font-weight:600;color:var(--text-main);margin-bottom:8px}.favorites-empty-desc{font-size:13px;color:var(--text-muted)}.favorite-heart-icon{color:var(--text-muted)}.payment-form{max-width:480px;margin:0 auto}.payment-form__header{margin-bottom:24px;text-align:center}.payment-form__header h3{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--text-main)}.payment-form__amount{margin:0;font-size:.95rem;color:var(--text-muted)}.payment-form__amount strong{color:var(--text-main);font-size:1.1rem}.payment-form__element{padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-elevated);margin-bottom:16px}.payment-form__error{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;font-size:.875rem}.payment-form__actions{display:flex;gap:12px;margin-top:20px}.payment-form__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.payment-form__btn:disabled{opacity:.6;cursor:not-allowed}.payment-form__btn--primary{background:var(--olive-dark, #2d5a3f);color:#fff}html[data-theme=dark] .payment-form__btn--primary{background:var(--olive-dark, #8cc286);color:#121815}.payment-form__btn--primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.payment-form__btn--secondary{background:var(--surface-elevated);color:var(--text-main);border:1px solid var(--border-color)}.payment-form__btn--secondary:hover:not(:disabled){background:var(--surface-hover)}.payment-form__spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.payment-form__secure{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:16px;color:var(--text-muted);font-size:.8rem}@media(max-width:480px){.payment-form__actions{flex-direction:column-reverse}}.payment-status{padding:16px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-card)}.payment-status--loading,.payment-status--error{display:flex;align-items:center;gap:12px;background:var(--surface-elevated);border-color:var(--border-color);color:var(--text-muted)}.payment-status__spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--text-muted);border-radius:50%;animation:spin .8s linear infinite}.payment-status__retry{margin-left:auto;padding:4px 12px;border:1px solid var(--border-color);border-radius:4px;background:var(--surface-elevated);color:var(--text-main);font-size:.875rem;cursor:pointer}.payment-status__retry:hover{background:var(--surface-hover)}.payment-status__header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.payment-status__icon{font-size:1.25rem}.payment-status__label{font-weight:600;font-size:.95rem;color:var(--text-main)}.payment-status__details{display:flex;flex-direction:column;gap:6px}.payment-status__row{display:flex;justify-content:space-between;font-size:.875rem}.payment-status__key{color:var(--text-muted)}.payment-status__value{font-weight:500;color:var(--text-main)}.payment-status__ref{font-family:monospace;font-size:.8rem}
