/* Feedback widget — self-contained, scoped under .tpw- to avoid clashing with the plan. */
.tpw-fab{
  position:fixed; right:22px; bottom:22px; z-index:99999;
  font-family:'Avenir Next','Segoe UI',Helvetica,Arial,sans-serif;
  background:#c2572d; color:#fff; border:none; cursor:pointer;
  padding:13px 20px; border-radius:999px; font-size:15px; font-weight:700;
  box-shadow:0 10px 30px rgba(60,45,20,.28); display:flex; align-items:center; gap:9px;
  transition:transform .12s ease, background .12s ease;
}
.tpw-fab:hover{ transform:translateY(-2px); background:#a4441f; }

.tpw-oldbar{
  position:fixed; top:0; left:0; right:0; z-index:99998;
  font-family:'Avenir Next','Segoe UI',sans-serif; font-size:14px; font-weight:600;
  background:#43512a; color:#f5f1e2; text-align:center; padding:9px 16px;
}
.tpw-oldbar a{ color:#f6c761; font-weight:700; margin-left:8px; }

.tpw-overlay{
  position:fixed; inset:0; z-index:100000; display:none;
  background:rgba(30,22,8,.45); backdrop-filter:blur(2px);
}
.tpw-overlay.open{ display:block; }

.tpw-panel{
  position:fixed; right:0; top:0; bottom:0; width:min(440px,100%);
  background:#fbf6ec; box-shadow:-12px 0 40px rgba(60,45,20,.25);
  display:flex; flex-direction:column;
  font-family:'Avenir Next','Segoe UI',Helvetica,Arial,sans-serif; color:#2c2419;
}
.tpw-head{
  padding:18px 20px; background:linear-gradient(120deg,#d99a2b,#c2572d); color:#fff;
  display:flex; align-items:center; gap:10px;
}
.tpw-head h2{ font-size:18px; font-weight:800; margin:0; flex:1; }
.tpw-head button{ background:rgba(255,255,255,.2); border:1px solid rgba(255,255,255,.45);
  color:#fff; border-radius:8px; width:30px; height:30px; cursor:pointer; font-size:16px; }
.tpw-sub{ font-size:12.5px; padding:8px 20px; color:#6b5d49; border-bottom:1px solid #e7dcc6; }
.tpw-sub a{ color:#a4441f; font-weight:700; cursor:pointer; }

.tpw-msgs{ flex:1; overflow-y:auto; padding:16px 18px; display:flex; flex-direction:column; gap:12px; }
.tpw-msg{ max-width:88%; padding:10px 13px; border-radius:14px; font-size:14.5px; line-height:1.5; white-space:pre-wrap; }
.tpw-msg.user{ align-self:flex-end; background:#c2572d; color:#fff; border-bottom-right-radius:4px; }
.tpw-msg.bot{ align-self:flex-start; background:#fff; border:1px solid #e7dcc6; border-bottom-left-radius:4px; }
.tpw-msg.hint{ align-self:center; background:transparent; color:#6b5d49; font-size:13px; text-align:center; }

.tpw-proposal{
  align-self:stretch; background:#eef2e3; border:1px solid #d9e0c4; border-radius:14px; padding:14px;
}
.tpw-proposal .lbl{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#43512a; }
.tpw-proposal .sum{ margin:6px 0 12px; font-size:14.5px; color:#2c2419; }
.tpw-proposal .acts{ display:flex; gap:8px; }
.tpw-proposal button{ border:none; cursor:pointer; border-radius:999px; padding:8px 16px; font-weight:700; font-size:13.5px; }
.tpw-apply{ background:#5b6b3a; color:#fff; }
.tpw-apply:hover{ background:#43512a; }
.tpw-applied{ font-size:13.5px; color:#43512a; font-weight:700; }

.tpw-foot{ padding:12px 16px; border-top:1px solid #e7dcc6; display:flex; gap:8px; }
.tpw-foot textarea{
  flex:1; resize:none; border:1px solid #d8cdb4; border-radius:12px; padding:10px 12px;
  font:inherit; font-size:14px; max-height:120px; background:#fff;
}
.tpw-send{ background:#c2572d; color:#fff; border:none; border-radius:12px; padding:0 16px; font-weight:700; cursor:pointer; }
.tpw-send:disabled{ opacity:.5; cursor:default; }

.tpw-versions{ padding:6px 18px 16px; }
.tpw-versions .v{ display:flex; gap:10px; padding:9px 0; border-bottom:1px dashed #e7dcc6; font-size:13.5px; align-items:baseline; }
.tpw-versions .v a{ color:#a4441f; font-weight:700; }
.tpw-versions .v.cur{ color:#2c2419; font-weight:700; }
.tpw-versions .v .when{ margin-left:auto; color:#9b8c72; font-size:12px; }

.tpw-dots:after{ content:'…'; animation:tpwdots 1.2s steps(4,end) infinite; }
@keyframes tpwdots{ 0%{content:''} 25%{content:'.'} 50%{content:'..'} 75%{content:'…'} }
