.assistant-launcher{position:fixed;right:24px;bottom:max(22px,env(safe-area-inset-bottom));z-index:80;display:flex;gap:12px;align-items:center;padding:13px 20px 13px 13px;border:1px solid #ffffff55;border-radius:40px;background:var(--teal);color:white;box-shadow:0 7px 30px #163d3930;min-height:62px;text-align:left;transition:background .15s,transform .15s}
.assistant-launcher:hover{background:var(--teal-hover);transform:translateY(-2px)}
.assistant-symbol{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #ffffff45;border-radius:50%;background:#ffffff0b}
.assistant-symbol svg{width:22px;height:22px}
.assistant-launcher>span:last-child{font-size:12px;font-weight:600;line-height:1.5}
.assistant-launcher small{display:block;color:#d5e1d2;font-size:10px;font-weight:400;margin-top:2px}
.assistant-panel{position:fixed;inset:auto 24px 100px auto;margin:0;padding:0;width:410px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 125px);border:1px solid #d5dfd3;border-radius:16px;background:#f8f7f3;color:var(--ink);box-shadow:0 18px 70px #0a292d38;overflow:hidden}
.assistant-panel::backdrop{background:#153b3022}
.assistant-shell{height:min(650px,calc(100dvh - 127px));display:flex;flex-direction:column;overflow:hidden}
.assistant-header{flex-shrink:0;background:var(--teal);color:#fff;padding:22px 19px 20px 23px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.assistant-header>div>p{font-size:8px;letter-spacing:1.5px;color:#bdcdbb;line-height:1.8}
.assistant-header h2{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin-top:7px;color:#fff}
.assistant-header #assistant-mode{display:block;font-size:10px;color:#d9e2d6;line-height:1.6;margin-top:8px}
.assistant-close{flex-shrink:0;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white}
.assistant-close:hover{background:#ffffff16}.assistant-close svg{width:18px;height:18px}
.assistant-topics{flex-shrink:0;display:grid;grid-template-columns:.85fr 1.25fr 1fr;gap:7px;padding:14px 15px;background:#edf1e8;border-bottom:1px solid #dce4d5}
.assistant-topics button{min-height:44px;border:1px solid #cbd8c6;border-radius:6px;background:#ffffffa6;font-size:11px;line-height:1.4;padding:8px 7px;color:var(--teal);font-weight:600}
.assistant-topics button:hover{background:#fff;border-color:#809c7f}
.assistant-log{flex:1;min-height:70px;overflow-y:auto;overscroll-behavior:contain;padding:19px 17px;scrollbar-width:thin;scrollbar-color:#a9bba3 transparent}
.assistant-log:focus-visible{outline:2px solid #a38b61;outline-offset:-3px}
.assistant-message{padding:19px 18px;border:1px solid #e0e6d9;background:#fffefa;border-radius:0 11px 11px 11px;margin-bottom:16px;overflow-wrap:anywhere}
.assistant-message-label{display:block;font-size:8px;letter-spacing:1.3px;color:#6b826b;line-height:1.7}
.assistant-message h3{font:400 24px/1.25 var(--serif);letter-spacing:-.5px;margin:8px 0 13px}
.assistant-message h3:focus{outline:none}
.assistant-message p{font-size:13px;color:#5f7168;line-height:1.85}
.assistant-message p+p{margin-top:11px}
.assistant-links{display:flex;flex-direction:column;gap:7px;margin-top:16px}
.assistant-links a{font-size:12px;font-weight:600;line-height:1.7;padding:10px 12px;border:1px solid #d6e0cf;border-radius:5px;background:#f0f4eb;color:var(--teal);text-decoration:none}
.assistant-links a:hover{background:#e5eddf;text-decoration:underline}
.assistant-choices{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.assistant-choices button{min-height:44px;border:1px solid #c6d4c0;border-radius:6px;padding:9px 11px;font-size:11px;line-height:1.6;text-align:left;background:white;color:#31553f}
.assistant-choices button:hover{background:#f0f4eb}
.assistant-user-choice{margin:2px 0 14px 35px;width:fit-content;max-width:calc(100% - 35px);padding:10px 15px;border:1px solid #d2ddc9;border-radius:9px 0 9px 9px;background:#e6eddd;font-size:12px;line-height:1.7;color:#3c5944;overflow-wrap:anywhere;justify-self:end}
.assistant-footer{flex-shrink:0;display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:14px 18px 15px;background:#fbfaf6;border-top:1px solid #dfe5d8}
.assistant-footer p{font-size:10px;color:#6c7f6c;line-height:1.7}
.assistant-footer button{min-height:40px;align-self:center;padding:6px 9px;border:1px solid #cfdac8;border-radius:5px;font-size:10px;font-weight:600;color:#31553f;background:#f1f5eb}
.assistant-footer a{grid-column:1/-1;justify-self:start;font-size:10px;line-height:1.7;color:#526f53}
@media(max-width:700px){.assistant-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:10px 16px 10px 10px;min-height:57px;gap:10px}.assistant-launcher>span:last-child{font-size:11px}.assistant-launcher small{font-size:9px}.assistant-panel{inset:auto 10px max(10px,env(safe-area-inset-bottom)) auto;width:calc(100vw - 20px);max-width:420px;max-height:calc(100dvh - 24px)}.assistant-shell{height:min(690px,calc(100dvh - 26px))}.assistant-header{padding:18px}.assistant-header h2{font-size:25px}.assistant-topics{padding:12px;gap:6px}.assistant-topics button{font-size:10px}.assistant-log{padding:16px 13px}.assistant-message{padding:17px 16px}.assistant-message p{font-size:13px}.assistant-footer{padding:12px 15px}.assistant-launcher:focus-visible,.assistant-panel button:focus-visible,.assistant-panel a:focus-visible{outline-offset:2px}}
@media(prefers-reduced-motion:reduce){.assistant-launcher{transition:none}.assistant-launcher:hover{transform:none}}
@media print{.assistant-widget,.assistant-panel{display:none!important}}

.assistant-topics .booking-inactive{background:var(--teal);border-color:var(--teal);opacity:1;cursor:default;pointer-events:none;min-width:0}
