.ticket-chat { --tc-bg: var(--paper, #fff); --tc-soft: var(--paper-soft, #f4f6f3); --tc-text: var(--ink, #162016); --tc-muted: var(--ink-2, #536153); --tc-line: var(--line, #d9e1d6); margin-top: 18px; padding: 16px; border: 1px solid var(--tc-line); border-radius: 14px; background: var(--tc-bg); color: var(--tc-text); min-width: 0; }
body.dark .ticket-chat { --tc-bg: #182119; --tc-soft: #222d23; --tc-text: #eef5ec; --tc-muted: #b9c7b6; --tc-line: #3c4b3b; }
.ticket-chat [hidden] { display: none !important; }
.ticket-chat .tc-head { display: flex; position: static; justify-content: space-between; align-items: start; gap: 12px; margin: 0 0 8px; padding: 0; border: 0; min-height: 0; }
.ticket-chat h4 { margin: 0; font-size: 17px; color: var(--tc-text); }
.tc-ticket-status { font-size: 13px; }
.tc-title { font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; margin-bottom: 8px; }
.tc-sync, .tc-form small { display: block; font-size: 12px; color: var(--tc-muted); line-height: 1.5; }
.tc-messages { max-height: 390px; overflow: auto; overscroll-behavior: contain; margin: 12px 0; }
.tc-message { background: var(--tc-soft); border: 1px solid var(--tc-line); border-radius: 10px; padding: 12px; margin-bottom: 10px; }
.tc-message.tc-staff { border-left: 3px solid #48a82c; }
.ticket-chat .tc-message header { display: grid; position: static; gap: 4px; padding: 0; margin: 0 0 8px; min-height: 0; border: 0; }
.tc-message header b { font-size: 14px; color: var(--tc-text); }
.tc-message header span { font-size: 12px; color: var(--tc-muted); }
.tc-message p, .tc-description { font-size: 14px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; margin: 8px 0; color: var(--tc-text); }
.ticket-chat .tc-file, .ticket-chat .tc-older { display: block; background: var(--tc-bg); color: var(--tc-text); border: 1px solid var(--tc-line); border-radius: 8px; padding: 8px 10px; margin-top: 6px; font-size: 13px; cursor: pointer; overflow-wrap: anywhere; max-width: 100%; text-align: left; }
.tc-form { display: grid; gap: 10px; }
.tc-form label { display: grid; gap: 7px; font-size: 13px; color: var(--tc-text); }
.ticket-chat textarea { width: 100%; min-height: 90px; resize: vertical; border: 1px solid var(--tc-line); border-radius: 9px; padding: 10px; background: var(--tc-soft); color: var(--tc-text); font: inherit; }
.ticket-chat input[type="file"] { width: 100%; min-width: 0; font-size: 13px; color: var(--tc-text); }
.ticket-chat .tc-send { justify-self: start; border: 0; border-radius: 9px; background: #258700; color: #fff; padding: 12px 18px; font-weight: 700; cursor: pointer; }
.tc-error { font-size: 13px; color: var(--tc-text); line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.ticket-chat :focus-visible { outline: 2px solid #4599df; outline-offset: 2px; }
.tc-empty { font-size: 14px; color: var(--tc-muted); line-height: 1.5; }
