.tr-table-dialog{font:400 14px/1.5 'OPPO Sans Web',sans-serif;color:var(--ink,#202522);background:var(--surface,#fff);width:min(1080px,94vw);max-height:90vh;box-sizing:border-box;padding:24px;border:1px solid var(--line,#ddd);border-radius:18px;overflow:auto;box-shadow:0 24px 90px #0003}
.tr-table-dialog::backdrop{background:#17282066}
.tr-table-dialog header,.tr-table-dialog footer,.tr-table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tr-table-dialog h2{margin:0;font-size:21px;font-weight:600}.tr-table-dialog p{color:var(--ink-2,#64706a);margin:8px 0 18px}
.tr-table-dialog nav{display:flex;gap:8px;border-bottom:1px solid var(--line,#ddd);margin:6px 0 18px;padding-bottom:10px}
.tr-table-dialog nav button{font:inherit;border:0;background:transparent;padding:8px 18px;border-radius:8px;cursor:pointer}.tr-table-dialog nav button[aria-pressed=true]{background:#e9f1eb;color:#215c37;font-weight:600}
.tr-table-scroll{max-height:46vh;overflow:auto;border:1px solid var(--line,#ddd);border-radius:10px}
.tr-table-dialog table{border-collapse:collapse;width:100%;font-size:13px}.tr-table-dialog th{position:sticky;top:0;background:#eaf3fc;text-align:left;white-space:nowrap;z-index:1}
.tr-table-dialog th,.tr-table-dialog td{padding:9px 12px;border-bottom:1px solid var(--line,#e5e8e6);vertical-align:middle;min-width:100px}
.tr-table-dialog input,.tr-table-dialog select,.tr-table-dialog button{font-family:inherit}
.tr-table-dialog input:not([type=file]),.tr-table-dialog select{width:100%;min-width:125px;box-sizing:border-box;background:var(--surface,#fff);color:inherit;border:1px solid var(--line,#d4dcd7);border-radius:6px;padding:8px;font-size:13px}
.tr-table-dialog .tr-table-order{white-space:nowrap}.tr-table-order button{margin-right:5px;min-width:30px}
.tr-table-tools{justify-content:flex-start;padding:12px 0}.tr-table-dialog footer{border-top:1px solid var(--line,#ddd);padding-top:16px;margin-top:10px}.tr-table-dialog footer>span{font-size:12px;color:var(--ink-2,#64706a);flex:1}
.tr-table-dialog #tr-table-message{min-height:24px;color:#956515;margin-top:10px}
.tr-table-images td:first-child{width:40%;max-width:400px;overflow-wrap:anywhere}.tr-table-images td{text-align:left}.tr-table-images img{display:block;max-width:140px;max-height:210px;object-fit:contain;margin-bottom:10px}.tr-table-images .btn{margin:4px 4px 4px 0}
.tr-table-shot{display:block;width:max-content;max-width:100%;border-radius:6px;overflow:hidden}
.tr-table-shot img{display:block;max-width:160px;max-height:240px;object-fit:contain;background:var(--surface-2,#f6f8f7)}
.tr-table-preview td{min-width:130px;max-width:320px;overflow-wrap:anywhere;white-space:pre-wrap}
.tr-table-preview td:has(.tr-table-shot){min-width:160px;padding:12px}
.tr-table-empty{display:block;color:#7c8880;padding:15px 0}.tr-table-upload{position:relative;overflow:hidden;cursor:pointer}.tr-table-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.tr-table-dialog button:disabled{opacity:.45;cursor:default}
@media(max-width:650px){.tr-table-dialog{padding:15px}.tr-table-dialog header{align-items:flex-start}.tr-table-dialog footer{flex-wrap:wrap}.tr-table-dialog footer>span{flex-basis:100%}.tr-table-dialog h2{font-size:18px}}
/* 下载 Excel 的进度条：链接下沿一条细条；比例未知时一小段来回走 */
a.tr-dl-bar{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;
  background-position:0 100%;background-size:var(--tr-dl,0%) 2px;padding-bottom:3px;transition:background-size .4s}
a.tr-dl-bar.tr-dl-busy{background-size:30% 2px;animation:tr-dl-slide 1.2s ease-in-out infinite alternate}
@keyframes tr-dl-slide{from{background-position:0 100%}to{background-position:100% 100%}}
@media (prefers-reduced-motion:reduce){a.tr-dl-bar.tr-dl-busy{animation:none;background-size:100% 2px;opacity:.6}}
