#signingStage { min-width:0; }
.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; gap:20px; border:0; padding:0; margin:0 0 16px; }
.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; }
.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;}}
