.messaging-workspace { --messaging-border: var(--border, #dce4eb); display: grid; gap: 20px; min-width: 0; }
.messaging-workspace > .page-header, .messaging-workspace > .tabs { margin-bottom: 0; }
.messaging-workspace .card { min-width: 0; overflow: hidden; }
.messaging-workspace .card-header { align-items: flex-start; }
.messaging-panel { padding: 22px 24px; display: grid; gap: 16px; min-width: 0; }
.messaging-panel > p, .messaging-panel > h3 { margin: 0; }
.messaging-panel > a { justify-self: start; }
.messaging-fields { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 16px; }
.messaging-fields[disabled] { opacity: .7; }
.messaging-fields .field, .messaging-fields .field-control { min-width: 0; }
.messaging-fields input, .messaging-fields select, .messaging-fields textarea { max-width: 100%; }
.messaging-fields textarea { min-height: 120px; resize: vertical; line-height: 1.6; }
.messaging-fields input[type="file"] { padding: 12px; height: auto; }
.messaging-fields > button[type="submit"] { justify-self: start; }
.messaging-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.messaging-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.messaging-actions a { font-weight: 600; text-underline-offset: 3px; }
.messaging-check { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.6; }
.messaging-check input { flex: none; width: 17px; height: 17px; margin: 3px 0 0; accent-color: var(--primary, #187ac1); }
.messaging-muted { color: var(--text-muted, #607487); font-size: 12px; line-height: 1.65; }
.messaging-empty { padding: 18px; background: var(--surface-muted, #f5f8fa); border: 1px dashed var(--messaging-border); border-radius: 10px; color: var(--text-muted, #607487); }
.messaging-alert, .messaging-success { margin: 0; padding: 14px 16px; border: 1px solid #e6c788; border-radius: 9px; background: #fff8e9; color: #6e4a0e; line-height: 1.6; overflow-wrap: anywhere; }
.messaging-alert .btn { margin-left: 8px; }
.messaging-success { background: #edf8f5; border-color: #b5dacf; color: #205e4c; }
.messaging-stats { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--messaging-border); border-radius: 12px; overflow: hidden; }
.messaging-stats > div { padding: 16px 18px; background: var(--surface-muted, #f7fafc); border-right: 1px solid var(--messaging-border); border-bottom: 1px solid var(--messaging-border); }
.messaging-stats dt { color: var(--text-muted, #607487); font-size: 12px; font-weight: 600; }
.messaging-stats dd { margin: 7px 0 0; font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--text, #143449); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.messaging-pagination { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px 0 0; }
.messaging-pagination > span { margin-right: auto; font-size: 12px; color: var(--text-muted, #607487); }
.messaging-workspace .table-scroll { max-width: 100%; overflow: auto; overscroll-behavior-x: contain; }
.messaging-workspace .data-table { min-width: 660px; }
.messaging-workspace .data-table td { vertical-align: top; max-width: 480px; overflow-wrap: anywhere; }
.messaging-message { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; font: inherit; font-size: 13px; line-height: 1.6; min-width: 180px; }
.messaging-workspace details { border: 1px solid var(--messaging-border); border-radius: 9px; padding: 14px; min-width: 0; }
.messaging-workspace details > summary { cursor: pointer; font-weight: 600; line-height: 1.65; overflow-wrap: anywhere; }
.messaging-workspace details[open] > summary { margin-bottom: 16px; }
.messaging-workspace details > .messaging-actions { margin-top: 16px; }
.messaging-workspace details + details { margin-top: 8px; }
.messaging-workspace details .table-subline { font-weight: 400; }
.messaging-review { display: grid; gap: 14px; border-top: 1px solid var(--messaging-border); padding-top: 18px; margin-top: 4px; min-width: 0; }
.messaging-review > p { margin: 0; }
.messaging-review form { padding: 16px; border-radius: 10px; background: var(--surface-muted, #f4f8fc); border: 1px solid var(--messaging-border); }
.messaging-digest { font-size: 11px; color: var(--text-muted, #607487); overflow-wrap: anywhere; }
.messaging-status { display: inline-block; background: #edf2f7; color: #284760; padding: 3px 8px; border-radius: 5px; font-size: 11px; letter-spacing: .025em; font-weight: 700; }
.messaging-tokens { display: flex; flex-wrap: wrap; gap: 7px; }
.messaging-tokens code { padding: 5px 9px; border: 1px solid var(--messaging-border); border-radius: 6px; background: #f4f8fc; font-size: 12px; }
.messaging-readout { display: grid; gap: 10px; margin: 12px 0; }
.messaging-readout > div { display: grid; grid-template-columns: minmax(110px, 1fr) minmax(0, 3fr); gap: 14px; border-bottom: 1px solid var(--messaging-border); padding-bottom: 9px; }
.messaging-readout dt { font-size: 12px; color: var(--text-muted, #607487); text-transform: capitalize; }
.messaging-readout dd { margin: 0; font-size: 13px; overflow-wrap: anywhere; white-space: pre-wrap; }
.messaging-readout .messaging-readout { margin: 0; }
.messaging-recovery { padding: 18px; border: 1px solid var(--messaging-border); border-left: 3px solid #d79735; border-radius: 10px; display: grid; gap: 14px; }
.messaging-recovery > h3, .messaging-recovery > p { margin: 0; }
.messaging-recovery > button { justify-self: start; }
.messaging-test-inputs:not([hidden]) { display: grid; gap: 14px; padding: 18px; border: 1px solid #e6c788; border-radius: 9px; background: #fffaf0; }
.messaging-workspace :focus-visible { outline: 3px solid var(--primary, #187ac1); outline-offset: 3px; }
@media (max-width: 800px) {
  .messaging-panel { padding: 18px; }
  .messaging-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .messaging-grid { grid-template-columns: minmax(0, 1fr); }
  .messaging-workspace .page-header { gap: 16px; }
}
@media (max-width: 480px) {
  .messaging-workspace { gap: 14px; }
  .messaging-panel { padding: 14px; gap: 14px; }
  .messaging-stats > div { padding: 12px; }
  .messaging-stats dd { font-size: 20px; }
  .messaging-actions { align-items: stretch; }
  .messaging-actions .btn { flex-grow: 1; white-space: normal; }
  .messaging-readout > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .messaging-workspace details { padding: 11px; }
  .messaging-recovery { padding: 13px; }
  .messaging-pagination .btn { min-height: 38px; }
}
