.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 2px 20px #0000001a}.header__container{max-width:none;margin:0;padding-right:1rem;padding-left:0;display:flex;align-items:center;justify-content:space-between;height:4rem;width:100%}.header__actions{margin-left:auto;display:flex;align-items:center;gap:.75rem;flex:0 1 auto;min-width:0;flex-wrap:nowrap}.header__actions{flex-wrap:nowrap}@media (max-width: 768px){.header__actions{gap:.5rem}.header__auth-buttons,.header__user-menu{display:flex!important}}@media (max-width: 768px){.header__container{padding:0 .75rem}}.header__logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s ease;padding:.5rem;border-radius:8px}.header__logo-link{text-decoration:none;outline:none;-webkit-tap-highlight-color:transparent;display:inline-flex;align-items:center;gap:.5rem}.header__logo-link:focus,.header__logo-link:focus-visible,.header__logo-link:active,.header__logo-link:hover{outline:none;box-shadow:none;text-decoration:none}.header__logo-img{width:42px;height:42px;display:block}.header__logo:hover{background:#667eea1a;transform:translateY(-1px)}.header__logo:active{transform:translateY(0)}.header__logo-icon{color:#667eea;transition:all .3s ease}.header__logo:hover .header__logo-icon{color:#5b21b6;transform:scale(1.1)}.header__logo-text{font-size:1.5rem;font-weight:700;color:#1f2937;transition:all .3s ease}.header__logo:hover .header__logo-text{color:#667eea}.header__nav{display:none}.header__nav--desktop{display:flex;align-items:center;gap:2rem}.header__user-menu{display:flex;align-items:center;gap:1rem;min-width:0}.header__user-info{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#667eea1a;border-radius:25px;min-width:0;max-width:40vw;overflow:hidden}.header__user-icon{color:#667eea;flex:0 0 auto}.header__user-name{font-size:.875rem;font-weight:500;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__auth-buttons{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header__login-btn,.header__signup-btn{transition:all .3s ease}.header__login-btn:hover{background:#667eea1a;color:#667eea}.header__signup-btn:hover{background:#5b21b6;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.header__logout-btn{display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.header__logout-btn:hover{background:#ef44441a;color:#ef4444}.header__mobile-toggle{display:none}.header__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 4px 20px #0000001a;animation:slideDown .3s ease}.header__mobile-menu-content{padding:1rem;max-width:1200px;margin:0 auto}.header__mobile-user-info,.header__mobile-auth-buttons{display:flex;flex-direction:column;gap:1rem}.header__mobile-auth-buttons{align-items:stretch}.header__mobile-auth-buttons .header__login-btn,.header__mobile-auth-buttons .header__signup-btn{justify-content:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header__nav--desktop{display:none}.header__mobile-toggle{display:flex}.header__mobile-menu{display:block}.header__user-menu{gap:.5rem}.header__user-info{max-width:50vw}.header__logo-text{font-size:1.25rem}}@media (max-width: 640px){.header__container{padding:0 .5rem}.header__logo{gap:.5rem}.header__logo-icon{size:24px}.header__logo-img{width:32px;height:32px}.header__logo-text{font-size:1.125rem}.header__user-info{max-width:55vw}}@media (max-width: 420px){.header__user-info{display:none}}.header-menu-container{position:relative}.header-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:10px;color:#374151;outline:none;-webkit-tap-highlight-color:transparent}.header-menu-trigger:hover{background:#00000014}.header-menu-trigger:focus,.header-menu-trigger:focus-visible,.header-menu-trigger:active{outline:none;box-shadow:none}.header-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;box-shadow:0 12px 30px #0000001f;min-width:200px;z-index:1100;padding:.35rem}.header-menu-user{padding:.5rem .75rem;border-radius:8px;background:#667eea14;margin-bottom:.25rem;overflow:hidden}.header-menu-email{display:block;font-size:.85rem;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-menu-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;width:100%;border:none;background:transparent;text-align:left;border-radius:8px;color:#0f172a;cursor:pointer}.header-menu-item:hover{background:#667eea1f}.header-menu-item__label{flex:1 1 auto}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease-in-out;font-family:inherit;position:relative;overflow:hidden}.btn:focus{outline:2px solid transparent;outline-offset:2px;box-shadow:0 0 0 2px #3b82f680}.btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn--primary:hover:not(.btn--disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn--secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn--secondary:hover:not(.btn--disabled){background:#667eea;color:#fff;transform:translateY(-1px)}.btn--outline{background:transparent;color:#667eea;border:2px solid #667eea}.btn--outline:hover:not(.btn--disabled){background:#667eea;color:#fff}.btn--ghost{background:transparent;color:#667eea;border:none}.btn--ghost:hover:not(.btn--disabled){background:#667eea1a}.btn--danger{background:#ef4444;color:#fff}.btn--danger:hover:not(.btn--disabled){background:#dc2626;transform:translateY(-1px)}.btn--small{padding:.5rem 1rem;font-size:.875rem;min-height:2rem}.btn--medium{padding:.75rem 1.5rem;font-size:1rem;min-height:2.5rem}.btn--large{padding:1rem 2rem;font-size:1.125rem;min-height:3rem}.btn--xl{padding:1.25rem 2.5rem;font-size:1.25rem;min-height:3.5rem}.btn--disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--loading{position:relative;color:transparent}.btn--loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin 1s linear infinite}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;transition:all .2s ease-in-out;overflow:hidden}.card--clickable{cursor:pointer}.card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.card--default{border:1px solid #e5e7eb}.card--elevated{box-shadow:0 4px 6px #0000001a}.card--outlined{border:2px solid #e5e7eb;box-shadow:none}.card--filled{background:#f8fafc;border:1px solid #e2e8f0}.card--padding-small{padding:1rem}.card--padding-medium{padding:1.5rem}.card--padding-large{padding:2rem}.card--padding-none{padding:0}.card--hotel{border-left:4px solid #3b82f6}.card--flight{border-left:4px solid #10b981}.card--tour{border-left:4px solid #f59e0b}.card--activity{border-left:4px solid #8b5cf6}.input-container{display:flex;flex-direction:column;gap:.5rem;width:100%}.input-label{font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.25rem}.input-required{color:#ef4444;margin-left:.25rem}.input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .2s ease-in-out;background-color:#fff}.input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.input::placeholder{color:#9ca3af}.input--error{border-color:#ef4444}.input--error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.input--disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.input-error-message{font-size:.75rem;color:#ef4444;margin-top:.25rem}.input--small{padding:.5rem .75rem;font-size:.875rem}.input--large{padding:1rem 1.25rem;font-size:1.125rem}.input[type=date]{cursor:pointer}.question-step{height:100%;display:flex;flex-direction:column;overflow:hidden}.question-step-content{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:800px;margin:0 auto;width:100%}.question-header{text-align:center;margin-bottom:2rem;flex-shrink:0}.question-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.question-description{font-size:1.1rem;color:#fff;margin:0;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.question-form{width:100%;max-width:500px;flex-shrink:0}.field-label{display:block;font-weight:600;color:#fff;margin-bottom:.5rem;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.field-input,.field-select,.field-textarea{width:100%;padding:.75rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:#ffffffe6;color:#fff;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.3)}.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea4d;background:#fffffff2;color:#fff}.field-input::placeholder,.field-textarea::placeholder{color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.3)}.field-textarea{resize:vertical;min-height:100px;font-family:inherit}.field-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;appearance:none}.field-select option{background:#1f2937;color:#fff}.field-select{background:#ffffff26;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);border-color:#ffffff80}.field-select:focus{background:#ffffff40;color:#fff}.field-select option{background:#fff!important;color:#111827!important}@media (forced-colors: active){.field-select,.field-select option{forced-color-adjust:none;background:Canvas;color:CanvasText}}.date-range-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.date-field{display:flex;flex-direction:column}.date-field .field-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.multi-select-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.multi-select-option{display:flex;align-items:center;padding:.75rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.3)}.multi-select-option:hover{background:#fff3;border-color:#fff6;color:#fff}.multi-select-option.selected{background:#fff!important;border-color:#fff!important;color:#000!important;text-shadow:none!important;box-shadow:0 2px 8px #0000001a}.multi-select-option input[type=checkbox]{margin-right:.5rem;accent-color:#667eea}.multi-select-option label{cursor:pointer;font-weight:500;color:inherit;text-shadow:inherit;margin:0;flex:1}.question-step .step-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);flex-shrink:0;width:100%;max-width:500px}.step-btn--next.btn--primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 15px #667eea4d}.step-btn--next.btn--primary:hover:not(.btn--disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.step-btn--next.btn--outline{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:none}.step-btn--next.btn--outline:hover{background:#fff3;color:#fff;transform:translateY(-1px)}@media (max-width: 768px){.question-step-content{padding:1rem}.question-title{font-size:1.5rem}.date-range-container{grid-template-columns:1fr;gap:.75rem}.step-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-top:1rem;width:100%;max-width:none}.step-btn{padding:.5rem 1rem;font-size:.9rem;border-radius:6px;width:100%;justify-content:center}.multi-select-container{grid-template-columns:1fr}}@media (max-width: 480px){.question-title{font-size:1.25rem}.question-description{font-size:1rem}.multi-select-option{padding:.5rem;font-size:.9rem}}.field-select.is-placeholder{color:#fff;background:#ffffff26;border-color:#ffffff80}.field-select:not(.is-placeholder){color:#fff;background:#ffffff26}.pricing-sheet__backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:3000}.pricing-sheet{width:100%;max-width:640px;background:#fff;border-top-left-radius:14px;border-top-right-radius:14px;box-shadow:0 -20px 60px #00000040;padding:.75rem 1rem calc(1rem + env(safe-area-inset-bottom));animation:pricingSheetIn .18s ease-out;margin-bottom:calc(63px + env(safe-area-inset-bottom))}@media (min-width: 1001px){.pricing-sheet{margin-bottom:10px}}.pricing-sheet__handle{width:40px;height:4px;background:#e5e7eb;border-radius:999px;margin:.25rem auto .5rem}.pricing-sheet__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.pricing-sheet__title{margin:0;font-size:1rem;font-weight:700;color:#111827}.pricing-sheet__close{border:none;background:transparent;font-size:1.1rem;cursor:pointer;color:#6b7280}.pricing-sheet__content{max-height:min(60vh,520px);overflow-y:auto}@keyframes pricingSheetIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pricing-tab{position:fixed;left:0;right:0;bottom:calc(63px + env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:2500;pointer-events:none}.pricing-tab__inner{pointer-events:auto;display:inline-flex;align-items:center;gap:.5rem;background:#764ba2;color:#fff;border-radius:10px 10px 0 0;padding:.45rem .9rem;box-shadow:none;border:1px solid rgba(255,255,255,.15);border-bottom:none}.pricing-tab__inner:hover{background:#5b21b6}@media (min-width: 1001px){.pricing-tab{bottom:10px}.pricing-tab__inner{border-radius:999px;border-bottom:1px solid rgba(255,255,255,.15)}}.multi-destination-step{max-width:800px;margin:0 auto;padding:2rem;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:transparent!important;position:relative;z-index:2}.step-header{text-align:center;margin-bottom:2rem;flex-shrink:0}.step-title{font-size:2rem;font-weight:700;color:#fff;margin:0 0 .5rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.step-description{font-size:1.1rem;color:#fff;margin:0;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.destinations-container{flex:1;overflow-y:auto;margin-bottom:2rem;padding-right:.5rem;background:transparent!important;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.destinations-container::-webkit-scrollbar{width:6px}.destinations-container::-webkit-scrollbar-track{background:transparent}.destinations-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.destinations-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.departure-card{margin-bottom:1.5rem;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.departure-card:hover{border-color:#fff6;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.departure-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff1a;border-bottom:1px solid rgba(255,255,255,.2)}.departure-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#fff;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.departure-field{padding:1.5rem}.departure-input{width:100%;padding:.75rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:#ffffffe6;color:#fff;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.3)}.departure-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea4d;background:#fffffff2;color:#fff}.departure-input::placeholder{color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.3)}.destination-card{margin-bottom:1.5rem;border:2px solid rgba(255,255,255,.2);background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.destination-card:hover{border-color:#fff6;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.destination-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#ffffff1a;border-bottom:1px solid rgba(255,255,255,.2)}.destination-number{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#fff;font-size:1rem}.remove-destination-btn{background:#ef4444;color:#fff;border:1px solid #dc2626;padding:.5rem;border-radius:6px;transition:all .2s ease}.remove-destination-btn:hover{background:#dc2626;transform:translateY(-1px)}.destination-fields{padding:1.5rem}.field-group{margin-bottom:1.5rem}.field-group:last-child{margin-bottom:0}.field-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#fff;margin-bottom:.5rem;font-size:.9rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.destination-input{width:100%;padding:.75rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:#ffffffe6;color:#fff;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.3)}.destination-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea4d;background:#fffffff2;color:#fff}.destination-input::placeholder{color:#fffc;text-shadow:0 1px 2px rgba(0,0,0,.3)}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.date-input{width:100%;padding:.75rem;border:2px solid rgba(255,255,255,.3);border-radius:8px;font-size:1rem;background:#ffffffe6;color:#fff;transition:all .3s ease;text-shadow:0 1px 2px rgba(0,0,0,.3)}.date-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea4d;background:#fffffff2;color:#fff}.add-destination-btn{width:100%;padding:1rem;border:2px dashed rgba(255,255,255,.4);background:#ffffff1a;color:#fff;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0}.add-destination-btn:hover{border-color:#fff9;background:#fff3;color:#fff;transform:translateY(-2px)}.step-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.2);flex-shrink:0;background:transparent!important;width:100%;box-sizing:border-box;margin:0}.step-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;border-radius:8px;transition:all .3s ease;width:100%;justify-content:center}.step-btn--prev{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.step-btn--prev:hover{background:#fff3;color:#fff;transform:translateY(-1px)}.step-btn--next{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;box-shadow:0 4px 15px #667eea4d}.step-btn--next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.step-btn--next:disabled{background:#fff3;color:#ffffff80;cursor:not-allowed;transform:none;box-shadow:none}.destination-input-wrap{position:relative}.dest-suggestions{position:absolute;top:100%;left:0;right:0;z-index:4000;background:#fff!important;background-color:#fff!important;opacity:1!important;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 12px 30px #00000040;margin-top:6px;max-height:260px;overflow-y:auto;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;-webkit-background-clip:padding-box;background-clip:padding-box}.dest-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;background:#fff!important;background-color:#fff!important;border:none;cursor:pointer;text-align:left}.dest-suggestion+.dest-suggestion{border-top:1px solid rgba(0,0,0,.06)}.dest-suggestion:hover,.dest-suggestion:focus,.dest-suggestion:focus-visible{background:#f3f4f6!important;background-color:#f3f4f6!important;outline:none}.dest-suggestion__name{font-weight:700;color:#111827}.dest-suggestion__country{margin-left:.5rem;color:#6b7280;font-size:.9rem}.dest-suggestion__iata{margin-left:auto;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#374151}@media (max-width: 768px){.multi-destination-step{padding:1rem;height:100vh}.step-title{font-size:1.5rem}.departure-header,.destination-header{padding:.75rem 1rem}.departure-field,.destination-fields{padding:1rem}.date-fields{grid-template-columns:1fr;gap:.75rem}.step-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}.step-btn{width:100%}.dest-suggestions{max-height:200px}}@media (min-width: 769px){.step-actions{width:calc(100% + 4rem);margin-left:-2rem;margin-right:0;padding-left:2rem;padding-right:2rem}}@media (max-width: 480px){.departure-header,.destination-header{flex-direction:column;align-items:flex-start;gap:.75rem}.remove-destination-btn{align-self:flex-end}.step-title{font-size:1.25rem}.step-description{font-size:1rem}}.city-sheet__search{position:sticky;top:0;background:#fff;padding-bottom:.5rem;margin-bottom:.5rem}.city-sheet__search-row{display:flex;align-items:center;gap:.5rem;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:.5rem .75rem;background:#f9fafb}.city-sheet__input{flex:1;border:none;outline:none;font-size:1rem;background:transparent}.city-sheet__list{display:flex;flex-direction:column}.city-sheet__empty{padding:1rem;color:#6b7280}.progress-bar{margin-bottom:2rem;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #00000026}.progress-bar__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-bar__step,.progress-bar__percentage{font-size:.875rem;font-weight:600;color:#1f2937}.progress-bar__container{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-bar__fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .3s ease;box-shadow:0 2px 4px #0000001a}@media (max-width: 768px){.progress-bar{padding:.875rem 1.25rem}.progress-bar__step,.progress-bar__percentage{font-size:.8rem}}@media (max-width: 640px){.progress-bar{padding:.75rem 1rem}.progress-bar__step,.progress-bar__percentage{font-size:.75rem}}.price-display{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.price-display__current{font-weight:700;color:#1f2937;line-height:1}.price-display__original{font-size:.875em;color:#6b7280;text-decoration:line-through;line-height:1}.price-display__discount{font-size:.75em;font-weight:600;color:#059669;background:#d1fae5;padding:.125rem .5rem;border-radius:4px;line-height:1}.price-display__currency{font-size:.75em;color:#6b7280;font-weight:500;line-height:1}.price-display--small .price-display__current{font-size:1rem}.price-display--small .price-display__original{font-size:.75rem}.price-display--small .price-display__discount{font-size:.625rem;padding:.125rem .375rem}.price-display--medium .price-display__current{font-size:1.25rem}.price-display--medium .price-display__original{font-size:1rem}.price-display--medium .price-display__discount{font-size:.75rem}.price-display--large .price-display__current{font-size:1.5rem}.price-display--large .price-display__original{font-size:1.125rem}.price-display--large .price-display__discount{font-size:.875rem}.price-display--xl .price-display__current{font-size:2rem}.price-display--xl .price-display__original{font-size:1.5rem}.price-display--xl .price-display__discount{font-size:1rem;padding:.25rem .75rem}.price-display--sale .price-display__current{color:#dc2626}.price-display--free .price-display__current{color:#059669;font-weight:800}.itinerary-card{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;transition:all .3s ease;margin-bottom:1.5rem}.itinerary-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.itinerary-card__header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.itinerary-card__day-info{display:flex;flex-direction:column;gap:.5rem}.itinerary-card__day{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.itinerary-card__date{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.9;margin:0}.itinerary-card__destination{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.9;margin:0;font-weight:500}.theme-badge{background:#fff3;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.itinerary-card__content{padding:1.5rem}.activities-timeline{margin-bottom:2rem}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.timeline-title{font-size:1.1rem;font-weight:600;color:#374151;margin:0}.add-activity-btn{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.5rem 1rem;background:#10b981;color:#fff;border:none;border-radius:6px;transition:all .2s ease}.add-activity-btn:hover{background:#059669;transform:translateY(-1px)}.activity-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #e5e7eb;position:relative}.activity-item:last-child{border-bottom:none}.activity-time{min-width:120px;display:flex;align-items:center}.time-selectors{display:flex;align-items:center;gap:.25rem;background:#f3f4f6;padding:.5rem;border-radius:6px;border:1px solid #d1d5db}.time-select{border:none;background:transparent;font-size:.85rem;color:#374151;outline:none;cursor:pointer}.time-separator{font-weight:600;color:#6b7280}.activity-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.activity-header{display:flex;align-items:center;gap:.75rem}.activity-icon{font-size:1.2rem}.activity-name-input,.activity-description-input,.activity-location-input,.activity-duration-input{border:1px solid #d1d5db;border-radius:6px;padding:.5rem;font-size:.9rem;transition:border-color .2s ease}.activity-name-input{font-weight:600;flex:1}.activity-description-input{width:100%}.activity-details{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.activity-location{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.85rem}.activity-location-input{min-width:150px}.activity-duration-input{min-width:100px}.activity-actions{display:flex;justify-content:flex-end}.remove-activity-btn{background:#ef4444;color:#fff;border:none;padding:.4rem .8rem;border-radius:6px;font-size:.8rem;transition:all .2s ease}.remove-activity-btn:hover{background:#dc2626;transform:translateY(-1px)}.meals-section{margin-bottom:2rem;padding:1rem;background:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.meals-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 1rem}.meals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.meal-item{display:flex;flex-direction:column;gap:.5rem}.meal-type{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:capitalize}.meal-input{border:1px solid #d1d5db;border-radius:6px;padding:.5rem;font-size:.9rem;transition:border-color .2s ease}.meal-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.accommodation-section{margin-bottom:2rem;padding:1rem;background:#f0f9ff;border-radius:8px;border:1px solid #bae6fd}.accommodation-title{font-size:1rem;font-weight:600;color:#0c4a6e;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.accommodation-title:before{content:"🏨";font-size:1.2rem}.accommodation-input{width:100%;border:1px solid #bae6fd;border-radius:6px;padding:.75rem;font-size:.9rem;background:#fff;transition:border-color .2s ease}.accommodation-input:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.transportation-section{margin-bottom:2rem;padding:1rem;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0}.transportation-title{font-size:1rem;font-weight:600;color:#14532d;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.transportation-title:before{content:"🚗";font-size:1.2rem}.transportation-input{width:100%;border:1px solid #bbf7d0;border-radius:6px;padding:.75rem;font-size:.9rem;background:#fff;transition:border-color .2s ease}.transportation-input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e1a}.tips-section{margin-bottom:1rem;padding:1rem;background:#fefce8;border-radius:8px;border:1px solid #fde047}.tips-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tips-title{font-size:1rem;font-weight:600;color:#a16207;margin:0;display:flex;align-items:center;gap:.5rem}.tips-title:before{content:"💡";font-size:1.2rem}.add-tip-btn{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.4rem .8rem;background:#eab308;color:#fff;border:none;border-radius:6px;transition:all .2s ease}.add-tip-btn:hover{background:#ca8a04;transform:translateY(-1px)}.tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tip-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#fff;border-radius:6px;border:1px solid #fde047}.tip-item--empty{justify-content:center;background:transparent;border:1px dashed #fde047}.tip-placeholder{color:#a16207;font-style:italic;font-size:.9rem}.tip-input{flex:1;border:1px solid #fde047;border-radius:6px;padding:.5rem;font-size:.9rem;background:#fff;transition:border-color .2s ease}.tip-input:focus{outline:none;border-color:#eab308;box-shadow:0 0 0 3px #eab3081a}.remove-tip-btn{background:#ef4444;color:#fff;border:none;padding:.3rem .5rem;border-radius:4px;font-size:.75rem;transition:all .2s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.remove-tip-btn:hover{background:#dc2626;transform:translateY(-1px)}.activity-name-input:focus,.activity-description-input:focus,.activity-location-input:focus,.activity-duration-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}@media (max-width: 768px){.itinerary-card__content{padding:1rem}.activity-item{flex-direction:column;gap:.75rem}.activity-time{min-width:auto}.time-selectors{justify-content:center}.activity-details{flex-direction:column;align-items:flex-start;gap:.5rem}.activity-location-input,.activity-duration-input{min-width:100%}.meals-grid{grid-template-columns:1fr}.tips-header{flex-direction:column;align-items:flex-start;gap:.75rem}.tip-item{flex-direction:column;align-items:stretch}.remove-tip-btn{align-self:flex-end}}.itinerary-view{display:flex;flex-direction:column;height:100%;overflow:hidden;padding-top:var(--header-height)}.itinerary-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.2);flex-shrink:0;position:relative}.itinerary-header__content{display:flex;flex-direction:column;gap:.4rem;flex:1}.itinerary-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.itinerary-title{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;margin:0;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.2);flex:1}.itinerary-subtitle{display:flex;align-items:center;gap:1rem;font-size:clamp(.8rem,1.2vw,.9rem);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.1)}.itinerary-subtitle svg{stroke-width:2.5}.itinerary-actions{display:flex;gap:.75rem;margin-top:.3rem}.itinerary-actions .button{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;border-radius:6px;background:#4b5563cc;border:1px solid rgba(75,85,99,.9);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.itinerary-actions .button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 10px #0000001a}.itinerary-actions .action-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.8rem;border-radius:6px;background:#4b5563cc;border:1px solid rgba(75,85,99,.9);color:#fff}.itinerary-actions .action-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.mobile-menu-container{position:absolute;top:.75rem;right:1rem;display:none}.mobile-menu-container.mobile-menu-inline{display:block}.mobile-menu-trigger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#ffffff26;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-menu-trigger:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.mobile-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.06);border-radius:14px;box-shadow:0 12px 30px #00000026;overflow:hidden;z-index:1000;min-width:190px;transform-origin:top right;animation:menuEnter .13s ease-out;padding:.35rem}.mobile-menu:before{content:"";position:absolute;top:-6px;right:12px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ffffff;filter:drop-shadow(0 -1px 1px rgba(0,0,0,.06))}@keyframes menuEnter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.mobile-menu-item{display:flex;align-items:center;gap:.75rem;padding:.7rem .9rem;color:#0f172a;cursor:pointer;transition:background .15s ease,color .15s ease,transform .05s ease;border-bottom:none;background:transparent;background-color:transparent!important;width:100%;border-radius:10px;margin:2px 0}.mobile-menu-item:last-child{border-bottom:none}.mobile-menu-item:hover{background:linear-gradient(180deg,#667eea24,#764ba224);color:var(--color-primary-dark)}.mobile-menu-item:active{transform:translateY(.5px)}.mobile-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mobile-menu-item__icon{flex:0 0 auto;color:#6b7280}.mobile-menu-item__label{flex:1 1 auto;text-align:left}.mobile-menu-item svg{color:#6b7280;transition:color .15s ease}.mobile-menu-item:hover svg{color:var(--color-primary-dark)}.mobile-menu-item span{font-size:.92rem;font-weight:500}.itinerary-navigation{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.2);padding:.75rem 2rem;flex-shrink:0}.day-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:800px;margin:0 auto}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.85rem;border-radius:6px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;transition:all .3s ease}.nav-btn:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.day-pagination{display:flex;flex-direction:column;align-items:center;gap:.4rem}.day-info{font-size:.85rem;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.day-dots{display:flex;gap:.5rem}.day-dot{width:8px;height:8px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;transition:all .3s ease}.day-dot:hover{background:#fff9;transform:scale(1.2)}.day-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 2px 4px #0003}.itinerary-content{flex-grow:1;overflow-y:auto;padding:1.5rem 2rem;background-color:transparent}.itinerary-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.itinerary-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#6b7280;background-color:#f0f4f8;border-radius:12px;margin:2rem;box-shadow:0 4px 15px #0000000d}.itinerary-placeholder__icon{color:#9ca3af;margin-bottom:1.5rem}.itinerary-placeholder__title{font-size:1.5rem;font-weight:600;margin-bottom:.75rem;color:#374151}.itinerary-placeholder__description{font-size:1rem;line-height:1.6;color:#6b7280;max-width:500px}.itinerary-title,.itinerary-mobile-title h3{color:#fff}.itinerary-mobile-title h3{font-size:1rem;font-weight:600}@media (min-width: 1001px){.itinerary-header{align-items:flex-start}.itinerary-header__content{width:100%}.itinerary-actions{margin-top:.3rem;align-self:flex-start}}@media (max-width: 1000px){.itinerary-view{padding-top:4rem}.itinerary-header{padding:.75rem 1.5rem;flex-direction:column;align-items:flex-start;gap:.75rem}.itinerary-header__content,.itinerary-title-row{width:100%}.itinerary-actions{display:none}.mobile-menu-container{display:block}.itinerary-navigation{padding:.6rem 1.5rem}.itinerary-content{padding:1rem 1.5rem}.itinerary-days{grid-template-columns:1fr;gap:1rem}}@media (max-width: 768px){.itinerary-view{padding-top:4rem}.itinerary-header{padding:.6rem 1rem}.itinerary-title{font-size:1.1rem}.itinerary-subtitle{font-size:.75rem;gap:.5rem;flex-wrap:wrap}.mobile-menu-trigger{width:32px;height:32px}.mobile-menu{min-width:160px}.mobile-menu-item{padding:.6rem .8rem}.mobile-menu-item span{font-size:.85rem}.itinerary-navigation{padding:.5rem 1rem}.itinerary-content{padding:.75rem 1rem}}@media (max-width: 480px){.itinerary-view{padding-top:4rem}.itinerary-header{padding:.5rem .75rem}.itinerary-title{font-size:1rem}.itinerary-subtitle{font-size:.7rem;gap:.25rem}.mobile-menu-trigger{width:28px;height:28px}.mobile-menu{min-width:140px;right:-10px}.mobile-menu-item{padding:.5rem .7rem}.mobile-menu-item span{font-size:.8rem}.itinerary-navigation{padding:.4rem .75rem}.itinerary-content{padding:.5rem .75rem}}.itinerary-cards{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;min-height:0}.itinerary-cards>*{flex-shrink:0}@media (max-width: 1000px){.itinerary-cards{padding:.75rem;gap:.75rem}}@media (max-width: 768px){.itinerary-cards{padding:.5rem;gap:.5rem}}.pricing-summary{margin:1rem 0 0;padding:1rem 1.25rem;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000000f}.pricing-summary__title{margin:0 0 .75rem;font-size:1.05rem;font-weight:700;color:#111827}.pricing-summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.pricing-card{border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:.75rem;background:#fafafa}.pricing-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.pricing-card__label{font-weight:600;color:#374151}.pricing-card__body{display:flex;flex-direction:column;gap:.25rem}.pricing-card__meta{font-size:.85rem;color:#6b7280}.pricing-card__placeholder{font-size:.9rem;color:#9ca3af}.pricing-card__actions{margin-top:.5rem}.pricing-card__btn{padding:.45rem .75rem;font-size:.85rem;border-radius:8px}@media (max-width: 768px){.pricing-summary{padding:.75rem}.pricing-summary__grid{grid-template-columns:1fr}}.ai-chat-interface{height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;overflow:hidden}.ai-chat-container{display:flex;height:100%;position:relative;flex-direction:row}.mobile-toggle{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:1000;display:flex;gap:.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 15px #0000001a}.mobile-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;border-radius:8px;transition:all .3s ease;min-width:100px;justify-content:center}.mobile-toggle-btn.active{background:#ffffffe6;color:#667eea;box-shadow:0 2px 8px #0000001a}.mobile-toggle-btn:not(.active){background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.mobile-toggle-btn:not(.active):hover{background:#ffffff1a;border-color:#ffffff80}.ai-chat-side{flex:1;display:flex;flex-direction:column;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.1);transition:all .3s ease;height:100%}.ai-chat-side.mobile-hidden{display:none}.ai-chat-header{padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:1rem;flex-shrink:0}.back-to-questions-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;font-size:.9rem;transition:all .3s ease}.back-to-questions-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px)}.ai-chat-title-section{flex:1;display:flex;flex-direction:column;gap:.25rem}.ai-chat-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.2)}.ai-chat-status{display:flex;align-items:center;gap:.5rem}.generating-text{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#fffc;font-weight:500}.ai-chat-messages{flex:1;overflow-y:auto;padding:1rem 2rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;gap:1rem;align-items:flex-start}.message--user{flex-direction:row-reverse}.message__avatar{width:40px;height:40px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.message--user .message__avatar{background:#667eeacc;border-color:#667eeae6}.message__content{flex:1;display:flex;flex-direction:column;gap:.5rem;max-width:70%}.message--user .message__content{align-items:flex-end}.message__bubble{padding:1rem 1.25rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;line-height:1.5;word-wrap:break-word}.message--user .message__bubble{background:#667eeacc;border-color:#667eeae6}.message__bubble--typing{padding:1rem 1.25rem}.message__timestamp{font-size:.75rem;color:#fff9;font-weight:500}.suggestion-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.suggestion-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;border-radius:8px;transition:all .3s ease}.suggestion-btn--accept{background:#10b981;color:#fff;border:1px solid #10b981}.suggestion-btn--accept:hover{background:#059669;border-color:#059669;transform:translateY(-1px)}.suggestion-btn--reject{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}.suggestion-btn--reject:hover{background:#ffffff1a;border-color:#ffffff80}.typing-indicator{display:flex;gap:.25rem;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:#fff9;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.ai-chat-input{padding:1.5rem 2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:1rem;align-items:center;flex-shrink:0}.ai-chat-input-field{flex:1;padding:.75rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;font-size:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.ai-chat-input-field::placeholder{color:#fff}.ai-chat-input-field:focus{outline:none;border-color:#fff6;background:#ffffff26;box-shadow:0 0 0 3px #ffffff1a}.ai-chat-send-btn{width:48px;height:48px;border-radius:50%;background:#667eeacc;border:1px solid rgba(102,126,234,.9);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.ai-chat-send-btn:hover:not(:disabled){background:#667eea;border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.ai-chat-send-btn:active{transform:scale(.95)}.ai-chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-chat-send-btn:disabled svg{opacity:.7}.ai-chat-sidebar{flex:1;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:1px solid rgba(255,255,255,.1);transition:all .3s ease;height:100%}.ai-chat-sidebar.mobile-hidden{display:none}.ai-chat-sidebar .itinerary-view-container{height:100%;overflow-y:auto}.ai-chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;text-align:center;padding:2rem}.loading-spinner{animation:spin 2s linear infinite;margin-bottom:1.5rem}.loading-spinner svg{color:#fffc}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-chat-loading h2{font-size:2rem;font-weight:700;margin:0 0 1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.ai-chat-loading p{font-size:1.1rem;opacity:.8;margin:0;line-height:1.5}@media (max-width: 1000px){.ai-chat-container{flex-direction:column;height:calc(100vh - 80px);margin-bottom:80px}.ai-chat-side,.ai-chat-sidebar{flex:1;width:100%;height:100%}.ai-chat-side.mobile-hidden,.ai-chat-sidebar.mobile-hidden{display:none}.mobile-toggle{display:flex}.ai-chat-header{padding:1.5rem 2rem}.ai-chat-messages,.ai-chat-input{padding-bottom:1rem}}@media (min-width: 1001px){.mobile-toggle{display:none}.ai-chat-container{height:100%;margin-bottom:0;flex-direction:row;padding-top:4rem}.ai-chat-side,.ai-chat-sidebar,.ai-chat-side.mobile-hidden,.ai-chat-sidebar.mobile-hidden{display:flex}}@media (max-width: 768px){.ai-chat-container{height:calc(100vh - 70px);margin-bottom:70px}.ai-chat-header{padding:1rem 1.5rem;flex-direction:column;align-items:flex-start;gap:1rem}.ai-chat-messages,.ai-chat-input{padding:1rem 1.5rem}.message__content{max-width:85%}.mobile-toggle{bottom:15px;padding:.4rem}.mobile-toggle-btn{padding:.6rem 1.2rem;font-size:.8rem;min-width:80px}}@media (max-width: 480px){.ai-chat-container{height:calc(100vh - 60px);margin-bottom:60px}.ai-chat-header{padding:.75rem 1rem}.ai-chat-title{font-size:1.25rem}.ai-chat-messages,.ai-chat-input,.message__bubble{padding:.75rem 1rem}.suggestion-actions{flex-direction:column;gap:.5rem}.suggestion-btn{justify-content:center}.mobile-toggle{bottom:10px;left:10px;right:10px;transform:none;justify-content:center}.mobile-toggle-btn{flex:1;padding:.5rem 1rem;font-size:.75rem;min-width:auto}}.ai-chat-interface.desktop-view{display:flex;flex-direction:row;height:100vh;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2)}.ai-chat-interface.desktop-view .chat-area,.ai-chat-interface.desktop-view .itinerary-area{display:flex;flex-direction:column;min-width:0}.ai-chat-interface.desktop-view .chat-area{flex:1 1 50%;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.12)}.ai-chat-interface.desktop-view .itinerary-area{flex:1 1 50%;background:#ffffff08}.ai-chat-interface.desktop-view .chat-header{padding:.5rem .75rem;display:flex;align-items:center;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.12);flex-shrink:0}.ai-chat-interface.desktop-view .chat-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem}.ai-chat-interface.desktop-view .chat-input-area{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid rgba(255,255,255,.12);background:#ffffff0a;flex-shrink:0}.ai-chat-interface.desktop-view .chat-input-area .chat-input{flex:1;padding:.4rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff}.ai-chat-interface.desktop-view .chat-input-area .send-button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#667eead9;border:1px solid rgba(102,126,234,.95);color:#fff}.ai-chat-interface.desktop-view .itinerary-area,.ai-chat-interface.desktop-view .chat-area{min-height:0}.ai-chat-interface.desktop-view .itinerary-area>*{min-height:0}.ai-chat-interface.desktop-view .chat-messages{flex:1}.ai-chat-interface.desktop-view .chat-input-area{flex:0 0 auto}@media (min-width: 1001px){.ai-chat-interface .mobile-toggle,.ai-chat-interface .mobile-header,.ai-chat-interface .mobile-content,.ai-chat-interface .mobile-toggle-buttons{display:none!important}}.chat-messages{display:flex;flex-direction:column;gap:.6rem}.message-bubble{display:flex;gap:.5rem;align-items:flex-start}.message-bubble.ai{justify-content:flex-start}.message-bubble.user{justify-content:flex-end}.message-bubble .message-content{max-width:min(70%,720px);padding:.8rem 1rem;border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);line-height:1.5;word-break:break-word;display:flex;gap:.5rem;align-items:flex-start}.message-bubble.ai .message-content{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.message-bubble.user .message-content{background:#667eeaeb;border:1px solid rgba(102,126,234,1);color:#fff}.message-bubble .message-icon{margin-top:.15rem;opacity:.9;flex-shrink:0}.message-bubble .message-timestamp{display:block;font-size:.75rem;color:#ffffffa6;margin-top:.35rem}.message-bubble.user .message-timestamp{text-align:right}.message-bubble.typing .message-content{background:#ffffff14;border:1px solid rgba(255,255,255,.18)}.message-bubble .confirmation-buttons{display:flex;gap:.5rem;margin-top:.5rem}.ai-chat-interface.desktop-view,.ai-chat-interface.mobile-view{padding-top:var(--header-height);height:calc(100vh - var(--header-height));box-sizing:border-box}.ai-chat-interface.desktop-view .chat-title{font-size:1rem;font-weight:600;color:#fff}.ai-chat-interface .back-btn,.ai-chat-interface .back-btn:hover,.ai-chat-interface .back-btn:focus,.ai-chat-interface .back-btn:active{color:#fff!important}.ai-chat-interface .back-btn svg{color:#fff!important}.ai-chat-interface.desktop-view .chat-input-area .chat-input::placeholder{color:#fff;opacity:1}.ai-chat-interface.desktop-view .chat-input-area .chat-input::-webkit-input-placeholder{color:#fff}.ai-chat-interface.desktop-view .chat-input-area .chat-input::-moz-placeholder{color:#fff}.ai-chat-interface.desktop-view .chat-input-area .chat-input:-ms-input-placeholder{color:#fff}.ai-chat-interface.desktop-view .chat-input-area .chat-input::-ms-input-placeholder{color:#fff}@media (max-width: 1000px){.ai-chat-interface .itinerary-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.ai-chat-interface .itinerary-panel>*{min-height:0}.ai-chat-interface .itinerary-panel .itinerary-view{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}}.ai-chat-interface.mobile-view{display:flex;flex-direction:column;height:calc(100vh - var(--header-height));padding-top:var(--header-height);box-sizing:border-box}.ai-chat-interface.mobile-view .mobile-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ai-chat-interface.mobile-view .itinerary-panel,.ai-chat-interface.mobile-view .chat-panel,.ai-chat-interface.mobile-view .itinerary-panel .itinerary-view{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.ai-chat-interface.mobile-view .itinerary-view{padding-top:0!important}.ai-chat-interface.mobile-view .mobile-toggle-buttons{position:fixed;left:0;right:0;bottom:0;transform:none;display:flex;align-items:center;justify-content:center;gap:.5rem;z-index:1000;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem calc(.75rem + env(safe-area-inset-right)) calc(.5rem + env(safe-area-inset-bottom)) calc(.75rem + env(safe-area-inset-left));border-radius:0;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 -4px 12px #00000014}.ai-chat-interface.mobile-view .mobile-toggle-buttons .toggle-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:auto;flex:1 1 0}.ai-chat-interface.mobile-view .mobile-toggle-buttons .toggle-btn{background:#667eeae6;border:1px solid rgba(102,126,234,1);color:#fff}.ai-chat-interface.mobile-view .mobile-toggle-buttons .toggle-btn.active{background:#fff;border-color:#fff;color:#111827}.ai-chat-interface.mobile-view .mobile-toggle-buttons .toggle-btn.active svg{color:#111827}.ai-chat-interface.mobile-view .mobile-toggle-buttons .toggle-btn:not(.active) svg{color:#fff}.ai-chat-interface.mobile-view .chat-panel{display:flex;flex-direction:column;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:none}.ai-chat-interface.mobile-view .chat-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem}.ai-chat-interface.mobile-view .chat-input-area{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid rgba(255,255,255,.12);background:#ffffff0a;flex-shrink:0}.ai-chat-interface.mobile-view .chat-input-area .chat-input{flex:1;padding:.4rem .6rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff}.ai-chat-interface.mobile-view .chat-input-area .chat-input::placeholder{color:#fff;opacity:1}.ai-chat-interface.mobile-view .chat-input-area .chat-input::-webkit-input-placeholder{color:#fff}.ai-chat-interface.mobile-view .chat-input-area .chat-input::-moz-placeholder{color:#fff}.ai-chat-interface.mobile-view .chat-input-area .chat-input:-ms-input-placeholder{color:#fff}.ai-chat-interface.mobile-view .chat-input-area .chat-input::-ms-input-placeholder{color:#fff}.ai-chat-interface.mobile-view .chat-input-area .send-button{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#667eead9;border:1px solid rgba(102,126,234,.95);color:#fff}.questionnaire-flow{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:transparent;position:relative}.questionnaire-flow:before{content:"";position:absolute;inset:0;background:url(/linh-nguyen-DNE9iZ1Kqzk-unsplash.jpg) center/cover;opacity:1;z-index:0}.questionnaire-flow:after{content:"";position:absolute;inset:0;background:#00000080;z-index:1}.questionnaire-flow>*{position:relative;z-index:2}.questionnaire-flow .progress-bar-container{flex-shrink:0;padding:1rem 2rem;background:#ffffff1a;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.2)}.questionnaire-flow .question-step{flex:1;overflow:hidden;display:flex;flex-direction:column;background:transparent}.questionnaire-flow .question-step-content,.questionnaire-flow .multi-destination-step{background:#ffffff14!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:1.25rem 2rem;width:75vw;height:74vh;margin-left:auto;margin-right:auto;margin-top:5vh;margin-bottom:11vh;max-width:none}.questionnaire-flow .multi-destination-step{height:74vh;max-width:800px;margin-left:auto;margin-right:auto;position:relative;z-index:2}.questionnaire-flow .question-step,.questionnaire-flow .multi-destination-step,.questionnaire-flow .destinations-container,.questionnaire-flow .step-actions{background:transparent!important}.questionnaire-flow *{background-color:transparent!important}.questionnaire-flow .destination-card,.questionnaire-flow .step-btn--next,.questionnaire-flow .progress-bar-container{background:inherit!important}.questionnaire-flow .question-step,.questionnaire-flow .multi-destination-step{z-index:2}@media (max-width: 768px){.questionnaire-flow .multi-destination-step,.questionnaire-flow .question-step-content{padding:1rem 1.25rem}.questionnaire-flow .progress-bar-container{padding:.75rem 1rem}}@media (max-width: 480px){.questionnaire-flow .multi-destination-step,.questionnaire-flow .question-step-content{padding:.75rem 1rem}.questionnaire-flow .progress-bar-container{padding:.5rem .75rem}}@media (min-width: 769px){.questionnaire-flow .multi-destination-step .step-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.75rem!important;width:calc(100% + 4rem)!important;margin-left:-2rem!important;margin-right:-2rem!important;padding-left:2rem!important;padding-right:2rem!important;box-sizing:border-box}.questionnaire-flow .multi-destination-step .step-btn{width:100%!important}}.homepage{min-height:100vh;overflow-x:hidden}.hero{position:relative;width:100%;height:100vh;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--color-white);background-image:url(/linh-nguyen-DNE9iZ1Kqzk-unsplash.jpg);background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden;padding:1rem}.hero__overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1}.hero__content{position:relative;z-index:2;width:100%;max-width:90vw;max-width:min(90vw,700px);padding:1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;gap:1.5rem}.hero__title{font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--font-weight-extrabold);line-height:1.2;margin-bottom:1rem;text-shadow:2px 2px 6px rgba(0,0,0,.7);color:#fff}.highlight{background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;font-weight:var(--font-weight-black);filter:drop-shadow(2px 2px 4px rgba(0,0,0,.8));position:relative}.highlight:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff6b6b,#4ecdc4,#45b7d1);border-radius:4px;opacity:.1;z-index:-1;filter:blur(8px)}.hero__description{font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.6;margin-bottom:2rem;opacity:.9;text-shadow:1px 1px 4px rgba(0,0,0,.6);color:#e0e0e0}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;width:100%}@media (max-width: 1024px){.hero__content{max-width:85vw;padding:1.25rem}}@media (max-width: 768px){.hero{background-attachment:scroll;height:100vh;padding:.75rem}.hero__content{max-width:95vw;padding:1rem;gap:1rem}.hero__title{font-size:clamp(1.75rem,6vw,2.5rem);margin-bottom:.75rem}.hero__description{font-size:clamp(.9rem,3vw,1rem);margin-bottom:1.5rem}.hero__actions{flex-direction:column;align-items:center;gap:.75rem}}@media (max-width: 480px){.hero{padding:.5rem}.hero__content{max-width:98vw;padding:.875rem;gap:.75rem}.hero__title{font-size:clamp(1.5rem,7vw,2rem);margin-bottom:.5rem}.hero__description{font-size:clamp(.85rem,3.5vw,.95rem);margin-bottom:1rem}}@media (max-height: 500px) and (orientation: landscape){.hero{height:100vh;padding:.5rem}.hero__content{padding:.75rem;gap:.5rem}.hero__title{font-size:clamp(1.25rem,4vh,1.75rem);margin-bottom:.25rem}.hero__description{font-size:clamp(.8rem,2.5vh,.9rem);margin-bottom:.75rem}.hero__actions{flex-direction:row;gap:.5rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:#1f2937}.App{min-height:100vh}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal{width:100%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000040;padding:1.25rem;animation:modalIn .15s ease-out}.modal h3{margin-bottom:.75rem}.modal .form-error{color:#dc2626;margin:.25rem 0 .5rem;font-size:.9rem}.modal .modal-actions{display:flex;gap:.5rem;margin-top:.75rem}.modal .link{color:#667eea;background:transparent;border:none;cursor:pointer;padding:.25rem 0}.modal .modal-switch{margin-top:.5rem}@keyframes modalIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.password-field{position:relative}.password-field .input{padding-right:2.25rem}.password-toggle{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);background:transparent;border:none;padding:0;cursor:pointer;color:#6b7280;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.password-toggle:focus{outline:none;box-shadow:none}*:focus{outline:2px solid #667eea;outline-offset:2px}html{scroll-behavior:smooth}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:root{--primary-50: #f0f4ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #667eea;--primary-600: #5b21b6;--primary-700: #4c1d95;--primary-800: #3730a3;--primary-900: #312e81;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success-50: #ecfdf5;--success-500: #10b981;--success-600: #059669;--error-50: #fef2f2;--error-500: #ef4444;--error-600: #dc2626;--warning-50: #fffbeb;--warning-500: #f59e0b;--warning-600: #d97706;--header-height: 4rem;--border-radius-sm: .375rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-size-h1: 3.5rem;--font-size-h2: 2.5rem;--font-size-h3: 2rem;--font-size-h4: 1.5rem;--font-size-h5: 1.25rem;--font-size-h6: 1.125rem;--font-weight-thin: 100;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-weight-black: 900;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--color-primary: var(--primary-500);--color-primary-dark: var(--primary-600);--color-primary-light: var(--primary-400);--color-secondary: var(--gray-600);--color-success: var(--success-500);--color-error: var(--error-500);--color-warning: var(--warning-500);--color-white: #ffffff;--color-black: #000000;--color-background: var(--gray-50);--color-background-dark: var(--gray-100);--color-text: var(--gray-800);--color-text-light: var(--gray-600);--color-text-muted: var(--gray-500);--color-border: var(--gray-200);--color-border-light: var(--gray-100)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;line-height:1.5}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-size:var(--font-size-h6)}p{margin-bottom:1rem;line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-dark);text-decoration:underline}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--color-white)}
