:root{
  --tpa-navy:#1C1B4D;
  --tpa-teal:#00C4D6;
  --tpa-white:#fff;
  --tpa-bg:#0f1133;
  --tpa-muted:#8da0b6;
  --tpa-bubble:#22254d;
}
#tpa-chatbot{position:fixed;bottom:18px;right:18px;z-index:99999;font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;}
#tpa-toggle{
  width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,var(--tpa-teal),#5ee6ef); color:#073a41;
  box-shadow:0 10px 30px rgba(0,0,0,.25); font-size:24px; display:flex;align-items:center;justify-content:center;
}
#tpa-window{
  position:fixed;right:18px;bottom:88px;width:360px;max-height:70vh;display:none;flex-direction:column;
  background:linear-gradient(180deg,#171a49 0%, #101238 100%); color:var(--tpa-white);
  border-radius:18px; overflow:hidden; box-shadow:0 20px 40px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.08);
}
#tpa-window.open{display:flex;animation:pop .18s ease-out}
@keyframes pop{from{transform:translateY(8px);opacity:.0}to{transform:translateY(0);opacity:1}}
.tpa-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:rgba(0,196,214,.08);border-bottom:1px solid rgba(255,255,255,.06)}
.tpa-brand{display:flex;gap:10px;align-items:center}
.tpa-logo{width:34px;height:34px;border-radius:50%;background:var(--tpa-teal);display:flex;align-items:center;justify-content:center;color:#08343b;font-size:18px;font-weight:700}
.tpa-title{font-weight:700;letter-spacing:.2px}
.tpa-subtitle{font-size:12px;color:var(--tpa-teal)}
.tpa-close{background:transparent;border:none;color:#bfd3e6;font-size:18px;cursor:pointer}
#tpa-messages{padding:12px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.tpa-msg{max-width:85%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.35}
.tpa-bot{background:var(--tpa-bubble);border:1px solid rgba(255,255,255,.06)}
.tpa-user{margin-left:auto;background:rgba(0,196,214,.12);border:1px solid rgba(0,196,214,.35)}
.tpa-time{font-size:11px;color:var(--tpa-muted);margin-top:2px}
.tpa-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.tpa-btn{border:none;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer}
.tpa-chip{background:rgba(255,255,255,.08);color:#dfe8f3;border:1px solid rgba(255,255,255,.12)}
.tpa-chip:hover{background:rgba(255,255,255,.16)}
.tpa-primary{background:var(--tpa-teal);color:#073a41;font-weight:700}
.tpa-secondary{background:transparent;color:var(--tpa-teal);border:1px solid var(--tpa-teal)}
#tpa-input-area{display:none;gap:8px;padding:10px;border-top:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}
#tpa-free-input{flex:1;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0e1133;color:#dfe8f3;padding:10px 12px;font-size:14px}
#tpa-free-input::placeholder{color:#7f8aa7}
.tpa-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* FIX v2: Inputs de carga en columna y full width */
.tpa-upload{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.tpa-upload input[type="file"], .tpa-upload button{width:100%}
.tpa-note{font-size:12px;color:#b3c0d8}
