.concierge-fab{z-index:90;border-radius:var(--radius,4px);background:var(--clay,#ff6b35);color:#fff;font:inherit;letter-spacing:.01em;cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 18px;font-size:.92rem;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 14px 34px #14192847}.concierge-fab:hover{transform:translateY(-2px);box-shadow:0 18px 40px #14192857}.concierge-fab.is-open{background:#1d2433}.concierge-panel{z-index:91;border-radius:var(--radius,4px);background:#fff;border:1px solid #1419281a;flex-direction:column;width:min(390px,100vw - 32px);max-height:min(620px,100vh - 130px);animation:.22s both concierge-in;display:flex;position:fixed;bottom:84px;right:20px;overflow:hidden;box-shadow:0 26px 70px #14192842}@keyframes concierge-in{0%{opacity:0;transform:translateY(10px)}}.concierge-panel header{color:#fff;background:#1d2433;align-items:center;gap:10px;padding:14px 14px 14px 16px;display:flex}.concierge-panel header>div:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.concierge-panel header b{font-size:.93rem}.concierge-panel header span{opacity:.72;font-size:.74rem}.concierge-panel header button{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:none;padding:4px;line-height:0}.concierge-panel header button:hover{opacity:1}.concierge-avatar{border-radius:var(--radius,4px);background:var(--clay,#ff6b35);color:#fff;flex:none;place-items:center;width:32px;height:32px;display:grid}.concierge-log{background:#faf8f5;flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.concierge-msg{border-radius:var(--radius,4px);white-space:pre-wrap;word-break:break-word;max-width:88%;padding:10px 13px;font-size:.88rem;line-height:1.5}.concierge-msg.assistant{color:#26303f;background:#fff;border:1px solid #14192817;align-self:flex-start}.concierge-msg.user{background:var(--clay,#ff6b35);color:#fff;align-self:flex-end}.concierge-typing{gap:4px;padding:2px 0;display:inline-flex}.concierge-typing i{background:#14192852;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite concierge-bounce}.concierge-typing i:nth-child(2){animation-delay:.15s}.concierge-typing i:nth-child(3){animation-delay:.3s}@keyframes concierge-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.concierge-starters{background:#faf8f5;flex-wrap:wrap;gap:6px;padding:0 14px 12px;display:flex}.concierge-starters button{border-radius:var(--radius,4px);font:inherit;color:#26303f;cursor:pointer;background:#fff;border:1px solid #14192824;padding:7px 10px;font-size:.76rem}.concierge-starters button:hover{border-color:var(--clay,#ff6b35);color:var(--clay,#ff6b35)}.concierge-input{background:#fff;border-top:1px solid #14192814;align-items:flex-end;gap:8px;padding:10px;display:flex}.concierge-input textarea{resize:none;max-height:110px;font:inherit;color:#26303f;border-radius:var(--radius,4px);background:#faf8f5;border:1px solid #14192824;flex:1;padding:10px 12px;font-size:.87rem}.concierge-input textarea:focus{border-color:var(--clay,#ff6b35);outline:none}.concierge-input button{cursor:pointer;border-radius:var(--radius,4px);background:var(--clay,#ff6b35);color:#fff;border:none;flex:none;place-items:center;width:40px;height:40px;display:grid}.concierge-input button:disabled{opacity:.45;cursor:default}@media (width<=640px){.concierge-fab{padding:11px 15px;bottom:86px;right:14px}.concierge-panel{width:auto;max-height:calc(100vh - 190px);bottom:146px;left:8px;right:8px}}.smart-image{background:linear-gradient(100deg, color-mix(in srgb, currentColor 7%, transparent) 20%, color-mix(in srgb, currentColor 14%, transparent) 42%, color-mix(in srgb, currentColor 7%, transparent) 64%);background-size:220% 100%;width:100%;height:100%;animation:1.5s linear infinite smart-image-shimmer;display:block;position:relative;overflow:hidden}.smart-image.is-loaded{background:0 0;animation:none}.smart-image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .5s;display:block}.smart-image.is-loaded img{opacity:1}@keyframes smart-image-shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}@media (prefers-reduced-motion:reduce){.smart-image{animation:none}.smart-image>img{transition:none}}.smart-image picture{display:contents}
