.tc-document-card { padding:16px; border:1px solid var(--tc-border,#e2e8f0); border-radius:12px; background:var(--tc-surface,#fff); margin:12px 0; color:var(--tc-text,#0f172a); }
.tc-document-name { font-weight:700; overflow-wrap:anywhere; margin-bottom:12px; }
.tc-document-actions,.tc-document-toolbar { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.tc-document-card .tc-btn,.tc-document-dialog .tc-btn { width:auto; margin:0; padding:9px 14px; border:1px solid var(--tc-border,#dbe4f0); border-radius:8px; background:var(--tc-surface,#fff); color:var(--tc-text,#334155); font:inherit; font-size:14px; font-weight:600; cursor:pointer; min-height:44px; }
.tc-document-dialog .tc-btn:disabled { opacity:.45; cursor:default; }
.tc-document-card .tc-btn:focus-visible,.tc-document-dialog :focus-visible { outline:2px solid var(--tc-primary,#2563eb); outline-offset:3px; }
.tc-document-status:empty { display:none; }
.tc-document-status { margin-top:8px; font-size:13px; }
.tc-document-dialog { padding:0; border:1px solid var(--tc-border,#e2e8f0); border-radius:16px; width:min(1080px,94vw); max-width:94vw; height:88dvh; max-height:92dvh; color:var(--tc-text,#0f172a); background:var(--tc-surface,#fff); box-shadow:0 24px 70px #0f172a33; font-family:inherit; }
.tc-document-dialog[open] { display:flex; flex-direction:column; }
.tc-document-dialog::backdrop { background:#0f172a99; }
.tc-document-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid var(--tc-border,#e2e8f0); }
.tc-document-dialog h2 { font:inherit; font-size:18px; font-weight:700; margin:4px 0 0; overflow-wrap:anywhere; }
.tc-document-eyebrow { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--tc-muted,#64748b); }
.tc-document-body { flex:1; min-height:0; overflow:auto; padding:16px; background:var(--tc-bg,#f8fafc); }
.tc-document-body > img,.tc-document-body > video { display:block; max-width:100%; max-height:100%; object-fit:contain; margin:auto; }
.tc-document-body > audio { display:block; width:100%; margin:24px auto; }
.tc-document-toolbar { margin-bottom:12px; }
.tc-document-toolbar label { display:flex; align-items:center; gap:8px; }
.tc-document-toolbar select { max-width:220px; min-height:44px; padding:8px 12px; border:1px solid var(--tc-border,#dbe4f0); border-radius:8px; background:var(--tc-surface,#fff); color:inherit; font:inherit; }
.tc-document-page,.tc-document-table { overflow:auto; }
.tc-document-page canvas { display:block; background:#fff; }
.tc-document-text { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:14px; line-height:1.6; }
.tc-document-note { font-size:12px; color:var(--tc-muted,#64748b); }
.tc-document-table table { border-collapse:collapse; width:max-content; min-width:100%; font-size:13px; background:#fff; }
.tc-document-table td { padding:8px 10px; border:1px solid var(--tc-border,#e2e8f0); max-width:260px; overflow-wrap:anywhere; }
@media(max-width:600px) { .tc-document-dialog { width:100%; max-width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; margin:0; } .tc-document-dialog header { padding:12px; } .tc-document-body { padding:12px; } .tc-document-toolbar { gap:8px; } }
