#signingStage { min-width:0; }
#signingStage [data-message]:empty { display:none; }
.tsModuleHead { margin-bottom:12px; }
.tsModuleHead button,.tsRowActions>button,.tsDocumentActions>button,.tsDocumentActions>a,.tsCreateChoice button { min-height:44px; }
.tsNavigation { display:flex; flex-wrap:wrap; gap:4px 20px; border-bottom:1px solid #cad2dc; margin-bottom:24px; }
.tsNavigation button.secondary { background:transparent; border:0; border-bottom:3px solid transparent; border-radius:0; box-shadow:none; padding:12px 4px; }
.tsNavigation button[aria-current=page] { border-bottom-color:#156b62; color:#145c55; }
.tsSearchBar { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,260px) auto; gap:16px; align-items:end; margin:18px 0 12px; }
.tsSearchBar label { display:grid; gap:6px; min-width:0; }
.tsSearchBar input,.tsSearchBar select { width:100%; min-width:0; min-height:44px; box-sizing:border-box; }
.tsStatusFilter { display:flex; flex-wrap:wrap; gap:8px; border:0; margin:0; padding:0; min-width:0; }
.tsStatusFilter legend { font-size:13px; margin-bottom:8px; }
.tsStatusFilter label { position:relative; cursor:pointer; }
.tsStatusFilter input { position:absolute; width:1px; height:1px; opacity:0; }
.tsStatusFilter span { display:flex; align-items:center; min-height:44px; padding:0 12px; box-sizing:border-box; border:1px solid #cad2dc; border-radius:5px; background:white; color:#394656; font-size:14px; }
.tsStatusFilter input:checked+span { background:#e7f3ef; border-color:#368676; color:#185e51; }
.tsStatusFilter input:focus-visible+span { outline:2px solid #175da1; outline-offset:3px; }
.tsResultCount,.tsMuted { color:#596677; font-size:13px; }
.tsResultCount { margin:12px 0; }
.tsDocumentTable { width:100%; border-collapse:collapse; table-layout:fixed; }
.tsDocumentTable th { font-size:12px; color:#536173; background:#edf0f3; }
.tsDocumentTable th,.tsDocumentTable td { padding:14px 12px; border-bottom:1px solid #d4dce4; text-align:left; vertical-align:middle; overflow-wrap:anywhere; }
.tsDocumentTable th:first-child { width:36%; }
.tsDocumentTable th:nth-child(2) { width:14%; }
.tsDocumentTable th:nth-child(3) { width:22%; }
.tsDocumentTable tr:hover td { background:#fafcfd; }
.tsDocumentTable .tsMuted { display:block; margin-top:6px; }
.tsBadge { display:inline-block; font-size:12px; line-height:1.5; font-weight:600; padding:3px 8px; border-radius:4px; background:#e9edf2; color:#475465; }
.tsBadge-pending { color:#795306; background:#fff0c8; }
.tsBadge-complete { color:#19664e; background:#def3e8; }
.tsBadge-cancelled { color:#8a343b; background:#fae6e7; }
.tsRowActions>button { margin:3px 4px 3px 0; max-width:100%; white-space:normal; }
.tsActionMenu { position:relative; display:inline-block; max-width:100%; vertical-align:middle; }
.tsActionMenu summary { padding:11px 12px; min-height:44px; box-sizing:border-box; cursor:pointer; color:#435165; border:1px solid #cad2dc; border-radius:5px; background:white; font-size:14px; }
.tsActionMenu summary:focus-visible { outline:2px solid #175da1; outline-offset:2px; }
.tsActionMenuItems { position:absolute; right:0; top:calc(100% + 4px); z-index:35; width:220px; max-width:calc(100vw - 64px); display:grid; padding:6px; background:white; border:1px solid #c7d0dc; border-radius:6px; box-shadow:0 6px 18px #17263724; box-sizing:border-box; }
.tsActionMenuItems button.secondary { text-align:left; white-space:normal; width:100%; border:0; border-radius:3px; padding:12px; background:white; box-shadow:none; }
.tsActionMenuItems button.secondary:hover { background:#edf2f5; }
.tsDocumentActions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:16px 0; border-bottom:1px solid #d4dce4; margin-bottom:20px; }
.tsDocumentSteps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:20px 0 0; padding:0; }
.tsDocumentSteps li { border-bottom:3px solid #d5dde5; padding:10px 0; font-size:14px; color:#596677; overflow-wrap:anywhere; }
.tsDocumentSteps li[aria-current=step] { border-color:#147767; color:#145c50; font-weight:700; }
.tsDocumentSteps li.isComplete { border-color:#7db6a6; }
.tsApproval { padding:4px 0 20px; }
.tsApproval h4 { margin:12px 0; }
.tsApproval>.inlineCheck { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; max-width:850px; }
.tsNewDocument { max-width:760px; }
.tsNewDocument h3 { font-size:18px; margin:0 0 20px; }
.tsCreateChoice { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:20px 0; border-top:1px solid #d4dce4; }
.tsCreateChoice h4 { margin:0; font-size:15px; }
.tsEmpty { padding:24px 0; border-top:1px solid #d4dce4; }
@media(max-width:900px){.tsSearchBar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}.tsSearchBar>button{justify-self:start;}.tsDocumentTable th:first-child{width:32%;}.tsDocumentTable th:nth-child(3){width:24%;}}
@media(max-width:600px){
 .tsModuleHead h2{font-size:18px;}.tsNavigation{gap:4px 14px;}.tsNavigation button.secondary{font-size:13px;}
 .tsSearchBar{grid-template-columns:minmax(0,1fr);gap:12px;}.tsStatusFilter{gap:6px;}.tsStatusFilter span{font-size:13px;padding:0 10px;}
 .tsDocumentTable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .tsDocumentTable tbody,.tsDocumentTable tr{display:block;}.tsDocumentTable tr{border-top:1px solid #cad2dc;padding:14px 0;}
 .tsDocumentTable td{display:block;border:0;padding:6px 0;}.tsDocumentTable td[data-label]::before{content:attr(data-label) ': ';font-size:12px;color:#596677;}
 .tsDocumentTable td[data-label] .tsMuted{display:inline;margin-left:8px;}.tsRowActions{display:flex!important;align-items:center;justify-content:space-between;gap:8px;}
 .tsDocumentSteps{gap:10px;}.tsDocumentSteps li{font-size:12px;}.tsDocumentActions>.tsActionMenu{margin-left:auto;}
}
.templateDesigner.tsTemplateForm { max-width:100%; width:100%; min-width:0; box-sizing:border-box; }
.templateDesignerLayout { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:16px; align-items:start; }
.templateProperties { min-width:0; display:grid; gap:12px; }
.templatePropertyFields { display:grid; gap:10px; }
.templateProperties input:not([type=checkbox]),.templateProperties select { width:100%; }
.templateProperties textarea { min-height:90px; }
.templateList { width:100%; border-collapse:collapse; margin-top:20px; }
.templateList td { padding:10px; border-bottom:1px solid #cbd5df; overflow-wrap:anywhere; }
.templateList td:last-child { min-width:0; }
.templateList td:last-child button { margin:3px; }
.builtinTemplateEditor { width:100%; max-width:100%; min-width:0; box-sizing:border-box; }
.builtinTemplateEditor label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:8px; }
.builtinTemplateEditor input[type=checkbox] { width:20px; min-height:20px; flex:0 0 20px; }
@media(max-width:600px){.templateList tr{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid #cbd5df;}.templateList td{border:0;}.templateList td:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;}.templateList td:last-child button{margin:0;}}
.customPdfSurface { min-width:0; max-width:100%; }
.customPdfSurface .actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.customPdfSurface .actions select { width:auto; max-width:140px; min-height:44px; }
.customPdfSurface .actions button { width:44px; height:44px; padding:0; }
.customPdfViewport { box-sizing:border-box; width:100%; min-width:0; overflow:auto; max-height:78dvh; background:#e7ebee; padding:8px; }
.templateDesigner label:has(>input[type=checkbox]),.templateUpload label:has(>input[type=checkbox]) { display:flex; align-items:center; gap:10px; }
.templateDesigner input[type=checkbox],.templateUpload input[type=checkbox] { width:20px; height:20px; min-height:20px; margin:0; flex:0 0 20px; }
.customPdfSheet { position:relative; background:white; flex:none; }
.customPdfSheet>canvas { display:block; width:100%; height:100%; }
.customPdfLayer { position:absolute; inset:0; }
.customPdfLayer .customPdfInput { position:absolute; box-sizing:border-box; min-height:0; margin:0; padding:1px 2px; border:0; border-radius:0; outline:1px solid #6b9fd4; background:#4b9ee825; color:#111; font-family:Arial,sans-serif; resize:none; }
.customPdfInput:focus { outline:2px solid #176ec2; background:#4b9ee83b; }
.customSignatureSlot { pointer-events:none; overflow:hidden; }
.customPdfLayer .templateField { position:absolute; box-sizing:border-box; padding:2px; margin:0; min-height:0; border:1px solid #2375bf; border-radius:0; background:#4b9ee838; color:#123653; font:12px Arial,sans-serif; overflow:hidden; white-space:nowrap; text-align:left; touch-action:none; cursor:move; }
.customPdfLayer .templateField.selected { border:2px solid #075eb0; background:#4b9ee855; }
.templateFieldResize { position:absolute; bottom:0; right:0; width:20px; height:20px; text-align:right; cursor:nwse-resize; background:#dbefff; color:#123653; }
@media(max-width:800px){.templateDesignerLayout{grid-template-columns:minmax(0,1fr);}.templatePropertyFields{grid-template-columns:repeat(2,minmax(0,1fr));}.customPdfViewport{max-height:65dvh;}.templateList td{padding:6px;}}
.tsHead { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.tsHead h2,.tsHead h3 { font-size:20px; margin:12px 0; }
.tsScroll { overflow-x:auto; }
.tsScroll table { width:100%; min-width:720px; border-collapse:collapse; }
.tsScroll th, .tsScroll td { padding:10px 12px; text-align:left; vertical-align:middle; border-bottom:1px solid #d6deea; }
.tsListFilter { display:flex; flex-wrap:wrap; gap:20px; border:0; padding:0; margin:0 0 16px; min-width:0; }
.tsListFilter legend { font-size:13px; margin-bottom:6px; }
.tsListFilter label { display:flex; align-items:center; gap:6px; cursor:pointer; }
.tsListFilter input { width:16px; height:16px; margin:0; }
.tsListFilter select { min-width:0; max-width:100%; min-height:44px; }
.tsListFilter label:has(select) { flex-wrap:wrap; max-width:100%; }
.tsScroll td:last-child { white-space:nowrap; }
.tsScroll td:last-child button + button { margin-left:8px; }
.tsCreate { max-width:900px; display:grid; gap:16px; }
.tsCreate label { display:grid; gap:6px; }
.tsCreate .inlineCheck { display:flex; gap:10px; align-items:flex-start; }
.tsPeople { display:grid; gap:12px; }
.tsPerson { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:12px; align-items:end; }
.tsParticipants { margin-top:20px; }
.tsParticipant { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:14px; align-items:center; padding:16px 4px; border-bottom:1px solid #d4dce5; }
.tsParticipant>* { min-width:0; overflow-wrap:anywhere; }
.tsDialog .signatureCollect { min-width:0; }
.tsDialog .signatureCollect fieldset { min-width:0; margin:0; border:1px solid #cbd5df; padding:10px; }
.tsDialog .signatureCollect fieldset label { margin:8px 0; }
.tsDialog .signatureCollect fieldset input:not([type=checkbox]) { min-width:0; width:100%; box-sizing:border-box; }
.tsDialog .errors:empty { display:none; }
.tsBrandLogo { width:90px; height:40px; object-fit:contain; }
.tsTemplateForm { max-width:960px; display:grid; gap:16px; overflow-anchor:none; }
.tsTemplateForm .tsHead h3 { flex:1; min-width:0; overflow-wrap:anywhere; font-size:18px; }
.tsTemplateForm label { display:grid; gap:6px; min-width:0; overflow-wrap:anywhere; }
.tsTemplateForm input,.tsTemplateForm textarea,.tsTemplateForm select { min-width:0; max-width:100%; box-sizing:border-box; }
.tsFormSection { border-top:1px solid #d4dce5; padding-top:16px; display:grid; gap:14px; }
.tsFormSection h3 { font-size:17px; margin:0 0 6px; }
.tsTemplateForm textarea { min-height:104px; resize:vertical; }
.tsYesNo { min-width:0; margin:0; padding:8px 0; border:0; border-bottom:1px solid #e2e7ed; }
.tsYesNo legend { float:left; width:calc(100% - 180px); padding:10px 8px 10px 0; overflow-wrap:anywhere; }
.tsYesNo label { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; min-width:80px; }
.tsYesNo input { width:20px; height:20px; margin:0; }
.tsFormNotice { font-size:13px; line-height:1.6; padding-top:14px; border-top:1px solid #d4dce5; }
.tsFormStatus { min-height:24px; margin:0; }
.tsPdfEditor { min-width:0; max-width:100%; }
.tsPdfFormViewport { max-width:100%; overflow:auto; background:#e7ebee; padding:8px; border:1px solid #b8c5d0; }
.tsPdfFormSheet { position:relative; flex:none; background:white; overflow:hidden; }
.tsPdfFormSheet canvas { display:block; width:100%; height:100%; }
.tsPdfFormSheet + .tsPdfFormSheet { margin-top:12px; }
.tsDprPhoto { position:absolute; object-fit:contain; }
.tsDprPhotos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.tsDprPhotoSlot { display:grid; align-content:start; gap:12px; min-width:0; border-top:1px solid #c8d3df; padding-top:12px; }
.tsPhotoStampFields { display:grid; gap:10px; min-width:0; margin:0; padding:0; border:0; }
.tsPhotoStampFields legend { margin-bottom:10px; }
.tsPhotoStampFields input { width:100%; min-width:0; box-sizing:border-box; }
.tsPhotoStampInfo { margin:0; font-size:13px; overflow-wrap:anywhere; }
@media(max-width:700px){.tsDprPhotos{grid-template-columns:minmax(0,1fr);}}
.tsDprSaveBar { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:12px 0; border-top:1px solid #c8d3df; }
.tsDprSaveBar .tsFormStatus { flex-basis:100%; }
.tsTemplateChooser { display:grid; gap:16px; max-width:540px; }
.tsDprActivities { border-top:1px solid #c8d3df; padding-top:12px; min-width:0; }
.tsDprActivities h3 { font-size:17px; margin:0; }
.tsDprActivityRow { display:grid; grid-template-columns:110px 110px minmax(100px,1fr) minmax(160px,2fr); gap:12px; border:0; border-bottom:1px solid #c8d3df; margin:0; padding:12px 0; min-width:0; }
.tsDprActivityRow legend { font-size:13px; padding-top:12px; }
.tsDprActivityRow input { width:100%; min-height:44px; }
@media(max-width:700px){.tsDprActivityRow{grid-template-columns:repeat(2,minmax(0,1fr));}.tsDprActivityRow label:nth-of-type(4){grid-column:1/-1;}}
.tsTemplateForm .tsPdfInput { position:absolute; box-sizing:border-box; min-height:0; margin:0; padding:0; border:0; outline:1px solid #6b9fd4; border-radius:0; background:#4b9ee825; color:#111; font-family:Arial,sans-serif; font-size:var(--field-font); line-height:var(--field-leading); resize:none; letter-spacing:0; }
.tsTemplateForm .tsPdfInput:focus { background:#4b9ee83b; outline:2px solid #176ec2; box-shadow:none; }
.tsDprForm .tsPdfInput { text-align:center; }
.tsDprForm input.tsPdfInput::-webkit-date-and-time-value { text-align:center; }
.tsDprForm input.tsPdfInput::-webkit-datetime-edit { text-align:center; }
.tsTemplateForm .tsPdfChoice { position:absolute; display:block; padding:0; margin:0; background:#4b9ee820; }
.tsPdfChoice input[type=radio] { appearance:none; display:block; height:84%; min-height:0; margin:2% 0 0 2%; padding:0; border-radius:0; border:0; background:transparent; cursor:pointer; }
.tsPdfChoice input:checked::after { content:'X'; display:block; font:var(--field-font)/1 Arial,sans-serif; text-align:center; color:#111; }
.tsPdfChoice:focus-within { outline:2px solid #176ec2; }
.tsDialog .inlineCheck { display:flex; align-items:flex-start; gap:10px; margin:18px 0; }
.tsDialog .signatureInk { width:100%; height:auto; aspect-ratio:18/5; border:1px solid #8ba0b5; touch-action:none; background:white; }
@media(max-width:700px){.tsPerson{grid-template-columns:1fr;}.tsParticipant{grid-template-columns:1fr 1fr;}.tsDialog{max-width:98vw;}.tsDialog .signatureLayout{grid-template-columns:1fr;}}
.signaturePlacement { min-width:0; border-top:1px solid #ccd6e0; padding-top:16px; }
.signaturePlacement .actions { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.signaturePlacement .actions label { flex:1 1 220px; min-width:0; }
.signaturePlacement .customPdfLayer { touch-action:pan-y; }
.signaturePlacement .placementField { background:#b9ddfa99; border:2px solid #267ac0; color:#123d61; overflow:hidden; min-height:0; min-width:0; padding:2px; font-size:11px; white-space:nowrap; text-overflow:ellipsis; }
.signaturePlacement .placementField.selected { border-color:#064c88; background:#8ac8f399; }
.signaturePlacement .templateFieldResize { width:24px; height:24px; cursor:nwse-resize; }
.placementProperties { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); align-items:end; gap:8px; margin-top:12px; }
.placementProperties input,.placementProperties select { width:100%; min-width:0; }
