:root{--chat-accent: #0d1a36;--chat-accent-mid: #1a3061;--chat-accent-deep: #050d1f;--chat-cta: #901d16;--chat-cta-deep: #6f1610;--chat-blue: #28506c;--chat-surface: #ffffff;--chat-bg: #f6f8fb;--chat-bg-soft: #eef2f8;--chat-border: #e2e8f0;--chat-border-strong: #cbd5e1;--chat-text: #0f172a;--chat-muted: #64748b;--chat-user-gradient: linear-gradient(135deg, #0d1a36 0%, #1a3061 50%, #28506c 100%);--chat-cta-gradient: linear-gradient(135deg, #901d16 0%, #b1271f 100%);--chat-shadow: 0 4px 14px rgba(13, 26, 54, .06), 0 14px 40px rgba(13, 26, 54, .14);--chat-shadow-strong: 0 24px 60px rgba(13, 26, 54, .2);--chat-radius: 22px;--chat-radius-sm: 14px}.chatbot-container{position:fixed;bottom:max(20px,env(safe-area-inset-bottom,0px));right:max(20px,env(safe-area-inset-right,0px));z-index:9999;font-family:Inter,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.45}.chat-button{width:64px;height:64px;border-radius:50%;background:var(--chat-user-gradient);border:none;color:#fff;cursor:pointer;box-shadow:0 12px 30px #0d1a3652;display:flex;align-items:center;justify-content:center;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease;position:relative}.chat-button:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 18px 40px #0d1a366b}.chat-button:focus-visible{outline:3px solid rgba(40,80,108,.55);outline-offset:4px}.chat-button-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid rgba(13,26,54,.55);animation:chat-pulse 2.4s ease-out infinite;pointer-events:none}@keyframes chat-pulse{0%{transform:scale(1);opacity:.85}70%{transform:scale(1.18);opacity:0}to{opacity:0}}.chat-window{width:min(410px,calc(100vw - 28px));height:min(640px,calc(100dvh - 28px - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px)));max-height:min(640px,calc(100vh - 28px - env(safe-area-inset-bottom,0px)));background:var(--chat-surface);border-radius:var(--chat-radius);box-shadow:var(--chat-shadow-strong);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(13,26,54,.1);animation:slideUp .34s cubic-bezier(.22,1,.36,1)}.chat-window.minimized{height:auto}.chat-window.minimized .chat-header{border-radius:var(--chat-radius)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{flex-shrink:0;background:var(--chat-user-gradient);color:#fff;padding:16px 14px 16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;position:relative;overflow:visible}.chat-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px 200px at 100% 0%,rgba(255,255,255,.1),transparent 60%);pointer-events:none}.chat-header-content{display:flex;align-items:center;gap:12px;min-width:0;position:relative;z-index:1}.chat-header-avatar{width:44px;height:44px;background:#ffffff29;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);flex-shrink:0;position:relative}.chat-header-avatar:after{content:"";position:absolute;bottom:1px;right:1px;width:11px;height:11px;background:#22c55e;border:2px solid var(--chat-accent);border-radius:50%}.chat-header-info{min-width:0}.chat-header-info h3{margin:0;font-size:15.5px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-info p{margin:2px 0 0;font-size:11.5px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}.chat-header-actions{display:flex;gap:6px;position:relative;flex-shrink:0;z-index:1}.header-button{background:#ffffff29;border:none;color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .15s}.header-button:hover{background:#ffffff47}.header-button:active{transform:scale(.94)}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--chat-surface);border-radius:var(--chat-radius-sm);box-shadow:0 10px 40px #0d1a362e;min-width:188px;overflow:hidden;z-index:1000;border:1px solid var(--chat-border);animation:slideDown .22s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;padding:12px 16px;border:none;background:var(--chat-surface);color:var(--chat-text);text-align:left;cursor:pointer;font-size:14px;font-weight:500;font-family:inherit;transition:background .2s;display:flex;align-items:center;gap:8px}.menu-item:hover{background:var(--chat-bg-soft);color:var(--chat-accent)}.menu-item:not(:last-child){border-bottom:1px solid var(--chat-border)}.menu-item:disabled{opacity:.45;cursor:not-allowed;background:var(--chat-bg)}.menu-item:disabled:hover{background:var(--chat-bg)}.contact-info{width:100%}.contact-item{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--chat-text);padding:10px 14px;background:var(--chat-bg);border-radius:var(--chat-radius-sm);border-left:3px solid var(--chat-accent);margin-bottom:8px}.contact-item:last-child{margin-bottom:0}.contact-glyph{flex-shrink:0;line-height:1.2;font-size:15px}.contact-item a{color:var(--chat-accent);text-decoration:none;font-weight:600;word-break:break-word}.contact-item a:hover{color:var(--chat-cta);text-decoration:underline}.eligibility-result{width:100%}.eligible-badge{margin-top:12px;padding:12px 16px;border-radius:var(--chat-radius-sm);display:flex;align-items:center;gap:10px;font-weight:600;animation:slideIn .3s ease-out;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;box-shadow:0 8px 24px #16a34a4d}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.badge-icon{width:28px;height:28px;background:#ffffff47;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.badge-text{font-size:14px;flex:1}.chat-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px 16px;background:radial-gradient(600px 280px at 100% 0%,rgba(40,80,108,.05),transparent 70%),linear-gradient(180deg,var(--chat-bg) 0%,#ffffff 100%);display:flex;flex-direction:column;gap:14px}.chat-body::-webkit-scrollbar{width:6px}.chat-body::-webkit-scrollbar-track{background:transparent}.chat-body::-webkit-scrollbar-thumb{background:#0d1a362e;border-radius:3px}.chat-body::-webkit-scrollbar-thumb:hover{background:#0d1a3652}.message{display:flex;flex-direction:column;animation:fadeIn .28s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.bot{align-items:flex-start}.message.user{align-items:flex-end}.message-content{max-width:min(88%,320px);padding:12px 16px;border-radius:18px;word-wrap:break-word}.message.bot .message-content{background:var(--chat-surface);border:1px solid var(--chat-border);border-bottom-left-radius:6px;box-shadow:0 1px 2px #0d1a360a}.message.user .message-content{background:var(--chat-user-gradient);color:#fff;border-bottom-right-radius:6px;box-shadow:0 6px 18px #0d1a3642}.message-text{font-size:14px;line-height:1.6;white-space:pre-wrap;color:var(--chat-text)}.message.user .message-text{color:#fffffffa}.message-time{font-size:11px;color:var(--chat-muted);margin-top:4px;padding:0 6px}.suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;padding:0 2px}.suggestion-button{background:var(--chat-surface);border:1px solid var(--chat-border-strong);color:var(--chat-accent);padding:11px 12px;border-radius:14px;cursor:pointer;font-size:12.5px;font-weight:600;font-family:inherit;transition:background .22s,color .22s,box-shadow .22s,border-color .22s,transform .15s;text-align:center;line-height:1.35}.suggestion-button:hover{background:var(--chat-accent);border-color:var(--chat-accent);color:#fff;box-shadow:0 8px 20px #0d1a3638;transform:translateY(-1px)}.booking-button{margin-top:12px;background:var(--chat-cta-gradient);color:#fff;border:none;padding:13px 20px;border-radius:14px;cursor:pointer;font-size:14px;font-weight:700;font-family:inherit;letter-spacing:.01em;transition:filter .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 8px 22px #901d1652;display:inline-flex;align-items:center;justify-content:center;gap:8px}.booking-button:before{content:"📅";font-size:15px}.booking-button:hover{filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 14px 30px #901d1666}.booking-button:active{transform:scale(.98)}.typing-indicator{display:flex;gap:5px;padding:6px 0}.typing-indicator span{width:7px;height:7px;background:var(--chat-accent);border-radius:50%;animation:bounce 1.35s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:-.28s}.typing-indicator span:nth-child(2){animation-delay:-.14s}@keyframes bounce{0%,80%,to{transform:scale(.55);opacity:.5}40%{transform:scale(1);opacity:1}}.feedback-container{margin-top:14px;display:flex;flex-direction:column;gap:12px}.star-rating{display:flex;gap:6px;justify-content:center}.star{cursor:pointer;color:#cbd5e1;transition:color .2s,transform .15s}.star:hover,.star.filled{color:#f59e0b;fill:#f59e0b}.star:active{transform:scale(.92)}.feedback-textarea{width:100%;padding:12px 14px;border:1px solid var(--chat-border);border-radius:12px;resize:none;font-family:inherit;font-size:14px;background:var(--chat-surface)}.feedback-textarea:focus{outline:none;border-color:var(--chat-accent);box-shadow:0 0 0 3px #0d1a361f}.feedback-submit-button{background:var(--chat-user-gradient);color:#fff;border:none;padding:12px 20px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;transition:filter .2s,transform .15s}.feedback-submit-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.chat-footer{flex-shrink:0;padding:12px 14px 14px;padding-bottom:max(14px,env(safe-area-inset-bottom,0px));background:#fffffff0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--chat-border)}.input-container{display:flex;align-items:center;gap:10px}.chat-input{flex:1;min-width:0;padding:12px 18px;border:1px solid var(--chat-border);border-radius:999px;font-size:14px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;background:var(--chat-surface);color:var(--chat-text)}.chat-input::placeholder{color:#94a3b8}.chat-input:focus{border-color:var(--chat-accent);box-shadow:0 0 0 3px #0d1a361a}.chat-input:disabled{background:var(--chat-bg);cursor:not-allowed;opacity:.85}.send-button{width:46px;height:46px;flex-shrink:0;background:var(--chat-user-gradient);border:none;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,filter .2s,box-shadow .2s;box-shadow:0 6px 18px #0d1a3647}.send-button:hover:not(:disabled){transform:scale(1.08);filter:brightness(1.06);box-shadow:0 10px 24px #0d1a3657}.send-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media (max-width: 480px){.suggestions{grid-template-columns:1fr}.chatbot-container{bottom:max(12px,env(safe-area-inset-bottom,0px));right:max(12px,env(safe-area-inset-right,0px))}.chat-window{width:calc(100vw - 20px);border-radius:var(--chat-radius)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,-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;margin:0;padding:0;background:transparent}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh;min-height:100dvh;position:relative;isolation:isolate}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}
