/* FT101v2 1.2.8 — Live Negotiation Chat */
.negotiation-modal{width:min(780px,calc(100vw - 28px));max-height:90vh;display:flex;flex-direction:column}
.negotiation-modal .modal-body{display:flex;flex-direction:column;min-height:0;padding:0}
.negotiation-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:14px 18px;border-bottom:1px solid #dce3ec;background:#f8fafc}
.negotiation-summary strong,.negotiation-summary small{display:block}.negotiation-summary small{margin-top:3px;color:#657388}
.negotiation-summary .pill{align-self:start}
.negotiation-message-list{display:flex;flex-direction:column;gap:10px;min-height:300px;max-height:52vh;overflow:auto;padding:18px;background:#f3f6fa}
.negotiation-empty{margin:auto;text-align:center;color:#68778b}.negotiation-empty strong{display:block;color:#27364a;margin-bottom:5px}
.negotiation-message{max-width:78%;padding:10px 12px;border:1px solid #d6deea;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(19,37,63,.05)}
.negotiation-message.own{align-self:flex-end;border-color:#9db9f5;background:#eaf1ff}.negotiation-message.instructor{border-color:#e6c66f;background:#fff8df}
.negotiation-message header{display:flex;align-items:center;gap:8px;margin-bottom:5px}.negotiation-message header strong{font-size:11px}.negotiation-message header span{padding:2px 6px;border-radius:999px;background:#e8edf4;color:#40516a;font-size:8px;font-weight:900;letter-spacing:.05em}
.negotiation-message p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.45}.negotiation-message time{display:block;margin-top:6px;color:#778499;font-size:9px}
.negotiation-composer{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px 18px;border-top:1px solid #dce3ec;background:#fff}.negotiation-composer textarea{min-height:68px;max-height:150px;resize:vertical}.negotiation-composer button{align-self:end;min-width:110px}
.negotiation-button{position:relative}.negotiation-unread{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:999px;background:#e33b3b;color:#fff;font-size:9px;font-weight:900}
.negotiation-workspace{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.45fr);gap:16px;min-height:620px}
.negotiation-thread-panel,.negotiation-conversation-panel{min-height:0;overflow:hidden}.negotiation-thread-list{display:flex;flex-direction:column;max-height:620px;overflow:auto}
.negotiation-thread-card{display:grid;grid-template-columns:1fr auto;gap:10px;width:100%;padding:13px 15px;border:0;border-bottom:1px solid #e0e6ee;background:#fff;text-align:left;cursor:pointer}.negotiation-thread-card:hover,.negotiation-thread-card.active{background:#edf3ff}.negotiation-thread-card strong,.negotiation-thread-card small{display:block}.negotiation-thread-card small{margin-top:3px;color:#67758a}.negotiation-thread-card .thread-preview{margin-top:7px;overflow:hidden;color:#42526a;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.negotiation-thread-card .thread-meta{text-align:right}.negotiation-thread-card .thread-meta time{display:block;color:#758297;font-size:8px}
.negotiation-conversation-panel{display:flex;flex-direction:column}.negotiation-conversation-panel .panel-header{flex:0 0 auto}.negotiation-conversation-panel .negotiation-message-list{flex:1;max-height:none;min-height:420px}.negotiation-conversation-panel .negotiation-composer{flex:0 0 auto}
.negotiation-filter-row{display:flex;gap:10px;align-items:center}.negotiation-filter-row select{min-width:180px}.negotiation-filter-row .search{flex:1}
@media(max-width:900px){.negotiation-workspace{grid-template-columns:1fr}.negotiation-thread-list{max-height:280px}.negotiation-conversation-panel .negotiation-message-list{min-height:340px}.negotiation-summary{grid-template-columns:1fr}.negotiation-composer{grid-template-columns:1fr}.negotiation-message{max-width:92%}}

/* FT101v2 1.4.1 shared Internal Comms file handoff */
.negotiation-file-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.45fr);gap:10px}
.negotiation-attachment{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:9px 10px;border:1px solid #cddbe7;border-radius:8px;background:#f7fafc;color:inherit;text-decoration:none}
.negotiation-attachment:hover{background:#eef5fa;border-color:#9db8cc}.negotiation-attachment span{font-size:11px;color:#64748b}
@media(max-width:720px){.negotiation-file-row{grid-template-columns:1fr}}


/* FT101v2 1.4.2 — messaging-app perspective */
.negotiation-message:not(.own):not(.instructor){align-self:flex-start;border-bottom-left-radius:4px}
.negotiation-message.own{align-self:flex-end;border-bottom-right-radius:4px}
.negotiation-message.own header{justify-content:flex-end}
.negotiation-message.own time{text-align:right}
.negotiation-message.instructor{align-self:center}
