.message.assistant .message-content :is(th,td).table-cell-editable{cursor:text;position:relative;transition:background-color .12s ease,box-shadow .12s ease}
.message.assistant .message-content :is(th,td).table-cell-editable:hover{background-color:#f3f7fd;box-shadow:inset 0 0 0 1px #c8dcfa}
.message.assistant .message-content :is(th,td).table-cell-editable:focus-visible{outline:2px solid #007aff;outline-offset:-2px}
.message.assistant .message-content :is(th,td).is-table-cell-editing{outline:2px solid #007aff;outline-offset:-2px;background:#f0f7ff;white-space:pre-wrap;caret-color:#007aff;word-break:normal;overflow-wrap:anywhere}
.message.assistant .message-content :is(th,td)[data-table-cell-input]{white-space:pre-wrap}
.message.assistant .message-content :is(th,td).is-table-cell-editing:empty:before{content:'\00a0';pointer-events:none}
.table-edit-status{display:flex;align-items:center;gap:8px;min-height:24px;margin:6px 0 12px;color:var(--color-muted,#73737c);font-size:12px;line-height:1.5}
.table-edit-status[hidden]{display:none}
.answer-table-toolbar{align-items:center;gap:8px}
.answer-table-toolbar .table-edit-status{margin:0;min-height:32px;flex:1}
.table-edit-status.is-saving:before{content:'';width:10px;height:10px;border:1.5px solid #d5e6ff;border-top-color:#007aff;border-radius:50%;animation:table-edit-saving .8s linear infinite;flex:none}
.table-edit-status.is-error{color:#ad3c2b;flex-wrap:wrap}
.table-edit-retry{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:0;padding:4px 8px;border-radius:7px;background:transparent;color:#007aff;font-size:12px;line-height:20px;text-decoration:underline;text-underline-offset:3px}
.table-edit-retry:hover{background:#eaf2ff}
@keyframes table-edit-saving{to{transform:rotate(360deg)}}
@media(max-width:767px),(pointer:coarse){.message.assistant .message-content :is(th,td).table-cell-editable{min-height:44px}.table-edit-retry{min-height:44px;padding:8px}.table-edit-status{font-size:12px;gap:4px}}
@media(prefers-reduced-motion:reduce){.message.assistant .message-content :is(th,td).table-cell-editable{transition:none}.table-edit-status.is-saving:before{animation:none}}

.table-cell-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;position:sticky;top:0;z-index:6;background:var(--color-surface,#fff);padding:8px;border:1px solid #e5e5e9;border-radius:10px}
.table-cell-controls span{margin-right:auto;font-size:12px;color:#666}
.table-cell-controls button{min-height:44px;padding:8px 14px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#333}
.table-cell-controls button[data-cell-finish="save"]{background:#17191d;color:#fff;border-color:#17191d}
