:root{--mai-ink:#171717;--mai-ivory:#f6f2ea;--mai-gold:#b8924a;--mai-line:#ddd5c7}
#map-ai-launcher{position:fixed;right:22px;bottom:22px;z-index:999997;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;background:var(--mai-ink);color:#fff;padding:15px 20px;box-shadow:0 16px 45px rgba(0,0,0,.25);font:700 14px/1.2 Montserrat,Arial,sans-serif;cursor:pointer;pointer-events:auto!important;touch-action:manipulation}#map-ai-launcher span{color:var(--mai-gold);font-size:20px}
#map-ai-panel{position:fixed;right:22px;bottom:86px;z-index:999998;width:min(410px,calc(100vw - 28px));max-height:min(720px,calc(100dvh - 110px));overflow:hidden;background:#fff;color:var(--mai-ink);border:1px solid var(--mai-line);box-shadow:0 24px 70px rgba(0,0,0,.27);font:14px/1.5 Montserrat,Arial,sans-serif;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px) scale(.98);transition:.18s ease;display:flex;flex-direction:column}#map-ai-panel[hidden]{display:none!important}#map-ai-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
#map-ai-panel>header{display:flex;justify-content:space-between;align-items:flex-start;background:var(--mai-ink);color:#fff;padding:18px 20px}#map-ai-panel>header div{display:grid;gap:2px}#map-ai-panel header small{font-size:9px;letter-spacing:.16em;color:var(--mai-gold);font-weight:800}#map-ai-panel header strong{font-size:18px}#map-ai-panel header span{font-size:11px;color:#ddd}#map-ai-panel header i{display:inline-block;width:7px;height:7px;background:#65bd7b;border-radius:50%;margin-right:4px}#map-ai-close{border:0;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}
#map-ai-progress{height:3px;background:#eee}#map-ai-progress span{display:block;height:100%;background:var(--mai-gold);transition:.25s ease}
#map-ai-messages{max-height:112px;overflow:auto;padding:12px 18px 2px;display:grid;gap:8px}.map-ai-msg{max-width:88%;padding:9px 11px;background:var(--mai-ivory);border-radius:0 12px 12px 12px}.map-ai-msg.user{justify-self:end;background:var(--mai-ink);color:#fff;border-radius:12px 0 12px 12px}.map-ai-msg.notice{background:#FFF3CF;color:#5B4100;border-left:4px solid var(--mai-gold);font-weight:700}
#map-ai-ask{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 18px 0}#map-ai-ask input{min-width:0;border:1px solid #bbb4a8;padding:10px;font:inherit}#map-ai-ask button{border:0;background:var(--mai-ink);color:#fff;padding:0 12px;font:700 11px Montserrat,Arial,sans-serif;cursor:pointer}#map-ai-ask button:disabled{opacity:.55}
#map-ai-form{padding:10px 18px 16px;overflow:auto}.map-ai-step>p{font-size:17px;font-weight:800;margin:3px 0 11px}.map-ai-step label{display:grid;gap:5px;font-size:12px;font-weight:800;margin:8px 0}.map-ai-step input,.map-ai-step textarea{box-sizing:border-box;width:100%;border:1px solid #928A7D;border-radius:0;padding:11px;font:inherit;background:#fff}.map-ai-step [aria-invalid="true"]{border:2px solid #B3452D!important;background:#FFF7F4!important}.map-ai-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-ai-choices button,.map-ai-next,.map-ai-submit{border:1px solid var(--mai-line);background:#fff;color:var(--mai-ink);padding:11px 10px;font:700 12px/1.3 Montserrat,Arial,sans-serif;cursor:pointer}.map-ai-choices button:hover,.map-ai-choices button.selected{border-color:var(--mai-gold);background:var(--mai-ivory)}.map-ai-next,.map-ai-submit{width:100%;margin-top:10px;background:var(--mai-gold);border-color:var(--mai-gold);font-size:13px}.map-ai-submit:disabled{opacity:.6}.map-ai-upload{border:1px dashed #aaa;padding:10px}.map-ai-upload small{font-weight:400;color:#666}.map-ai-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;line-height:1.4}.map-ai-consent input{width:auto;margin-top:3px}.map-ai-hp{position:absolute!important;left:-9999px!important;width:1px!important}.map-ai-step :focus,#map-ai-launcher:focus,#map-ai-close:focus{outline:3px solid #5b91d8;outline-offset:2px}
#map-ai-complete{padding:34px 25px;text-align:center}#map-ai-complete b{display:block;font-size:20px}#map-ai-complete a{display:inline-block;margin-top:10px;background:var(--mai-gold);color:var(--mai-ink);padding:12px 16px;text-decoration:none;font-weight:800}#map-ai-panel>footer{text-align:center;border-top:1px solid #eee;padding:9px;font-size:10px;color:#777}#map-ai-panel>footer a{color:#5f5544;text-decoration:underline}
@media(max-width:900px){#map-ai-launcher{min-height:48px;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}#map-ai-panel{max-height:calc(100dvh - 104px)}}
@media(max-width:600px){#map-ai-launcher{padding:13px 16px;font-size:13px}#map-ai-panel{inset:max(8px,env(safe-area-inset-top)) 7px calc(72px + env(safe-area-inset-bottom));width:auto;max-height:none}#map-ai-panel>header{padding:14px 16px}#map-ai-messages{max-height:92px;padding-left:14px;padding-right:14px}#map-ai-ask{padding-left:14px;padding-right:14px}#map-ai-form{padding:10px 14px 14px}.map-ai-choices{grid-template-columns:1fr}.map-ai-choices button,.map-ai-next,.map-ai-submit{min-height:46px}.map-ai-step input,.map-ai-step textarea,#map-ai-ask input{font-size:16px}.map-ai-step>p{font-size:16px}}
@media(prefers-reduced-motion:reduce){#map-ai-panel{transition:none}}
