.gadi-concierge-shell,.gadi-concierge-shell *{box-sizing:border-box}
.gadi-concierge-shell{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:1200;font-family:var(--gadi-font,"Nimbus Sans",sans-serif);font-style:normal;color:var(--gadi-fg,#0D0D0F)}

/* Launcher — circular GADI icon with a clear chat-support cue. */
.gadi-concierge-launcher{position:relative;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:var(--gadi-fg,#0D0D0F);cursor:pointer}
.gadi-concierge-launcher:focus-visible,.gadi-concierge-close:focus-visible,.gadi-concierge-prompt:focus-visible,.gadi-concierge-send:focus-visible,.gadi-concierge-action:focus-visible{outline:2px solid var(--gadi-accent,#315CFF);outline-offset:4px}
.gadi-concierge-launcher-visual{position:relative;display:block;width:62px;height:62px;flex:0 0 62px;border-radius:50%;background:#0D0D0F;box-shadow:0 18px 44px rgba(13,13,15,.22);transition:transform .18s ease,box-shadow .18s ease}
html[data-theme="dark"] .gadi-concierge-launcher-visual{box-shadow:0 18px 48px rgba(0,0,0,.52)}
.gadi-concierge-launcher:hover .gadi-concierge-launcher-visual{transform:translateY(-2px) scale(1.015);box-shadow:0 22px 52px rgba(13,13,15,.28)}
.gadi-concierge-launcher img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.gadi-concierge-chat-badge{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;display:grid;place-items:center;border:3px solid var(--gadi-paper,#fff);border-radius:50%;background:var(--gadi-accent,#315CFF);color:#fff;box-shadow:0 6px 16px rgba(13,13,15,.22)}
.gadi-concierge-chat-badge svg{display:block;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gadi-concierge-launcher-copy{order:-1;display:grid;gap:2px;min-width:104px;padding:9px 12px 8px;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));border-radius:999px;background:var(--gadi-paper,#fff);color:var(--gadi-fg,#0D0D0F);box-shadow:0 10px 28px rgba(13,13,15,.10);text-align:left;transition:opacity .18s ease,transform .18s ease,border-color .18s ease}
html[data-theme="dark"] .gadi-concierge-launcher-copy{box-shadow:0 10px 30px rgba(0,0,0,.34)}
.gadi-concierge-launcher:hover .gadi-concierge-launcher-copy{border-color:color-mix(in srgb,var(--gadi-accent,#315CFF) 58%,var(--gadi-ui-line,rgba(13,13,15,.16)))}
.gadi-concierge-launcher[aria-expanded="true"] .gadi-concierge-launcher-copy{opacity:0;transform:translateX(8px);pointer-events:none}
.gadi-concierge-launcher-label{font-size:11px;line-height:1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.gadi-concierge-launcher-meta{font-size:9px;line-height:1.1;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gadi-ui-muted,#6F706F);white-space:nowrap}

/* Panel — editorial, structured, and intentionally compact. */
.gadi-concierge-panel{position:absolute;right:0;bottom:76px;width:min(420px,calc(100vw - 48px));height:auto;max-height:min(590px,calc(100dvh - 126px));min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));border-radius:4px;background:var(--gadi-paper,#fff);color:var(--gadi-fg,#0D0D0F);box-shadow:0 32px 78px rgba(13,13,15,.22);overflow:hidden}
.gadi-concierge-panel::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--gadi-accent,#315CFF);z-index:2;pointer-events:none}
html[data-theme="dark"] .gadi-concierge-panel{box-shadow:0 34px 88px rgba(0,0,0,.58)}
.gadi-concierge-panel[hidden]{display:none!important}
.gadi-concierge-panel[data-empty="true"]{height:auto;min-height:0;grid-template-rows:auto auto auto}
.gadi-concierge-panel[data-empty="true"] .gadi-concierge-messages{display:none}

.gadi-concierge-head{display:grid;grid-template-columns:48px minmax(0,1fr) 38px;gap:14px;align-items:start;padding:27px 20px 19px;border-bottom:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));background:linear-gradient(180deg,color-mix(in srgb,var(--gadi-accent,#315CFF) 5%,var(--gadi-paper,#fff)),var(--gadi-paper,#fff) 72%)}
.gadi-concierge-brand-icon{display:block;width:48px;height:48px;border-radius:4px}
.gadi-concierge-headcopy{min-width:0;padding-top:1px}
.gadi-concierge-kicker{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:var(--gadi-accent-text,var(--gadi-accent,#2F58F5));font-size:10px;line-height:1;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.gadi-concierge-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,var(--gadi-accent,#315CFF) 12%,transparent)}
.gadi-concierge-title{margin:0;font-size:30px;line-height:.94;letter-spacing:-.045em;font-weight:700}
.gadi-concierge-subtitle{margin:10px 0 0;max-width:270px;color:var(--gadi-ui-muted,#6F706F);font-size:13px;line-height:1.45}
.gadi-concierge-close{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));border-radius:50%;background:color-mix(in srgb,var(--gadi-paper,#fff) 82%,transparent);color:inherit;font-size:0;line-height:0;position:relative;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.gadi-concierge-close::before,.gadi-concierge-close::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;border-radius:999px;background:currentColor;transform-origin:center}.gadi-concierge-close::before{transform:translate(-50%,-50%) rotate(45deg)}.gadi-concierge-close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.gadi-concierge-close:hover{border-color:var(--gadi-accent,#315CFF);background:color-mix(in srgb,var(--gadi-accent,#315CFF) 7%,var(--gadi-paper,#fff));transform:rotate(3deg)}

/* Quick prompts read like an editorial menu, not chatbot pills. */
.gadi-concierge-prompts{counter-reset:gadi-prompt;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 20px 16px;border-bottom:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));background:var(--gadi-paper,#fff)}
.gadi-concierge-prompts::before{content:"START HERE";grid-column:1/-1;padding:15px 0 10px;color:var(--gadi-ui-muted,#6F706F);font-size:9px;line-height:1;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.gadi-concierge-prompts[hidden]{display:none!important}
.gadi-concierge-prompt{counter-increment:gadi-prompt;position:relative;min-height:62px;padding:13px 34px 12px 30px;border:0;border-top:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));background:transparent;color:inherit;font:700 12px/1.28 var(--gadi-font,"Nimbus Sans",sans-serif);text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease,padding-left .18s ease}
.gadi-concierge-prompt:nth-of-type(odd){border-right:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));padding-right:38px}
.gadi-concierge-prompt::before{content:counter(gadi-prompt,decimal-leading-zero);position:absolute;left:0;top:15px;color:var(--gadi-accent-text,var(--gadi-accent,#2F58F5));font-size:9px;line-height:1;font-weight:700;letter-spacing:.08em}
.gadi-concierge-prompt::after{content:"↗";position:absolute;right:8px;top:13px;color:var(--gadi-ui-muted,#6F706F);font-size:14px;line-height:1;transition:transform .18s ease,color .18s ease}
.gadi-concierge-prompt:hover{background:color-mix(in srgb,var(--gadi-accent,#315CFF) 6%,transparent);color:var(--gadi-accent,#315CFF);padding-left:34px}
.gadi-concierge-prompt:hover::after{color:var(--gadi-accent,#315CFF);transform:translate(2px,-2px)}
.gadi-concierge-prompt:disabled{opacity:.55;cursor:not-allowed}

/* Conversation — GADI answers are advisory blocks, not generic bubbles. */
.gadi-concierge-messages{min-height:0;max-height:300px;overflow-y:auto;padding:18px 20px 8px;overscroll-behavior:contain;scrollbar-width:thin;background:color-mix(in srgb,var(--gadi-bg,#F3F0E8) 22%,var(--gadi-paper,#fff))}
.gadi-concierge-message{display:flex;margin:0 0 18px}
.gadi-concierge-message[data-role="assistant"]{display:block}
.gadi-concierge-message[data-role="assistant"]::before{content:"GADI";display:block;margin:0 0 7px;color:var(--gadi-accent-text,var(--gadi-accent,#2F58F5));font-size:9px;line-height:1;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.gadi-concierge-message[data-role="user"]{justify-content:flex-end}
.gadi-concierge-message[data-role="user"]::before{content:"YOU";align-self:flex-end;order:2;margin:0 0 4px 7px;color:var(--gadi-ui-muted,#6F706F);font-size:8px;line-height:1;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.gadi-concierge-bubble{max-width:88%;padding:12px 14px;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));font-size:14px;line-height:1.52;white-space:pre-wrap;overflow-wrap:anywhere}
.gadi-concierge-message[data-role="assistant"] .gadi-concierge-bubble{position:relative;max-width:none;padding:16px 16px 16px 18px;border-radius:0;background:var(--gadi-paper,#fff);border-left:3px solid var(--gadi-accent,#315CFF);box-shadow:0 8px 24px rgba(13,13,15,.05)}
html[data-theme="dark"] .gadi-concierge-message[data-role="assistant"] .gadi-concierge-bubble{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.gadi-concierge-message[data-role="user"] .gadi-concierge-bubble{background:var(--gadi-accent,#315CFF);border-color:var(--gadi-accent,#315CFF);color:#fff;border-radius:12px 2px 12px 12px}
.gadi-concierge-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.gadi-concierge-action{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 30px 0 12px;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));border-radius:2px;color:var(--gadi-fg,#0D0D0F);background:transparent;font:700 9px/1.1 var(--gadi-font,"Nimbus Sans",sans-serif);letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease}
.gadi-concierge-action::after{content:"↗";position:absolute;right:11px;top:50%;transform:translateY(-52%);font-size:13px;line-height:1}
.gadi-concierge-action[data-primary="true"]{background:var(--gadi-accent,#315CFF);border-color:var(--gadi-accent,#315CFF);color:#fff}
.gadi-concierge-action:hover{border-color:var(--gadi-accent,#315CFF);background:color-mix(in srgb,var(--gadi-accent,#315CFF) 7%,transparent)}
.gadi-concierge-action[data-primary="true"]:hover{background:color-mix(in srgb,var(--gadi-accent,#315CFF) 88%,#0D0D0F)}
.gadi-concierge-loading{display:flex;align-items:center;gap:10px;margin:2px 0 18px;padding:13px 14px;border-left:3px solid var(--gadi-accent,#315CFF);background:var(--gadi-paper,#fff);color:var(--gadi-ui-muted,#6F706F);font-size:12px;line-height:1.35}
.gadi-concierge-loader{width:13px;height:13px;border:2px solid var(--gadi-ui-line,rgba(13,13,15,.16));border-top-color:var(--gadi-accent,#315CFF);border-radius:50%;animation:gadi-concierge-spin .7s linear infinite}
@keyframes gadi-concierge-spin{to{transform:rotate(360deg)}}

/* Composer — strong footer rail and compact editorial input. */
.gadi-concierge-compose{padding:13px 14px 12px;border-top:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));background:var(--gadi-paper,#fff)}
.gadi-concierge-form{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:0;align-items:stretch;border:1px solid var(--gadi-ui-line,rgba(13,13,15,.16));background:var(--gadi-bg,#F3F0E8)}
.gadi-concierge-form:focus-within{border-color:var(--gadi-accent,#315CFF);box-shadow:0 0 0 2px color-mix(in srgb,var(--gadi-accent,#315CFF) 14%,transparent)}
.gadi-concierge-input{width:100%;min-height:50px;max-height:116px;resize:none;padding:14px 13px;border:0;border-radius:0;background:transparent;color:var(--gadi-fg,#0D0D0F);font:400 14px/1.4 var(--gadi-font,"Nimbus Sans",sans-serif);outline:none}
.gadi-concierge-input::placeholder{color:var(--gadi-ui-muted,#6F706F)}
.gadi-concierge-send{min-width:64px;min-height:50px;padding:0 10px;border:0;border-left:1px solid var(--gadi-accent,#315CFF);border-radius:0;background:var(--gadi-accent,#315CFF);color:#fff;font:700 9px/1 var(--gadi-font,"Nimbus Sans",sans-serif);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:filter .18s ease}
.gadi-concierge-send:hover{filter:brightness(.94)}
.gadi-concierge-send:disabled{opacity:.45;cursor:not-allowed}
.gadi-concierge-note{margin:8px 2px 0;color:var(--gadi-ui-muted,#6F706F);font-size:9px;line-height:1.35;letter-spacing:.01em}
.gadi-concierge-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1100px){
  .gadi-concierge-shell{top:auto;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px) + var(--gadi-concierge-mobile-lift,0px));z-index:205;transition:bottom .16s ease}
  .gadi-concierge-shell.is-open{--gadi-concierge-mobile-lift:0px!important}
  .gadi-concierge-launcher{gap:0}
  .gadi-concierge-launcher-copy{display:none}
  .gadi-concierge-launcher-visual{width:54px;height:54px;flex-basis:54px;box-shadow:0 14px 32px rgba(13,13,15,.22)}
  .gadi-concierge-chat-badge{right:-2px;bottom:-2px;width:19px;height:19px;border-width:2px}
  .gadi-concierge-chat-badge svg{width:10px;height:10px}
  .gadi-concierge-panel{position:fixed;top:auto;right:24px;bottom:calc(88px + env(safe-area-inset-bottom,0px));width:min(420px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 112px);min-height:0;border-radius:3px}
  .gadi-concierge-panel[data-empty="true"]{height:auto}
  .gadi-concierge-head{grid-template-columns:44px minmax(0,1fr) 36px;gap:12px;padding:24px 15px 16px}
  .gadi-concierge-brand-icon{width:44px;height:44px}
  .gadi-concierge-title{font-size:27px}
  .gadi-concierge-subtitle{margin-top:8px;font-size:12px;max-width:240px}
  .gadi-concierge-close{width:36px;height:36px}
  .gadi-concierge-prompts{grid-template-columns:1fr;padding:0 15px 12px}
  .gadi-concierge-prompts::before{padding:13px 0 8px}
  .gadi-concierge-prompt{min-height:50px;padding:11px 34px 10px 30px}
  .gadi-concierge-prompt:nth-of-type(odd){border-right:0;padding-right:34px}
  .gadi-concierge-prompt::before{top:13px}.gadi-concierge-prompt::after{top:11px}
  .gadi-concierge-messages{max-height:330px;padding:15px 15px 7px}
  .gadi-concierge-bubble{max-width:92%;font-size:14px}
  .gadi-concierge-message[data-role="assistant"] .gadi-concierge-bubble{padding:14px 14px 14px 16px}
  .gadi-concierge-actions{grid-template-columns:1fr}
  .gadi-concierge-compose{padding:10px 11px calc(10px + env(safe-area-inset-bottom,0px))}
  .gadi-concierge-form{grid-template-columns:minmax(0,1fr) 58px}
  .gadi-concierge-send{min-width:58px}
}

@media(max-width:620px){
  .gadi-concierge-shell{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px) + var(--gadi-concierge-mobile-lift,0px))}
  .gadi-concierge-panel{right:12px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px);max-height:calc(100dvh - 98px)}
}
@media(max-width:520px){
  .gadi-concierge-shell{right:16px}
  .gadi-concierge-launcher-visual{width:50px;height:50px;flex-basis:50px}
  .gadi-concierge-panel{right:10px;bottom:calc(78px + env(safe-area-inset-bottom,0px));width:calc(100vw - 20px);max-height:calc(100dvh - 92px)}
}
@media(max-width:1100px){html.mobile-menu-open .gadi-concierge-shell{display:none!important}}
@media(max-height:620px) and (min-width:621px){.gadi-concierge-panel{max-height:calc(100dvh - 100px);min-height:0;bottom:66px}.gadi-concierge-messages{max-height:220px}}
@media(prefers-reduced-motion:reduce){.gadi-concierge-launcher,.gadi-concierge-close,.gadi-concierge-prompt,.gadi-concierge-action,.gadi-concierge-send{transition:none}.gadi-concierge-loader{animation-duration:1.4s}}
