/* Sourcing form. Neutral tokens so it inherits whatever palette the host page
   uses: this component appears on Ask vs Sold, Signals, model and reference
   pages, and must not look bolted on to any of them. */
.twi-src{
  margin:28px 0;padding:22px 24px;border:1px solid rgba(128,128,128,.22);
  border-radius:10px;background:rgba(128,128,128,.04);
}
.twi-src-h{margin:0 0 8px;font-size:1.05rem;font-weight:600;line-height:1.3;}
.twi-src-p{margin:0 0 18px;font-size:.92rem;line-height:1.6;opacity:.82;max-width:62ch;}
.twi-src-f{display:flex;flex-direction:column;gap:14px;}
.twi-src-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.twi-src label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;
  letter-spacing:.04em;text-transform:uppercase;opacity:.72;}
.twi-src input,.twi-src select{
  padding:10px 12px;font:inherit;font-size:.95rem;text-transform:none;
  letter-spacing:normal;border:1px solid rgba(128,128,128,.34);border-radius:6px;
  background:rgba(255,255,255,.92);color:#141a1f;min-width:0;
}
.twi-src input:focus,.twi-src select:focus{outline:2px solid rgba(28,95,110,.5);outline-offset:1px;}
.twi-src-btn{
  align-self:flex-start;padding:11px 22px;font:inherit;font-weight:600;
  border:0;border-radius:6px;background:#1c5f6e;color:#fff;cursor:pointer;
}
.twi-src-btn:hover{filter:brightness(1.08);}
.twi-src-btn[disabled]{opacity:.55;cursor:default;}
.twi-src-msg{margin:4px 0 0;font-size:.88rem;min-height:1.2em;}
.twi-src-msg.ok{color:#2c6a4a;}
.twi-src-msg.err{color:#a3271e;}
.twi-src-disc{margin:14px 0 0;font-size:.8rem;line-height:1.55;opacity:.62;max-width:62ch;}

/* T2-5 anticipated: two columns collapse rather than overflow on a phone. */
@media (max-width:560px){
  .twi-src{padding:18px 16px;}
  .twi-src-row{grid-template-columns:1fr;}
}
@media (prefers-color-scheme:dark){
  .twi-src input,.twi-src select{background:rgba(20,26,32,.9);color:#e5ecf1;
    border-color:rgba(160,175,190,.3);}
}
