.booking-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000fcc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.booking-modal-overlay.active{opacity:1;pointer-events:auto}.booking-modal-dialog{background:var(--surface-dark);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:500px;position:relative;transform:translateY(20px);transition:transform .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 20px 40px #0006}.booking-modal-overlay.active .booking-modal-dialog{transform:translateY(0)}.booking-modal-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;color:var(--text-secondary);font-size:2rem;line-height:1;cursor:pointer;transition:color .2s ease}.booking-modal-close:hover{color:var(--text-primary)}.booking-modal-header{margin-bottom:var(--space-lg);text-align:center}.booking-modal-options{display:flex;flex-direction:column;gap:var(--space-md)}.modal-option-card{display:flex;align-items:flex-start;padding:var(--space-md);background:var(--surface-light);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:all .2s ease;cursor:pointer}.modal-option-card:hover{border-color:var(--accent-periwinkle);transform:translateY(-2px);background:#8aa8ff0d}.modal-option-icon{flex-shrink:0;width:40px;height:40px;background:#8aa8ff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:var(--space-md);color:var(--accent-periwinkle)}.modal-option-icon svg{width:20px;height:20px}.modal-option-content{flex:1}.modal-option-arrow{margin-left:var(--space-sm);color:var(--text-secondary);transition:transform .2s ease}.modal-option-card:hover .modal-option-arrow{transform:translate(4px);color:var(--accent-periwinkle)}.pulse-indicator{display:inline-block;width:8px;height:8px;background-color:#4caf50;border-radius:50%;box-shadow:0 0 #4caf5066;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{box-shadow:0 0 #4caf5066}70%{box-shadow:0 0 0 10px #4caf5000}to{box-shadow:0 0 #4caf5000}}.mcp-info{margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px dashed var(--border-color)}.chat-widget-container{position:fixed;bottom:2rem;right:2rem;z-index:9999;font-family:var(--font-body),sans-serif}.chat-widget-toggle{width:60px;height:60px;border-radius:50%;background-color:var(--accent-periwinkle, #8AA8FF);color:var(--bg-primary, #00000F);border:none;cursor:pointer;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.chat-widget-toggle:hover{transform:scale(1.1)}.chat-widget-toggle svg{width:30px;height:30px;fill:currentColor}.chat-widget-window{position:absolute;bottom:80px;right:0;width:350px;height:500px;max-height:calc(100vh - 120px);background:#ffffff26;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);border-radius:16px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease}.chat-widget-window.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.chat-widget-header{background:#00000f66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.chat-widget-header h3{margin:0;font-family:var(--font-display),sans-serif;font-size:1.1rem;letter-spacing:.5px}.chat-widget-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.5rem;line-height:1;opacity:.8;transition:opacity .2s}.chat-widget-close:hover{opacity:1}.chat-widget-messages{flex-grow:1;padding:1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;background-color:transparent}@keyframes message-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message{max-width:85%;padding:.85rem 1.15rem;border-radius:18px;font-size:.95rem;line-height:1.5;word-wrap:break-word;animation:message-slide-up .3s ease-out forwards}.chat-message.user{align-self:flex-end;background:linear-gradient(135deg,#8aa8ffe6,#6b90ffe6);color:var(--bg-primary, #00000F);border-bottom-right-radius:4px;box-shadow:0 4px 12px #8aa8ff33}.chat-message.clara{align-self:flex-start;background:#f0f0f0b3;color:#222;border-bottom-left-radius:4px;box-shadow:0 4px 12px #0000000d}.typing-indicator{display:flex;align-items:center;gap:4px;padding:10px 14px}.typing-dot{width:6px;height:6px;background-color:#888;border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-widget-input-area{display:flex;padding:1rem;background:#fff3;border-top:1px solid rgba(255,255,255,.2)}.chat-widget-input-area input{flex-grow:1;border:1px solid rgba(255,255,255,.3);background:#fff9;border-radius:24px;padding:.6rem 1.2rem;outline:none;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.chat-widget-input-area input:focus{border-color:var(--accent-periwinkle, #8AA8FF);box-shadow:0 0 0 3px #8aa8ff33}.chat-widget-input-area button{background:var(--bg-primary, #00000F);color:#fff;border:none;border-radius:50%;width:40px;height:40px;margin-left:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s,background-color .2s}.chat-widget-input-area button:hover:not(:disabled){transform:scale(1.05);background-color:#222}.chat-widget-input-area button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.chat-widget-window{position:fixed;bottom:0;right:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0}}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#0a0a0a66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.success-overlay.active{opacity:1;visibility:visible}.success-modal{position:relative;background:var(--surface);border:1px solid var(--border);padding:3rem 2rem;border-radius:24px;text-align:center;max-width:500px;width:90%;transform:translateY(20px);transition:transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 24px 48px #0003}.success-overlay.active .success-modal{transform:translateY(0)}.success-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;transition:color .2s ease}.success-close:hover{color:var(--text-primary)}.success-icon{width:64px;height:64px;margin:0 auto 1.5rem;background:rgba(var(--accent-rgb),.1);color:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center}.success-icon svg{width:32px;height:32px}.success-modal h2{margin-bottom:.5rem}.success-modal p{color:var(--text-secondary);margin-bottom:2rem}.calendar-options{display:flex;flex-direction:column;gap:12px}.calendar-options .btn-secondary{width:100%;justify-content:center}
