#compass-chat-widget *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--cw-green:#3aaa35;--cw-green-dark:#1e6b28;--cw-green-deep:#155120;--cw-green-light:#5dc957;--cw-primary:#3aaa35;--cw-primary-dark:#1e6b28;--cw-primary-deep:#155120;--cw-primary-light:#5dc957;--cw-white:#ffffff;--cw-off-white:#f7faf7;--cw-muted:#6b7280;--cw-text:#1a2e1a;--cw-text-light:#4b5563;--cw-border:#d1e8d0;--cw-border-light:#e5f0e4;--cw-error:#c0392b;--cw-error-bg:#fdf2f1;--cw-success:#3aaa35;--cw-radius:16px;--cw-radius-sm:12px;--cw-shadow:0 24px 64px rgba(21, 81, 32, .18), 0 4px 16px rgba(21, 81, 32, .1);--cw-shadow-sm:0 2px 10px rgba(21, 81, 32, .06);--cw-ease:cubic-bezier(.4, 0, .2, 1);--cw-ease-out:cubic-bezier(0, 0, .2, 1);--cw-gold:#d1e8d0;--cw-gold-light:#e5f0e4;--cw-gold-pale:#f7faf7;--cw-cream:#f7faf7;--cw-navy:#3aaa35;--cw-navy-deep:#155120;--cw-navy-light:#1e6b28}#compass-chat-launcher{display:flex;position:fixed;bottom:28px;right:28px;width:56px;height:56px;border-radius:50%;background:var(--cw-green);border:none;cursor:pointer;z-index:9999;align-items:center;justify-content:center;box-shadow:0 4px 20px #3aaa3573;transition:transform .2s var(--cw-ease),box-shadow .2s var(--cw-ease)}#compass-chat-launcher:hover{transform:scale(1.06);box-shadow:0 6px 24px #3aaa358c}#compass-chat-launcher svg{width:24px;height:24px;fill:var(--cw-white)}#compass-chat-window{display:flex;flex-direction:column;position:fixed;bottom:104px;right:28px;width:390px;max-height:620px;background:var(--cw-off-white);border-radius:var(--cw-radius);box-shadow:var(--cw-shadow);overflow:hidden;z-index:9998;transform-origin:bottom right;transition:opacity .32s var(--cw-ease-out),transform .32s var(--cw-ease-out);border:1px solid rgba(209,232,208,.6)}#compass-chat-window.hidden{opacity:0;pointer-events:none;transform:scale(.92) translateY(14px)}.cw-header{background:linear-gradient(160deg,var(--cw-green-deep) 0%,var(--cw-green-dark) 100%);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.cw-header-info{flex:1}.cw-header-brand{font-size:17px;font-weight:700;color:var(--cw-white);line-height:1.2;letter-spacing:.01em}.cw-header-brand span{font-weight:400;color:#ffffffd9}.cw-header-subtitle{font-size:10px;font-weight:500;color:#ffffffb3;margin-top:4px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:0}.cw-online-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cw-green-light);margin-right:6px;flex-shrink:0;box-shadow:0 0 0 2px #5dc95740}.cw-close-btn{background:#ffffff1f;border:1.5px solid rgba(255,255,255,.35);cursor:pointer;color:#ffffffe6;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;flex-shrink:0}.cw-close-btn:hover{background:#ffffff38;border-color:#ffffff8c}.cw-close-btn svg,.cw-close-btn svg path{fill:none!important;stroke:#ffffffe6!important}.cw-body{flex:1;overflow-y:auto;padding:24px 20px 20px;background:var(--cw-off-white);color:var(--cw-text);scrollbar-width:thin;scrollbar-color:var(--cw-border) transparent}.cw-body::-webkit-scrollbar{width:4px}.cw-body::-webkit-scrollbar-track{background:transparent}.cw-body::-webkit-scrollbar-thumb{background:var(--cw-border);border-radius:2px}.cw-lead-form{animation:cw-form-enter .5s var(--cw-ease-out) both}@keyframes cw-form-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cw-form-heading{display:none}.cw-form-sub{font-size:13px;font-weight:400;color:var(--cw-muted);margin-bottom:20px;line-height:1.6}.cw-lead-form .cw-field,.cw-lead-form .cw-consent-wrap{animation:cw-field-enter .4s var(--cw-ease-out) both}@keyframes cw-field-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cw-form-divider{display:none}.cw-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cw-field{position:relative;margin-bottom:18px}.cw-field input{width:100%;padding:8px 0;border:none;border-bottom:1.5px solid var(--cw-border);background:transparent;font-size:14px;font-weight:400;color:var(--cw-text);outline:none;border-radius:0;transition:border-color .2s var(--cw-ease)}.cw-field input::placeholder{color:#9ca3af}.cw-field input:focus{border-bottom-color:var(--cw-green)}.cw-field input.error{border-bottom-color:var(--cw-error)}.cw-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cw-field-underline{display:none}.cw-field-error{font-size:11px;color:var(--cw-error);margin-top:5px;margin-left:4px;display:none;font-weight:400}.cw-field-error.visible{display:block}.cw-consent-wrap{margin:24px 0 18px;display:flex;align-items:flex-start;gap:10px}.cw-consent-wrap input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--cw-border);border-radius:5px;background:var(--cw-white);cursor:pointer;flex-shrink:0;margin-top:1px;transition:border-color .2s var(--cw-ease),background .2s var(--cw-ease),box-shadow .2s var(--cw-ease);position:relative}.cw-consent-wrap input[type=checkbox]:hover{border-color:var(--cw-green)}.cw-consent-wrap input[type=checkbox]:checked{background:var(--cw-green);border-color:var(--cw-green);box-shadow:0 2px 6px #3aaa3533}.cw-consent-wrap input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}.cw-consent-wrap label{font-size:11.5px;color:var(--cw-text-light);line-height:1.6;cursor:pointer}.cw-consent-err{font-size:11px;color:var(--cw-error);margin-top:-14px;margin-bottom:14px;margin-left:28px;display:none}.cw-consent-err.visible{display:block}.cw-error-banner{background:var(--cw-error-bg);border-left:3px solid var(--cw-error);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--cw-error);margin-bottom:16px;display:none;line-height:1.5}.cw-error-banner.visible{display:block}.cw-submit-btn{width:100%;padding:13px 20px;background:var(--cw-green);color:var(--cw-white);border:none;border-radius:50px;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s var(--cw-ease);margin-top:8px}.cw-submit-btn:hover{background:var(--cw-green-dark)}.cw-submit-btn:active{background:var(--cw-green-deep)}.cw-submit-btn:disabled{background:#b0b8c4;cursor:not-allowed}.cw-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:cw-spin .7s linear infinite;vertical-align:middle}@keyframes cw-spin{to{transform:rotate(360deg)}}.cw-success{text-align:center;padding:36px 16px;animation:cw-form-enter .45s var(--cw-ease-out) both}.cw-success-icon{width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,var(--cw-green) 0%,var(--cw-green-dark) 100%);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;box-shadow:0 8px 24px #1e6b2840}.cw-success-icon svg{width:26px;height:26px;fill:none;stroke:var(--cw-white);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.cw-success h3{font-size:20px;font-weight:600;color:var(--cw-green-dark);margin-bottom:8px}.cw-success p{font-size:13px;color:var(--cw-muted);line-height:1.6}.cw-gold-rule{width:36px;height:2px;background:linear-gradient(90deg,var(--cw-green),var(--cw-green-light));margin:14px auto;border-radius:1px}@media (max-width:420px){#compass-chat-window{width:calc(100vw - 20px);right:10px;bottom:90px;max-height:calc(100vh - 110px)}}.cw-chat-wrap{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--cw-off-white)}.cw-session-banner{background:#fffbeb;border-left:3px solid #f59e0b;border-radius:8px;padding:10px 14px;font-size:12px;color:#92400e;margin-bottom:8px;line-height:1.5;flex-shrink:0}.cw-session-banner.hidden{display:none}.cw-messages{flex:1;overflow-y:auto;padding:16px 16px 12px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--cw-border) transparent;background:var(--cw-off-white)}.cw-messages::-webkit-scrollbar{width:4px}.cw-messages::-webkit-scrollbar-track{background:transparent}.cw-messages::-webkit-scrollbar-thumb{background:var(--cw-border);border-radius:2px}.cw-msg-row{display:flex;align-items:flex-end;gap:8px;animation:cw-msg-slide .22s var(--cw-ease-out) both}@keyframes cw-msg-slide{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cw-msg-user{justify-content:flex-end}.cw-msg-assistant,.cw-msg-system{justify-content:flex-start}.cw-bubble{max-width:80%;padding:11px 15px;border-radius:18px;font-size:14px;line-height:1.55;word-break:break-word}.cw-bubble-user{background:var(--cw-green);color:var(--cw-white);border-bottom-right-radius:5px;box-shadow:0 2px 8px #3aaa3533}.cw-bubble-assistant{background:var(--cw-white);color:var(--cw-text);border-bottom-left-radius:5px;box-shadow:0 1px 6px #15512014,0 0 0 1px #d1e8d099;padding:0;overflow:hidden}.cw-bubble-assistant:not(:has(.cw-rich-card)):not(:has(.cw-typing-bubble)):not(:has(.cw-escalation)){padding:11px 15px}.cw-bubble-assistant p{margin:0 0 6px;line-height:1.55}.cw-bubble-assistant p:last-child{margin-bottom:0}.cw-bubble-assistant strong{font-weight:600;color:var(--cw-green-dark)}.cw-bubble-assistant em{font-style:italic}.cw-staff-label{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#3b82f6;padding:6px 15px 2px;opacity:.8}.cw-staff-auth-body{padding:4px 15px 10px}.cw-auth-btns{display:flex;flex-direction:row;gap:8px;padding:4px 15px 14px}.cw-auth-yes,.cw-auth-no{flex:1;padding:9px 14px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .15s;text-align:center}.cw-auth-yes:hover,.cw-auth-no:hover{opacity:.85}.cw-auth-yes{background:var(--cw-green);color:#fff}.cw-auth-no{background:#f1f5f9;color:#64748b;border:1.5px solid #e2e8f0}.cw-auth-confirmed{color:#16a34a;font-size:13px;font-weight:600;padding:0 0 10px;display:block}.cw-auth-declined,.cw-auth-sent{color:#94a3b8;font-size:13px;padding:0 0 10px;display:block}.cw-list{margin:6px 0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.cw-list li{line-height:1.5;padding-left:2px}ol.cw-list{list-style:decimal}ul.cw-list{list-style:disc}ul.cw-list-cards{list-style:none;padding-left:0}ul.cw-list-cards li{border-left:3px solid var(--cw-green);padding:6px 0 6px 10px;background:var(--cw-off-white);border-radius:0 6px 6px 0}ul.cw-list-cards li strong{color:var(--cw-green-dark)}.cw-list-desc{color:var(--cw-text-light)}.cw-bubble-system{background:var(--cw-error-bg);color:var(--cw-error);border:1px solid rgba(192,57,43,.12);border-bottom-left-radius:5px;font-size:12.5px}.cw-typing-bubble{display:flex!important;align-items:center;gap:5px;padding:13px 17px!important;min-width:58px}.cw-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b0c8af;animation:cw-typing-bounce 1.2s ease-in-out infinite}.cw-dot:nth-child(2){animation-delay:.18s}.cw-dot:nth-child(3){animation-delay:.36s}@keyframes cw-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}.cw-input-row{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--cw-white);border-top:1px solid var(--cw-border);flex-shrink:0}.cw-text-input{flex:1;resize:none;border:1.5px solid var(--cw-border);border-radius:22px;padding:10px 16px;font-size:14px;color:var(--cw-text);background:var(--cw-off-white);outline:none;line-height:1.45;max-height:96px;overflow-y:auto;transition:border-color .2s var(--cw-ease),box-shadow .2s var(--cw-ease);scrollbar-width:thin}.cw-text-input:focus{border-color:var(--cw-green);box-shadow:0 0 0 3px #3aaa3514;background:var(--cw-white)}.cw-text-input::placeholder{color:var(--cw-muted);font-weight:300}.cw-text-input:disabled{background:var(--cw-off-white);color:var(--cw-muted);cursor:not-allowed}.cw-send-btn{width:38px;height:38px;border-radius:50%;background:#9ca3af;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s var(--cw-ease),transform .15s var(--cw-ease)}.cw-send-btn svg{width:20px;height:20px;stroke:var(--cw-white);fill:none!important}.cw-send-btn:hover{background:var(--cw-green);transform:scale(1.05)}.cw-send-btn:active{background:var(--cw-green-dark);transform:scale(.97)}.cw-send-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.cw-rich-card{padding:14px 16px}.cw-rich-label{font-size:13px;font-weight:500;color:var(--cw-green-dark);margin-bottom:12px;line-height:1.4}.cw-calendar-card{padding:16px!important}.cw-cal-header{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--cw-green-dark);margin-bottom:14px}.cw-cal-icon{width:16px;height:16px;color:var(--cw-green);flex-shrink:0}.cw-date-stack{display:flex;flex-direction:column;gap:0;margin-bottom:12px;border:1.5px solid var(--cw-border);border-radius:10px;overflow:hidden}.cw-date-slot{position:relative;padding:10px 14px;cursor:pointer;background:var(--cw-white);transition:background .15s var(--cw-ease);-webkit-user-select:none;user-select:none;overflow:hidden}.cw-date-slot:hover{background:var(--cw-off-white)}.cw-date-slot:first-child{border-bottom:1.5px solid var(--cw-border)}.cw-slot-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--cw-muted);margin-bottom:3px}.cw-slot-inner{display:flex;align-items:center;justify-content:space-between;gap:8px}.cw-slot-display{font-size:14px;font-weight:400;color:#9ca3af;flex:1;transition:color .2s var(--cw-ease),font-weight .2s}.cw-date-slot.cw-slot-filled .cw-slot-display{color:var(--cw-text);font-weight:500}.cw-slot-chevron{width:16px;height:16px;color:var(--cw-border);flex-shrink:0;transition:color .2s}.cw-date-slot:hover .cw-slot-chevron,.cw-date-slot.cw-slot-filled .cw-slot-chevron{color:var(--cw-green)}.cw-date-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;z-index:1}.cw-date-connector{display:flex;align-items:center;justify-content:center;height:0;position:relative;z-index:1}.cw-connector-line{display:none}.cw-nights-label{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:var(--cw-green);color:var(--cw-white);font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap;box-shadow:0 2px 8px #3aaa354d;transition:opacity .2s}.cw-nights-label.hidden{display:none}.cw-date-error{font-size:11px;color:var(--cw-error);background:var(--cw-error-bg);border-radius:6px;padding:6px 10px;margin-bottom:8px}.cw-date-error.hidden{display:none}.cw-input-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--cw-muted)}.cw-confirm-btn{width:100%;padding:10px 14px;background:var(--cw-green);color:var(--cw-white);border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s var(--cw-ease),box-shadow .2s var(--cw-ease);box-shadow:0 3px 12px #3aaa3540;margin-top:4px}.cw-confirm-btn:hover{background:var(--cw-green-dark)}.cw-confirm-btn:active{background:var(--cw-green-deep)}.cw-confirm-btn:disabled{background:#b0b8c4;box-shadow:none;cursor:not-allowed}.cw-counter-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--cw-border-light)}.cw-counter-row:last-of-type{border-bottom:none;margin-bottom:8px}.cw-counter-label{font-size:13px;font-weight:400;color:var(--cw-text)}.cw-counter{display:flex;align-items:center;gap:12px}.cw-counter-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--cw-border);background:var(--cw-white);color:var(--cw-green-dark);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;padding:0;font-weight:400}.cw-counter-btn:hover{border-color:var(--cw-green);background:#f0faf0}.cw-counter-btn:disabled{opacity:.4;cursor:not-allowed}.cw-counter-val{font-size:15px;font-weight:500;color:var(--cw-text);min-width:20px;text-align:center}.cw-booking-card{background:linear-gradient(145deg,#f0faf0,#e8f5e8);border:1px solid rgba(58,170,53,.15)}.cw-booking-fallback-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:500;color:var(--cw-green-dark);text-decoration:underline;text-underline-offset:2px;padding:4px 0;opacity:.8;transition:opacity .15s}.cw-booking-fallback-link:hover{opacity:1}.cw-book-now-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:var(--cw-green);color:var(--cw-white);border:none;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .15s var(--cw-ease),box-shadow .2s var(--cw-ease);box-shadow:0 4px 16px #3aaa3559;letter-spacing:.02em;margin-top:4px}.cw-book-now-btn svg{width:16px;height:16px;stroke:var(--cw-white);flex-shrink:0}.cw-book-now-btn:hover{background:var(--cw-green-dark)}.cw-book-now-btn:active{background:var(--cw-green-deep)}.cw-escalation{display:flex;align-items:center;gap:10px;padding:12px 14px;font-size:13.5px;color:var(--cw-muted)}.cw-escalation-spinner{display:flex;align-items:center;gap:4px}.cw-escalation .cw-dot{background:#b0c8af;width:6px;height:6px}