.modal textarea { border: 1px solid var(--line); border-radius: 7px; padding: 10px; outline: 0; color: var(--ink); font-size: 11px; resize: vertical; }
.modal textarea:focus { border-color: var(--blue); }
.movement-list { margin-top: 14px; border-top: 1px solid #edf2f5; }
.movement-item { display: flex; justify-content: space-between; gap: 10px; padding: 10px 0; border-bottom: 1px solid #edf2f5; font-size: 9px; }
.movement-item b, .movement-item small { display: block; }
.movement-item small { color: #8d9baa; margin-top: 2px; }
.movement-item strong { color: var(--ink); white-space: nowrap; }
.movement-item .row-action, .message .row-action { margin-left: auto; flex: none; }
.migration-note { padding: 16px 0; color: #8b99a7; font-size: 9px; }
.document-panel { margin-top: 16px; }
.file-button { cursor: pointer; }
.document-list { margin-top: 14px; border-top: 1px solid #edf2f5; }
.document-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid #edf2f5; font-size: 10px; }
.document-item b, .document-item small { display: block; }
.document-item small { color: #8d9baa; margin-top: 2px; }
.document-actions { display: flex; gap: 10px; }
.document-item button { border: 0; background: transparent; color: var(--blue); font-size: 10px; font-weight: 800; }
.document-item button[data-document-id] { color: var(--coral); }
.refresh-button { border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--blue); padding: 7px 9px; font-size: 10px; font-weight: 800; }
.refresh-button:hover { border-color: #8dbde2; }
.required-marker { font-size: 10px; font-weight: 400; color: #596779; }
.field-validation-error { display: block; color: #a42323; font-size: 12px; line-height: 1.4; }
.form-validation-summary { color: #a42323; background: #fff0f0; border: 1px solid #eebbbb; border-radius: 7px; padding: 10px; font-size: 12px; }
.field-validation-error[hidden], .form-validation-summary[hidden] { display: none; }
.modal [aria-invalid="true"] { border-color: #b3261e; outline: 1px solid #b3261e; }
.row-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.row-action { white-space: nowrap; }
.table-search { display: flex; align-items: center; gap: 8px; margin: 10px 0 12px; color: #596779; font-size: 10px; font-weight: 800; }
.table-search input { min-width: 220px; border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; color: var(--ink); font-size: 11px; }
.table-search select { min-width: 150px; border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; color: var(--ink); background: #fff; font-size: 11px; }
.table-search input:focus { border-color: var(--blue); outline: 2px solid rgba(53, 125, 180, .18); }
.movement-filter { justify-content: flex-end; }
.movement-filter select { min-width: 150px; border: 1px solid var(--line); border-radius: 7px; padding: 8px 10px; color: var(--ink); background: #fff; font-size: 11px; }
.table-sort { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; padding: 0; cursor: pointer; text-align: left; }
.table-sort::after { content: ' ↕'; opacity: .45; font-size: .8em; }
.table-sort[aria-sort="ascending"]::after { content: ' ↑'; opacity: 1; }
.table-sort[aria-sort="descending"]::after { content: ' ↓'; opacity: 1; }
.table-sort:focus-visible { outline: 2px solid #377dff; outline-offset: 3px; border-radius: 3px; }
