*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:15px;line-height:1.5}html,body,#root{height:100%;min-height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea{font-family:inherit;font-size:inherit}img{display:block;max-width:100%}:root{--brand: #5B5BD6;--brand-dark: #4848b8;--brand-light: #ebebff;--brand-fg: #ffffff;--bg-page: #f0f2f5;--bg-surface: #ffffff;--bg-hover: #f5f5f5;--bg-muted: #f8fafc;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--text-inverse: #ffffff;--border: #e5e7eb;--border-focus: var(--brand);--bubble-user-bg: var(--brand);--bubble-user-fg: #ffffff;--bubble-bot-bg: #fafafa;--bubble-bot-fg: #111827;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 20px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 6px 24px rgba(15,15,15,.08);--shadow-lg: 0 15px 35px rgba(15,15,15,.15);--shadow-elevated: 0 10px 30px rgba(15,15,15,.08);--typing-primary: #6366f1;--typing-secondary: #a855f7;--bubble-user-gradient: linear-gradient(135deg, #111111, #27272a);--transition: .15s ease}html[data-theme=dark]{--bg-page: #09090b;--bg-surface: #111318;--bg-hover: #171a20;--bg-muted: #0f1116;--text-primary: #f3f4f6;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-inverse: #0b0f18;--border: #27272a;--border-focus: var(--brand-light);--bubble-bot-bg: #1c1c1f;--bubble-bot-fg: #f3f4f6;--shadow-sm: 0 2px 8px rgba(0,0,0,.28);--shadow-md: 0 8px 30px rgba(0,0,0,.35);--shadow-lg: 0 18px 50px rgba(0,0,0,.42);--shadow-elevated: 0 10px 30px rgba(0,0,0,.3);--bubble-user-gradient: linear-gradient(135deg, #111111, #27272a)}::selection{background:color-mix(in srgb,var(--brand) 24%,white)}#root{isolation:isolate}body{overscroll-behavior-y:none}@media(max-width:767px){input[type=text],input[type=email],input[type=tel],input[type=password],textarea{font-size:16px!important}}@supports (padding: env(safe-area-inset-bottom)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes typing-wave{0%,to{transform:translateY(0) scale(1);opacity:.6}50%{transform:translateY(-8px) scale(1.1);opacity:1}}@keyframes jn-bubbleGlow{0%,to{opacity:0;transform:scale(1)}50%{opacity:.6;transform:scale(1.02)}}@keyframes jn-iconPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes jn-iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes jn-iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes jn-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes jn-fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes jn-slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes jn-slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes jn-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes jn-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes jn-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes jn-pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}@keyframes jn-pulse-recording{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 12px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes jn-audio-pulse{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@keyframes jn-toast-in{0%{opacity:0;transform:translateY(-16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes jn-toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-16px) scale(.96)}}.jn-markdown{font-size:var(--bubble-bot-fs, .9375rem);line-height:1.65;letter-spacing:-.01em;color:var(--text-primary);font-feature-settings:"kern" 1,"liga" 1}.jn-markdown h1,.jn-markdown h2,.jn-markdown h3,.jn-markdown h4{line-height:1.25;color:var(--text-primary);font-weight:700;margin:0}.jn-markdown h1{font-size:1.2em;font-weight:700;letter-spacing:-.025em;margin-top:1.25em;margin-bottom:.5em;padding-bottom:.35em;border-bottom:1.5px solid var(--border)}.jn-markdown>h1:first-child{margin-top:0}.jn-markdown h2{font-size:1.0625em;font-weight:650;letter-spacing:-.015em;margin-top:1.5em;margin-bottom:.4em;display:flex;align-items:center;gap:.5em}.jn-markdown>h2:first-child{margin-top:0}.jn-markdown h2:before{content:"";display:inline-block;width:3px;height:1em;border-radius:2px;background:var(--brand);flex-shrink:0}.jn-markdown h3{font-size:.9375em;font-weight:600;letter-spacing:-.01em;margin-top:1.1em;margin-bottom:.3em;color:var(--brand)}html[data-theme=dark] .jn-markdown h3{color:#818cf8}.jn-markdown>h3:first-child{margin-top:0}.jn-markdown h4{font-size:.875em;font-weight:600;margin-top:1em;margin-bottom:.25em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.jn-markdown p{margin:0 0 .75em;color:var(--text-primary)}.jn-markdown p:last-child{margin-bottom:0}.jn-markdown h2+p,.jn-markdown h3+p{margin-top:0}.jn-markdown ul,.jn-markdown ol{margin:.5em 0 .85em;padding-left:0;list-style:none}.jn-markdown li{position:relative;padding-left:1.3em;margin-bottom:.35em;line-height:1.6;color:var(--text-primary)}.jn-markdown ul>li:before{content:"";position:absolute;left:.35em;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--brand);flex-shrink:0}.jn-markdown ol{counter-reset:jn-ol}.jn-markdown ol>li{counter-increment:jn-ol}.jn-markdown ol>li:before{content:counter(jn-ol) ".";position:absolute;left:0;top:0;font-size:.8125em;font-weight:700;color:var(--brand);line-height:2;min-width:1.1em;text-align:right}.jn-markdown ul ul,.jn-markdown ol ul,.jn-markdown ul ol,.jn-markdown ol ol{margin:.2em 0;padding-left:0}.jn-markdown ul ul>li:before{width:4px;height:4px;background:var(--text-muted);top:.65em}.jn-markdown a{color:var(--brand);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand) 40%,transparent);text-underline-offset:2px;transition:text-decoration-color .15s ease,color .15s ease}.jn-markdown a:hover{text-decoration-color:var(--brand)}.jn-markdown strong{font-weight:650;color:var(--text-primary)}.jn-markdown em{font-style:italic}.jn-markdown blockquote{border-left:3px solid var(--brand);padding:6px 0 6px 14px;margin:.6em 0;color:var(--text-secondary);background:color-mix(in srgb,var(--brand) 5%,transparent);border-radius:0 8px 8px 0;font-style:italic}html[data-theme=dark] .jn-markdown blockquote{background:color-mix(in srgb,var(--brand) 8%,transparent)}.jn-markdown code{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.8125em;background:color-mix(in srgb,var(--brand) 9%,transparent);color:var(--brand);padding:1.5px 5px;border-radius:5px;border:1px solid color-mix(in srgb,var(--brand) 18%,transparent);font-feature-settings:normal}html[data-theme=dark] .jn-markdown code{background:color-mix(in srgb,var(--brand) 14%,transparent);color:#a5b4fc;border-color:color-mix(in srgb,var(--brand) 25%,transparent)}.jn-markdown pre{margin:.7em 0;border-radius:var(--radius-sm);overflow:hidden;position:relative}.jn-markdown pre code{background:none;border:none;padding:0;border-radius:0;font-size:.85em;color:inherit}.jn-markdown table{min-width:100%;border-collapse:collapse;margin:.7em 0;font-size:.875em}.jn-markdown th,.jn-markdown td{border:1px solid var(--border);padding:7px 12px;text-align:left;vertical-align:top;min-width:80px}.jn-markdown th{font-size:.8125em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--brand) 8%,var(--bg-muted));color:var(--brand);border-color:color-mix(in srgb,var(--brand) 20%,var(--border))}html[data-theme=dark] .jn-markdown th{background:color-mix(in srgb,var(--brand) 12%,var(--bg-muted));color:#a5b4fc}.jn-markdown tbody tr:nth-child(2n) td{background:var(--bg-muted)}.jn-markdown hr{border:none;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 35%,transparent),transparent);margin:1.2em 0}.jn-markdown img{max-width:100%;border-radius:var(--radius-sm);margin:.5em 0;box-shadow:var(--shadow-sm)}.jn-markdown>*:first-child{margin-top:0!important}.jn-markdown>*:last-child{margin-bottom:0!important}.jn-markdown .iata-code{font-family:JetBrains Mono,Fira Code,SF Mono,Consolas,monospace;font-size:.8em;font-weight:700;letter-spacing:.08em;background:color-mix(in srgb,var(--brand) 9%,transparent);color:var(--brand);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);padding:1px 6px;border-radius:5px}html[data-theme=dark] .jn-markdown .iata-code{background:color-mix(in srgb,var(--brand) 14%,transparent);color:#a5b4fc;border-color:color-mix(in srgb,var(--brand) 28%,transparent)}.jn-markdown .flight-number{display:inline-flex;align-items:center;gap:4px;font-size:.82em;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(120deg,var(--brand),#7c3aed);padding:2px 9px 2px 7px;border-radius:6px;white-space:nowrap}.jn-markdown .flight-number:before{content:"✈";font-size:.9em;opacity:.85}.jn-markdown .price-tag{font-size:.9em;font-weight:700;color:#15803d;background:#16a34a1a;border:1px solid rgba(22,163,74,.2);padding:1.5px 8px;border-radius:6px;white-space:nowrap;letter-spacing:-.01em}html[data-theme=dark] .jn-markdown .price-tag{background:#22c55e24;border-color:#22c55e40;color:#4ade80}.jn-markdown .duration{display:inline-flex;align-items:center;gap:3px;font-size:.82em;font-weight:600;color:#0891b2;background:#06b6d41a;border:1px solid rgba(6,182,212,.2);padding:1.5px 7px;border-radius:6px;white-space:nowrap}.jn-markdown .duration:before{content:"⏱";font-size:.85em}html[data-theme=dark] .jn-markdown .duration{background:#06b6d424;border-color:#06b6d440;color:#22d3ee}.jn-markdown .status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:.8em;font-weight:600;letter-spacing:.02em;text-transform:capitalize;border:1px solid transparent}.jn-markdown .status-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.jn-markdown .status-confirmed{background:#16a34a1a;border-color:#16a34a33;color:#15803d}.jn-markdown .status-confirmed:before{background:#22c55e}.jn-markdown .status-pending{background:#d977061a;border-color:#d9770633;color:#b45309}.jn-markdown .status-pending:before{background:#f59e0b;animation:jn-pulse-dot 1.5s ease-in-out infinite}.jn-markdown .status-cancelled{background:#dc26261a;border-color:#dc262633;color:#b91c1c}.jn-markdown .status-cancelled:before{background:#ef4444}.jn-markdown .status-processing{background:color-mix(in srgb,var(--brand) 10%,transparent);border-color:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand)}.jn-markdown .status-processing:before{background:var(--brand);animation:jn-pulse-dot 1.5s ease-in-out infinite}html[data-theme=dark] .jn-markdown .status-confirmed{background:#22c55e24;border-color:#22c55e40;color:#4ade80}html[data-theme=dark] .jn-markdown .status-pending{background:#f59e0b24;border-color:#f59e0b40;color:#fbbf24}html[data-theme=dark] .jn-markdown .status-cancelled{background:#ef444424;border-color:#ef444440;color:#f87171}html[data-theme=dark] .jn-markdown .status-processing{background:color-mix(in srgb,var(--brand) 14%,transparent);border-color:color-mix(in srgb,var(--brand) 28%,transparent);color:#a5b4fc}.jn-markdown h3{display:flex;align-items:center;gap:8px;font-size:.95em;font-weight:700;color:var(--text-primary);margin:1em 0 .35em;padding-bottom:4px;border-bottom:1px solid var(--border);line-height:1.4}.jn-markdown h4{font-size:.88em;font-weight:600;color:var(--text-primary);margin:.8em 0 .25em;line-height:1.4}.jn-markdown details{margin:.5em 0;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);overflow:hidden}.jn-markdown summary{padding:8px 14px;font-size:.88em;font-weight:600;color:var(--brand);cursor:pointer;background:var(--bg-muted);list-style:none;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.jn-markdown summary::-webkit-details-marker{display:none}.jn-markdown summary:after{content:"▾";margin-left:auto;font-size:.85em;transition:transform .15s ease}.jn-markdown details[open] summary:after{transform:rotate(180deg)}.jn-markdown details>:not(summary){padding:0 14px 8px}.jn-markdown .callout{display:flex;gap:11px;align-items:flex-start;padding:11px 15px;border-left:3px solid;border-radius:0 10px 10px 0;margin:.75em 0;font-size:.9em;line-height:1.55}.jn-markdown .callout-icon{flex-shrink:0;font-size:1em;margin-top:.05em;line-height:1.55}.jn-markdown .callout>div{flex:1;min-width:0}.jn-markdown .callout-info{border-color:#3b82f6;background:#3b82f612;color:#1d4ed8}.jn-markdown .callout-warning{border-color:#f59e0b;background:#f59e0b12;color:#92400e}.jn-markdown .callout-success{border-color:#22c55e;background:#22c55e12;color:#15803d}.jn-markdown .callout-error{border-color:#ef4444;background:#ef444412;color:#b91c1c}.jn-markdown .callout-tip{border-color:#8b5cf6;background:#8b5cf612;color:#6d28d9}html[data-theme=dark] .jn-markdown .callout-info{background:#3b82f61c;color:#93c5fd}html[data-theme=dark] .jn-markdown .callout-warning{background:#f59e0b1c;color:#fcd34d}html[data-theme=dark] .jn-markdown .callout-success{background:#22c55e1c;color:#86efac}html[data-theme=dark] .jn-markdown .callout-error{background:#ef44441c;color:#fca5a5}html[data-theme=dark] .jn-markdown .callout-tip{background:#8b5cf61c;color:#c4b5fd}.conv-card{contain:layout}.conv-card button:hover{background:var(--bg-muted)!important;color:var(--text-primary)!important}.conv-card button[title=Delete]:hover,.conv-card button[title="Confirm delete"]:hover{color:#ef4444!important;border-color:#ef444459!important}.suggestion-chip{transition:border-color .2s ease,transform .2s ease,background .2s ease}.suggestion-chip:hover{border-color:#0000004d;background:#00000005;transform:translateY(-1px)}html[data-theme=dark] .suggestion-chip:hover{border-color:#ffffff40;background:#ffffff0a}.typing-glow{position:relative;overflow:visible}.typing-glow:before{content:"";position:absolute;inset:-4px;border-radius:1.5rem;background:linear-gradient(135deg,var(--typing-primary),var(--typing-secondary));opacity:0;z-index:-1;filter:blur(12px);animation:jn-bubbleGlow 3s ease-in-out infinite;will-change:opacity,transform}.input-pill:focus-within{border-color:#0000000f;box-shadow:0 20px 45px #0f0f0f1f}html[data-theme=dark] .input-pill:focus-within{border-color:#ffffff14;box-shadow:0 20px 45px #0006}html[data-theme=dark] .input-dock{background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.4) 100%)}.tool-separator{width:1px;height:20px;background:var(--border);flex-shrink:0}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:640px){.chat-header-subtitle,.header-btn-secondary,.header-online-text{display:none!important}.header-btn-icon{width:30px!important;height:30px!important}.input-dock{padding-top:1.25rem!important}}@media(max-width:960px)and (orientation:portrait){.chat-header{position:relative!important}}@media(max-width:896px)and (orientation:landscape)and (max-height:500px){.chat-header{position:relative!important}}@media(max-width:640px){.quick-actions-bar{flex-wrap:nowrap!important;overflow-x:auto!important}.quick-actions-bar::-webkit-scrollbar{display:none}.suggestion-grid-2col{grid-template-columns:1fr!important}}@media(min-width:1200px){.chat-header{padding-left:max(1rem,calc((100% - 1200px)/2))!important;padding-right:max(1rem,calc((100% - 1200px)/2))!important}}@media print{body{background:#fff!important;padding:0!important}nav,aside,header,[data-print-hide]{display:none!important}.jn-markdown pre{border:1px solid #ddd}.jn-markdown table{display:table}}.jn-menu-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease;border-left:3px solid transparent;-webkit-user-select:none;user-select:none}.jn-menu-item:hover{background:var(--bg-hover);border-left-color:var(--brand)}.jn-menu-item:active{background:var(--brand-light)}
