.alf-btn{position:fixed; left:22px; bottom:22px; z-index:210; display:flex; align-items:center; gap:10px; background:var(--navy,#101820); color:#fff; border:0; border-radius:40px; padding:6px 18px 6px 6px; cursor:pointer; box-shadow:0 8px 24px rgba(0,0,0,.28); font:600 14px/1 'Montserrat',sans-serif;}
.alf-btn img{width:46px; height:46px; border-radius:50%; background:#fff; object-fit:cover; border:2px solid var(--orange,#b88858);}
.alf-btn:hover{transform:translateY(-2px);}
.alf-panel{position:fixed; left:22px; bottom:22px; z-index:220; width:370px; max-width:calc(100vw - 24px); height:min(600px, calc(100vh - 44px)); background:#fff; border-radius:18px; box-shadow:0 18px 60px rgba(0,0,0,.35); display:none; flex-direction:column; overflow:hidden; font-family:'Open Sans',sans-serif;}
.alf-panel.open{display:flex;}
.alf-head{background:var(--navy,#101820); color:#fff; padding:12px 14px; display:flex; align-items:center; gap:10px;}
.alf-head img{width:40px; height:40px; border-radius:50%; background:#fff; border:2px solid var(--orange,#b88858);}
.alf-head b{display:block; font:700 15px 'Montserrat',sans-serif;} .alf-head small{opacity:.75; font-size:12px;}
.alf-x{margin-left:auto; background:none; border:0; color:#fff; font-size:26px; line-height:1; cursor:pointer; padding:0 4px;}
.alf-msgs{flex:1; overflow-y:auto; padding:14px; background:#f7f6f2; display:flex; flex-direction:column; gap:10px;}
.alf-b{max-width:86%; padding:10px 13px; border-radius:14px; font-size:14px; line-height:1.45; white-space:pre-wrap; word-wrap:break-word;}
.alf-b.alfredo,.alf-b.corretor{background:#fff; color:var(--text,#1a2233); border:1px solid var(--border,#e6e3db); border-bottom-left-radius:4px; align-self:flex-start;}
.alf-b.corretor{border-color:var(--orange,#b88858); background:#fbf5ec;}
.alf-b.corretor:before{content:'👤 Corretor'; display:block; font-size:11px; font-weight:700; color:var(--orange-dark,#8f6840); margin-bottom:3px;}
.alf-b.cliente{background:var(--navy,#101820); color:#fff; border-bottom-right-radius:4px; align-self:flex-end;}
.alf-b.sistema{align-self:center; background:none; border:0; color:#8a8f98; font-size:12px; text-align:center; padding:2px;}
.alf-chips{display:flex; flex-wrap:wrap; gap:6px; align-self:flex-start; max-width:96%;}
.alf-chip{background:#fff; border:1.5px solid var(--orange,#b88858); color:var(--navy,#101820); border-radius:20px; padding:7px 12px; font:600 13px 'Open Sans',sans-serif; cursor:pointer; text-decoration:none;}
.alf-chip:hover{background:var(--orange,#b88858); color:#fff;}
.alf-chips.off .alf-chip{opacity:.45; pointer-events:none;}
.alf-cards{display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; align-self:stretch; scroll-snap-type:x mandatory;}
.alf-card{flex:0 0 210px; background:#fff; border:1px solid var(--border,#e6e3db); border-radius:12px; overflow:hidden; text-decoration:none; color:inherit; scroll-snap-align:start;}
.alf-card img{width:100%; height:110px; object-fit:cover; display:block; background:#e6e3db;}
.alf-card div{padding:8px 10px;} .alf-card b{display:block; font-size:13px; line-height:1.3; color:var(--navy,#101820);}
.alf-card span{display:block; font-size:12px; color:var(--text-muted,#6b7280); margin-top:2px;} .alf-card strong{display:block; color:var(--orange-dark,#8f6840); margin-top:4px; font-size:14px;}
.alf-form{background:#fff; border:1px solid var(--border,#e6e3db); border-radius:12px; padding:12px; display:grid; gap:8px; align-self:stretch;}
.alf-form input[type=text],.alf-form input[type=tel]{border:1.5px solid var(--border,#e6e3db); border-radius:8px; padding:9px 10px; font-size:14px; width:100%;}
.alf-form label.ck{display:flex; gap:7px; font-size:12px; color:var(--text-muted,#6b7280); align-items:flex-start;} .alf-form label.ck input{margin-top:2px;}
.alf-form button{background:var(--orange,#b88858); color:#fff; border:0; border-radius:8px; padding:10px; font-weight:700; cursor:pointer;}
.alf-form .err{color:#c0392b; font-size:12px;}
.alf-in{display:flex; gap:8px; padding:10px; border-top:1px solid var(--border,#e6e3db); background:#fff;}
.alf-in input{flex:1; border:1.5px solid var(--border,#e6e3db); border-radius:20px; padding:9px 14px; font-size:14px;}
.alf-in button{background:var(--navy,#101820); color:#fff; border:0; border-radius:50%; width:40px; height:40px; cursor:pointer; font-size:16px;}
.alf-typing{align-self:flex-start; color:#8a8f98; font-size:13px;}
.alf-note{font-size:11px; color:#8a8f98; text-align:center; padding:0 10px 8px; background:#fff;}
@media (max-width:560px){.alf-panel{left:0; bottom:0; width:100vw; max-width:100vw; height:100dvh; border-radius:0;} .alf-btn span{display:none;} .alf-btn{padding:6px;}}
.alf-msgs>*{flex-shrink:0}
