/* TXHOUSE Sales Assistant */
.tx-assistant{
  position:fixed;
  right:18px;
  bottom:92px;
  z-index:9990;
  font-family:inherit;
}
.tx-assistant__fab{
  width:72px;
  height:72px;
  border-radius:24px;
  border:1px solid rgba(125,243,255,.24);
  background:linear-gradient(180deg, rgba(10,20,36,.96), rgba(4,10,20,.94));
  color:#ecfbff;
  display:grid;
  place-items:center;
  gap:0;
  box-shadow:0 18px 44px rgba(0,0,0,.34), 0 0 24px rgba(80,228,255,.12);
  cursor:pointer;
}
.tx-assistant__fab span{
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9fd7e8;
}
.tx-assistant__fab b{
  font-size:22px;
  letter-spacing:.08em;
}
.tx-assistant__panel{
  position:absolute;
  right:0;
  bottom:86px;
  width:min(94vw, 720px);
  max-height:min(86vh, 780px);
  display:none;
  background:linear-gradient(180deg, rgba(6,12,24,.98), rgba(4,8,18,.98));
  border:1px solid rgba(125,243,255,.16);
  border-radius:24px;
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  overflow:hidden;
}
.tx-assistant.is-open .tx-assistant__panel{display:block;}
.tx-assistant__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-bottom:1px solid rgba(125,243,255,.10);
}
.tx-assistant__head strong{
  display:block;
  color:#f4fbff;
  font-size:18px;
  letter-spacing:.02em;
}
.tx-assistant__head span{
  display:block;
  color:#8fb6c8;
  font-size:12px;
  margin-top:2px;
}
.tx-assistant__close{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.tx-assistant__body{
  max-height:calc(min(86vh, 780px) - 72px);
  overflow:auto;
  padding:16px;
}
.tx-assistant__intro{
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:18px;
  background:rgba(125,243,255,.06);
  border:1px solid rgba(125,243,255,.10);
  color:#dff8ff;
}
.tx-assistant__intro b{font-size:14px;}
.tx-assistant__intro span{font-size:12px;color:#a7cbd8;}
.tx-assistant__tabs{
  display:flex;
  gap:8px;
  margin:14px 0;
}
.tx-assistant__tabs button{
  flex:1;
  min-height:38px;
  border-radius:999px;
  border:1px solid rgba(125,243,255,.14);
  background:rgba(255,255,255,.03);
  color:#beddea;
  cursor:pointer;
}
.tx-assistant__tabs button.is-active{
  background:rgba(80,228,255,.12);
  color:#f3fdff;
  border-color:rgba(80,228,255,.28);
}
.tx-assistant__section{display:none;}
.tx-assistant__section.is-active{display:block;}
.tx-assistant__wizard{
  display:grid;
  gap:12px;
}
.tx-assistant__wizard label{
  display:grid;
  gap:6px;
}
.tx-assistant__wizard label > span{
  font-size:12px;
  color:#a7cbd8;
  letter-spacing:.04em;
}
.tx-assistant__wizard select,
.tx-assistant__wizard input,
.tx-assistant__wizard textarea,
.tx-assistant__chat-form input{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(125,243,255,.12);
  background:rgba(3,8,18,.72);
  color:#eefaff;
  padding:12px 13px;
  outline:none;
  box-sizing:border-box;
}
.tx-assistant__budget-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:8px;
}
.tx-assistant__budget-grid button{
  border-radius:13px;
  border:1px solid rgba(125,243,255,.14);
  background:rgba(255,255,255,.03);
  color:#dff8ff;
  min-height:38px;
  cursor:pointer;
  font-size:12px;
}
.tx-assistant__budget-grid button.is-active{
  border-color:rgba(80,228,255,.34);
  background:rgba(80,228,255,.12);
}
.tx-assistant__primary,
.tx-assistant-package__foot button,
.tx-assistant__chat-form button{
  border:1px solid rgba(80,228,255,.22);
  background:rgba(80,228,255,.13);
  color:#effcff;
  border-radius:14px;
  min-height:42px;
  padding:0 14px;
  cursor:pointer;
}
.tx-assistant__primary{
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tx-assistant__results{
  display:grid;
  gap:14px;
  margin-top:16px;
}
.tx-assistant-package{
  border:1px solid rgba(125,243,255,.12);
  background:rgba(255,255,255,.025);
  border-radius:20px;
  overflow:hidden;
}
.tx-assistant-package.is-best{
  border-color:rgba(80,228,255,.30);
  background:linear-gradient(180deg, rgba(80,228,255,.08), rgba(255,255,255,.025));
}
.tx-assistant-package__top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.tx-assistant-package__top span{
  font-size:10px;
  color:#74f2ff;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.tx-assistant-package__top h3{
  margin:4px 0;
  color:#f4fbff;
  font-size:18px;
}
.tx-assistant-package__top p{
  margin:0 0 6px;
  color:#bfdce8;
  font-size:12px;
  line-height:1.35;
}
.tx-assistant-package__top small{
  color:#7fa8ba;
  font-size:11px;
}
.tx-assistant-package__top strong{
  color:#fff;
  font-size:18px;
  white-space:nowrap;
}
.tx-assistant-package__items{
  display:grid;
}
.tx-assistant-line{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.tx-assistant-line img,
.tx-assistant-product img{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:14px;
  background:rgba(255,255,255,.04);
}
.tx-assistant-line b,
.tx-assistant-product b{
  color:#f4fbff;
  font-size:13px;
  line-height:1.2;
  display:block;
}
.tx-assistant-line small,
.tx-assistant-product small{
  color:#8fb6c8;
  font-size:11px;
  display:block;
  margin-top:3px;
}
.tx-assistant-line em,
.tx-assistant-product strong{
  color:#d9fbff;
  font-size:12px;
  font-style:normal;
  display:block;
  margin-top:4px;
}
.tx-assistant-line__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:6px;
  max-width:160px;
}
.tx-assistant-line__actions button{
  min-height:28px;
  border-radius:999px;
  border:1px solid rgba(125,243,255,.14);
  background:rgba(255,255,255,.035);
  color:#dff8ff;
  cursor:pointer;
  font-size:11px;
}
.tx-assistant-package__foot{
  display:flex;
  gap:8px;
  padding:12px 14px;
}
.tx-assistant-package__foot button{flex:1;}
.tx-assistant__chat-log{
  height:360px;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:10px;
  padding:10px;
  border-radius:18px;
  background:rgba(0,0,0,.18);
  border:1px solid rgba(125,243,255,.08);
}
.tx-assistant-msg{
  max-width:92%;
  padding:11px 12px;
  border-radius:16px;
  font-size:13px;
  line-height:1.45;
}
.tx-assistant-msg--bot{
  background:rgba(125,243,255,.08);
  border:1px solid rgba(125,243,255,.12);
  color:#dff8ff;
}
.tx-assistant-msg--user{
  margin-left:auto;
  background:rgba(255,255,255,.07);
  color:#fff;
}
.tx-assistant-msg__products{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.tx-assistant-product{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:8px;
  border-radius:14px;
  background:rgba(0,0,0,.14);
}
.tx-assistant-product img{width:54px;height:54px;}
.tx-assistant__chat-form{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:8px;
  margin-top:10px;
}
.tx-assistant__mic{
  min-width:42px;
  padding:0 !important;
}
.tx-assistant__mic.is-listening{
  background:rgba(255,92,228,.18);
  border-color:rgba(255,92,228,.30);
}
.tx-assistant__voice{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  color:#9fc5d4;
  font-size:12px;
}
@media(max-width:720px){
  .tx-assistant{right:12px;bottom:86px;}
  .tx-assistant__panel{
    right:-6px;
    width:calc(100vw - 24px);
    bottom:82px;
  }
  .tx-assistant__budget-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .tx-assistant-line{grid-template-columns:54px minmax(0,1fr);}
  .tx-assistant-line__actions{
    grid-column:1/-1;
    max-width:none;
    justify-content:flex-start;
  }
  .tx-assistant-package__top{display:grid;}
  .tx-assistant-package__foot{display:grid;}
  .tx-assistant__chat-form{grid-template-columns:42px minmax(0,1fr);}
  .tx-assistant__chat-form button[type="submit"]{grid-column:1/-1;}
}

/* === TXHOUSE 2026-05-17: asesor realista V27 === */
.tx-assistant-package.is-over-budget{
  border-color:rgba(255,191,73,.24);
}
.tx-assistant-package.is-inside-budget{
  border-color:rgba(125,243,255,.18);
}
.tx-assistant-budget-note{
  margin:10px 0 8px;
  padding:9px 11px;
  border-radius:13px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#d9eef7;
  font-size:12px;
  line-height:1.35;
}
.tx-assistant-package.is-over-budget .tx-assistant-budget-note{
  background:rgba(255,191,73,.08);
  border-color:rgba(255,191,73,.16);
  color:#ffe3a8;
}
.tx-assistant-advisor-notes{
  margin:0 0 12px;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.tx-assistant-advisor-notes li{
  position:relative;
  padding-left:16px;
  color:#a9cfde;
  font-size:12px;
  line-height:1.35;
}
.tx-assistant-advisor-notes li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#69efff;
  box-shadow:0 0 10px rgba(105,239,255,.28);
}
.tx-assistant-inline-pack{
  margin:10px 0;
  padding:11px 12px;
  border-radius:15px;
  border:1px solid rgba(125,243,255,.12);
  background:rgba(255,255,255,.035);
}
.tx-assistant-inline-pack.is-best{
  border-color:rgba(105,239,255,.24);
  background:rgba(105,239,255,.065);
}
.tx-assistant-inline-pack b{
  display:block;
  color:#f2fbff;
  font-size:13px;
}
.tx-assistant-inline-pack span{
  display:block;
  margin-top:3px;
  color:#a7ccda;
  font-size:12px;
}
.tx-assistant-inline-pack ul{
  margin:8px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:4px;
}
.tx-assistant-inline-pack li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#cfe7ef;
  font-size:12px;
}
.tx-assistant-inline-pack em{
  color:#8fddeb;
  font-style:normal;
  white-space:nowrap;
}
.tx-assistant-msg--bot b{
  color:#f3fbff;
}

/* === TXHOUSE 2026-05-17: asesor compacto + salida facil V29 === */
.tx-assistant{
  right:14px !important;
  bottom:86px !important;
}
.tx-assistant__fab{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  border-radius:18px !important;
  border:1px solid rgba(125,243,255,.26) !important;
  background:linear-gradient(180deg, rgba(10,20,36,.98), rgba(4,10,20,.96)) !important;
  box-shadow:0 12px 28px rgba(0,0,0,.30), 0 0 20px rgba(80,228,255,.10) !important;
  padding:0 !important;
}
.tx-assistant__fab-bulb{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font-size:24px;
  line-height:1;
  filter:drop-shadow(0 0 8px rgba(255,232,118,.75)) drop-shadow(0 0 18px rgba(125,243,255,.24));
}
.tx-assistant__fab span:not(.tx-assistant__fab-bulb),
.tx-assistant__fab b{
  display:none !important;
}
.tx-assistant__panel{
  right:0 !important;
  bottom:64px !important;
  width:min(92vw, 430px) !important;
  max-height:min(78vh, 660px) !important;
  border-radius:20px !important;
  box-shadow:0 24px 64px rgba(0,0,0,.48) !important;
}
.tx-assistant__head{
  padding:12px 14px !important;
}
.tx-assistant__head strong{
  font-size:16px !important;
}
.tx-assistant__head span{
  font-size:11px !important;
}
.tx-assistant__head-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.tx-assistant__close{
  width:34px !important;
  height:34px !important;
  font-size:20px !important;
  background:rgba(255,255,255,.05) !important;
}
.tx-assistant__close--text{
  width:auto !important;
  min-width:0 !important;
  padding:0 12px !important;
  border-radius:999px !important;
  font-size:12px !important;
  letter-spacing:.04em;
}
.tx-assistant__body{
  max-height:calc(min(78vh, 660px) - 60px) !important;
  overflow:auto !important;
  padding:12px !important;
}
.tx-assistant__intro{
  padding:11px 12px !important;
  border-radius:14px !important;
}
.tx-assistant__intro b{font-size:13px !important;}
.tx-assistant__intro span{font-size:11px !important;}
.tx-assistant__tabs{margin:10px 0 !important; gap:6px !important;}
.tx-assistant__tabs button,
.tx-assistant__primary,
.tx-assistant-package__foot button,
.tx-assistant__chat-form button,
.tx-assistant__budget-grid button{
  min-height:34px !important;
  border-radius:12px !important;
  font-size:12px !important;
}
.tx-assistant__wizard{gap:10px !important;}
.tx-assistant__wizard label{gap:5px !important;}
.tx-assistant__wizard label > span,
.tx-assistant__voice,
.tx-assistant-line small,
.tx-assistant-product small,
.tx-assistant-budget-note,
.tx-assistant-package__top small{
  font-size:11px !important;
}
.tx-assistant__wizard select,
.tx-assistant__wizard input,
.tx-assistant__wizard textarea,
.tx-assistant__chat-form input{
  min-height:38px !important;
  border-radius:12px !important;
  padding:9px 10px !important;
  font-size:13px !important;
}
.tx-assistant__wizard textarea{min-height:72px !important;}
.tx-assistant__results{gap:10px !important; margin-top:10px !important;}
.tx-assistant-package{
  border-radius:16px !important;
  padding:12px !important;
}
.tx-assistant-package__top h3{font-size:16px !important;}
.tx-assistant-package__top p{font-size:12px !important;}
.tx-assistant-package__top strong{font-size:20px !important;}
.tx-assistant-package__items{gap:8px !important;}
.tx-assistant-line{
  grid-template-columns:50px minmax(0,1fr) !important;
  gap:8px !important;
  padding:8px !important;
  border-radius:12px !important;
}
.tx-assistant-line img,
.tx-assistant-product img{
  width:50px !important;
  height:50px !important;
  border-radius:10px !important;
}
.tx-assistant-line b,
.tx-assistant-product b{font-size:12px !important;}
.tx-assistant-line em,
.tx-assistant-product strong{font-size:12px !important;}
.tx-assistant-line__actions{
  grid-column:1 / -1 !important;
  gap:6px !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
.tx-assistant-line__actions button{
  min-height:30px !important;
  border-radius:10px !important;
  font-size:11px !important;
}
.tx-assistant-package__foot{
  gap:8px !important;
}
.tx-assistant__chat-log{
  max-height:290px !important;
  padding-right:2px !important;
}
.tx-assistant-msg{padding:10px 11px !important; border-radius:14px !important; font-size:13px !important;}
.tx-assistant__chat-form{grid-template-columns:38px minmax(0,1fr) 72px !important; gap:6px !important;}
.tx-assistant__mic{font-size:16px !important;}
@media(max-width:700px){
  .tx-assistant{right:10px !important; bottom:80px !important;}
  .tx-assistant__panel{width:min(94vw, 390px) !important; bottom:60px !important; max-height:min(74vh, 620px) !important;}
  .tx-assistant__body{max-height:calc(min(74vh, 620px) - 58px) !important; padding:10px !important;}
}
