:root{--color-primary: #1a73e8;--color-primary-light: #4a9af5;--color-primary-dark: #0d5bbf;--color-accent: #ff6b35;--color-accent-light: #ff8c5e;--color-success: #34a853;--color-bg: #f4f6fb;--color-surface: #ffffff;--color-surface-alt: #f0f4fa;--color-text: #1a1a2e;--color-text-secondary: #5a6278;--color-text-muted: #8b93a7;--color-border: #dfe3ec;--color-border-light: #eceef5;--color-shadow: rgba(26, 115, 232, .08);--color-shadow-lg: rgba(26, 115, 232, .12);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-sans);line-height:1.5;color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.app{max-width:960px;margin:0 auto;padding:2rem 1.25rem 4rem}.header{text-align:center;margin-bottom:2.5rem}.header__icon{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-size:1.6rem;margin-bottom:.75rem;box-shadow:0 4px 16px var(--color-shadow-lg)}.header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;color:var(--color-text)}.header p{color:var(--color-text-secondary);font-size:1rem;margin-top:.25rem}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:1.75rem;box-shadow:0 2px 12px var(--color-shadow);transition:box-shadow .2s}.card+.card{margin-top:1.5rem}.card--elevated{box-shadow:0 4px 24px var(--color-shadow-lg)}.card__title{font-size:1.2rem;font-weight:700;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;color:var(--color-text)}.card__title-icon{font-size:1.3rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-grid{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group--full{grid-column:1 / -1}.form-group label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary)}.form-group input,.form-group select{padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);transition:border-color .15s,box-shadow .15s;outline:none}.form-group input:focus,.form-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a73e826}.form-group input::placeholder{color:var(--color-text-muted)}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .85rem;border:1px solid var(--color-border);border-radius:2rem;font-size:.85rem;cursor:pointer;background:var(--color-surface);color:var(--color-text-secondary);transition:all .15s;-webkit-user-select:none;user-select:none}.chip:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.chip--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.chip--active:hover{background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.budget-range{display:flex;align-items:center;gap:.75rem}.budget-range input[type=number]{width:100%}.budget-sep{color:var(--color-text-muted);font-weight:600;font-size:.9rem;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all .15s}.btn--primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;box-shadow:0 2px 8px var(--color-shadow-lg);width:100%;padding:.85rem;font-size:1rem}.btn--primary:hover{box-shadow:0 4px 16px var(--color-shadow-lg);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0)}.btn--primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--secondary{background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-border-light)}.btn--small{padding:.4rem .75rem;font-size:.8rem}.btn--danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn--danger:hover{background:#fee2e2}.btn--accent{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-light));color:#fff}.results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.results-header h2{font-size:1.4rem;font-weight:700;letter-spacing:-.02em}.result-section{margin-top:1.25rem}.result-section h3{font-size:1rem;font-weight:700;color:var(--color-primary);margin-bottom:.75rem;display:flex;align-items:center;gap:.4rem}.flight-card{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1.25rem;background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.flight-route{display:flex;align-items:center;gap:.75rem}.flight-route__code{font-size:1.25rem;font-weight:700;color:var(--color-text)}.flight-route__arrow{color:var(--color-primary);font-size:1.2rem}.flight-meta{text-align:right}.flight-meta__price{font-size:1.3rem;font-weight:700;color:var(--color-primary)}.flight-meta__detail{font-size:.8rem;color:var(--color-text-muted)}.hotel-card{display:flex;gap:1.25rem;padding:1.25rem;background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light);align-items:flex-start}.hotel-card__image{width:5rem;height:5rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,#e0e7ff,#c7d2fe);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.hotel-card__info{flex:1;min-width:0}.hotel-card__name{font-weight:700;font-size:1.05rem;margin-bottom:.2rem}.hotel-card__rating{color:var(--color-accent);font-size:.85rem;margin-bottom:.25rem}.hotel-card__price{color:var(--color-primary);font-weight:700;font-size:1rem}.hotel-card__per{color:var(--color-text-muted);font-size:.8rem}.hotel-card__amenities{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.amenity-tag{font-size:.7rem;padding:.2rem .5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;color:var(--color-text-secondary)}.itinerary-day{background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:.75rem;position:relative;padding:1rem 1.25rem 1rem 3.5rem}.itinerary-day__number{position:absolute;left:1rem;top:1rem;width:1.75rem;height:1.75rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.itinerary-day__title{font-weight:700;font-size:.95rem;margin-bottom:.35rem}.itinerary-day__activities{list-style:none;padding:0}.itinerary-day__activities li{font-size:.88rem;color:var(--color-text-secondary);padding:.15rem 0;display:flex;align-items:flex-start;gap:.4rem}.itinerary-day__activities li:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--color-primary-light);flex-shrink:0;margin-top:.45rem}.saved-trips-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.saved-trips-header h2{font-size:1.2rem;font-weight:700;display:flex;align-items:center;gap:.4rem}.saved-trip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--color-surface-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:.75rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.saved-trip:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px var(--color-shadow)}.saved-trip__info{flex:1;min-width:0}.saved-trip__dest{font-weight:700;font-size:1rem}.saved-trip__dates{font-size:.8rem;color:var(--color-text-muted);margin-top:.1rem}.saved-trip__budget{font-size:.8rem;color:var(--color-primary);font-weight:600}.saved-trip__actions{display:flex;gap:.5rem;flex-shrink:0}.empty-state{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.9rem}.empty-state__icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:1rem;font-size:.7rem;font-weight:600;letter-spacing:.03em}.badge--primary{background:#1a73e81a;color:var(--color-primary)}.badge--accent{background:#ff6b351a;color:var(--color-accent)}.divider{border:none;border-top:1px solid var(--color-border-light);margin:1.5rem 0}@media(max-width:600px){.app{padding:1.25rem 1rem 3rem}.header h1{font-size:1.5rem}.card{padding:1.25rem}.flight-card{flex-direction:column;align-items:flex-start}.flight-meta{text-align:left}.hotel-card{flex-direction:column}.hotel-card__image{width:100%;height:4rem}.saved-trip{flex-direction:column;align-items:flex-start}.saved-trip__actions{width:100%;justify-content:flex-end}.itinerary-day{padding-left:3rem}}
