.signature-dialog{width:min(calc(100% - 24px),850px);max-height:calc(100dvh - 24px)}
.signature-form{gap:16px}.signature-person{display:block;margin-top:9px;color:var(--navy);font-size:1.05rem;overflow-wrap:anywhere}
.signature-form p{line-height:1.5}.signature-profile{padding:9px 12px;border-radius:10px;background:#edf3f8;font-size:.8rem;font-weight:800;color:#38536f!important}
.signature-saved-row{display:flex;gap:16px;align-items:center}.signature-saved-row p{margin:0;font-size:.88rem}.signature-saved-row figure{margin:0;flex:0 0 72px;text-align:center}.signature-saved-row img{display:block;width:72px;height:auto;max-height:120px;object-fit:contain;border-radius:4px;border:1px solid var(--line)}.signature-saved-row figcaption{font-size:.65rem;margin-top:4px;color:var(--muted)}
.signature-source-actions{display:flex;flex-wrap:wrap;gap:8px}.signature-source-actions button{flex:1 1 auto}.signature-form button{min-height:44px}.signature-form .dialog-close{flex:0 0 44px}
.signature-camera-area{padding:12px;background:#edf3f8;border-radius:16px}.signature-camera-viewport{position:relative;overflow:hidden;isolation:isolate;width:min(100%,480px);height:430px;margin:auto;background:#122132;border-radius:9px}
.signature-camera-viewport video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.signature-camera-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70%;height:88%;outline:2px solid white;box-shadow:0 0 0 100vmax rgba(0,0,0,.52);pointer-events:none;box-sizing:border-box}
.signature-head-line{position:absolute;left:6%;right:6%;display:block;border-top:1px dashed rgba(255,255,255,.9);color:white;text-shadow:0 1px 3px black;font-size:.65rem;text-align:right;line-height:1.8}
.signature-head-top{top:9%}.signature-head-chin{top:84%}.signature-neck-guide{position:absolute;bottom:2%;width:100%;color:white;text-align:center;font-size:.6rem;text-shadow:0 1px 3px black}.signature-camera-help{font-size:.79rem;color:#38536f;margin:10px 0}
.signature-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.signature-form h3{margin:0;color:var(--navy);font-size:1.05rem}.signature-edit-heading button{font-size:.8rem;padding:8px 12px}
.signature-edit-grid{display:grid;grid-template-columns:minmax(160px,280px) minmax(200px,1fr);gap:24px;margin-top:12px;align-items:start}.signature-crop-viewport{position:relative;width:100%;overflow:hidden;background:#f3f4f5;touch-action:none;cursor:grab;border:1px solid #8ba2b9;box-shadow:0 4px 14px #17375e1a}.signature-crop-viewport:active{cursor:grabbing}.signature-crop-viewport canvas{display:block;width:100%;height:100%;object-fit:fill}.signature-crop-guide{position:absolute;inset:0;pointer-events:none}.signature-crop-guide .signature-head-line{border-top-color:#f2c75d;filter:drop-shadow(0 1px 1px #222)}.signature-edit-grid small{display:block;margin-top:8px;color:var(--muted);font-size:.72rem}
.signature-adjustments{display:grid;gap:13px}.signature-adjustments label>span{display:flex;justify-content:space-between;gap:10px}.signature-adjustments input[type=range]{padding:0;min-height:32px;accent-color:var(--navy);box-shadow:none}.signature-adjustments p{margin:0;color:var(--muted);font-size:.79rem}.signature-adjustments button{font-size:.8rem;padding:9px 11px}
.signature-ready{display:flex;align-items:center;gap:20px;padding:16px;border:1px solid #a2cdb5;border-radius:14px;background:#f0faf4}.signature-ready img{display:block;flex:0 0 auto;width:120px;height:auto;max-height:200px;object-fit:contain;border:1px solid #bfd5c8}.signature-ready p{font-size:.83rem;margin:7px 0 0;color:#325c45}.signature-conflict{border:1px solid #dbb050;background:#fff8e5;border-radius:12px;padding:14px}.signature-conflict p{margin:0 0 10px}.signature-message{margin:0!important;color:#304e6b!important;font-size:.86rem;font-weight:700}.signature-message:empty{display:none}.signature-message.error{color:var(--red)!important}
.signature-final-actions{position:sticky;bottom:-23px;z-index:2;margin:0 -23px -23px;padding:14px 23px max(16px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);box-shadow:0 -5px 18px #17375e0a}
.row-actions .signature-action,.search-card-actions .signature-action{border-color:#91adca;color:#194c7d;background:#eef5fc}.signature-availability{display:block;margin-top:5px;font-size:.71rem;font-weight:800;color:#637286}.signature-availability.available{color:#107a55}.new-signature-hint{display:block;margin-top:7px;max-width:230px;color:#4c6259;font-size:.7rem;line-height:1.35}
@media(max-width:600px){.signature-edit-grid{grid-template-columns:1fr;gap:16px}.signature-edit-grid>div:first-child{width:min(100%,255px);margin:auto}.signature-camera-viewport{height:380px}.signature-edit-heading{align-items:flex-start}.signature-ready{gap:12px;padding:12px}.signature-ready img{width:92px}.signature-final-actions{bottom:-19px;margin:0 -16px -19px;padding:12px 16px max(16px,env(safe-area-inset-bottom));grid-template-columns:1fr 1fr}.signature-source-actions button{font-size:.84rem}.signature-form>p{font-size:.85rem}.signature-form h2{font-size:1.4rem}}
@media(max-width:380px){.signature-camera-viewport{height:320px}.signature-ready{align-items:flex-start}.signature-ready img{width:76px}}

.signature-draw-area{display:grid;gap:12px}.signature-draw-area[hidden]{display:none}
#signaturePad{display:block;width:100%;height:auto;aspect-ratio:236/47;background:#fff;border:2px solid #91adca;border-radius:8px;touch-action:none;cursor:crosshair}
.signature-edit-grid{grid-template-columns:1fr}.signature-edit-grid>div:first-child{width:100%;max-width:600px;margin:auto}
.signature-saved-row figure{flex-basis:160px}.signature-saved-row img{width:160px;max-height:80px}
.signature-ready img{width:min(45%,260px);max-height:110px}.signature-camera-viewport{height:280px;width:100%}
@media(max-width:600px){.signature-edit-grid>div:first-child{width:100%}.signature-ready{flex-wrap:wrap}.signature-ready img{width:100%;max-width:300px}.signature-draw-area p{font-size:.85rem}}

/* r124: maximize a writing rectangle with the same proportions as the export. */
#signatureDialog.signature-writing{box-sizing:border-box;position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#fff}
#signatureDialog.signature-writing .signature-form{padding:0;margin:0;height:100%;min-height:0;display:block}
#signatureDialog.signature-writing .signature-form> :not(#signatureDrawArea){display:none!important}
#signatureDialog.signature-writing #signatureDrawArea{box-sizing:border-box;height:100%;min-height:0;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;background:#f3f7fb}
#signatureDialog.signature-writing #signatureDrawArea>p{margin:0;font-size:.85rem;line-height:1.35;color:#183955}
#signatureDialog.signature-writing .signature-pad-space{width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
#signatureDialog.signature-writing #signaturePad{box-sizing:content-box;flex:none;width:auto;height:auto;min-height:0;max-height:none;aspect-ratio:236/47;background:white;border:2px solid #91adca;border-radius:12px;touch-action:none;user-select:none;-webkit-user-select:none}
#signatureDialog.signature-writing .signature-source-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
#signatureDialog.signature-writing .signature-source-actions button{flex:1 1 auto;min-height:44px;padding:10px 12px;font-size:.85rem}
@media(max-height:480px){#signatureDialog.signature-writing #signatureDrawArea{gap:6px;padding:6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}#signatureDialog.signature-writing .signature-source-actions button{min-height:38px;padding:7px 10px;font-size:.78rem}}

/* Direction guide stays outside the canvas and is never exported. */
.signature-direction{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;direction:ltr;text-align:left;font-weight:700}.signature-direction>span{font-size:2rem;line-height:.8;color:#154f60}

/* Immediate exit stays inside the writing viewport, outside the exported canvas. */
.signature-writing-top{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.signature-writing-top p{margin:0;flex:1;min-width:0}.signature-writing-top button{flex:0 0 auto;min-height:44px;padding:10px 14px;border:1px solid #9eb5c7;border-radius:10px;background:white;color:#173b54;font-weight:750;white-space:nowrap}.signature-writing-top .signature-direction{gap:10px;font-size:.85rem}@media(max-width:480px){.signature-writing-top{gap:8px}.signature-writing-top button{font-size:.78rem;padding:9px 10px}.signature-writing-top .signature-direction{font-size:.75rem}}

/* r129: reserve visible space for confirmation, including short landscape screens. */
#signatureDialog.signature-writing .signature-writing-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.65fr);gap:10px;min-width:0;align-items:stretch;background:#f3f7fb}
#signatureDialog.signature-writing .signature-writing-actions .signature-source-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0}
#signatureDialog.signature-writing .signature-writing-actions button{min-width:0;min-height:44px;margin:0;white-space:normal;touch-action:manipulation}
#signatureDialog.signature-writing #signatureUse{display:block;width:100%;min-height:50px;padding:10px 14px;border:2px solid #0c4e36;border-radius:12px;background:#10754f;color:white;font:800 1.1rem/1.2 system-ui;box-shadow:0 2px 7px #0c4e3622}
#signatureDialog.signature-writing #signatureUse:disabled{background:#536c63;border-color:#536c63;opacity:.65}
@media(max-width:620px){#signatureDialog.signature-writing .signature-writing-actions{grid-template-columns:1fr;gap:6px}#signatureDialog.signature-writing #signatureUse{grid-row:1;min-height:48px}}
@media(max-height:360px){#signatureDialog.signature-writing .signature-writing-top button{min-height:38px;padding:6px 10px}#signatureDialog.signature-writing .signature-writing-actions button{min-height:38px;font-size:.75rem;padding:6px}#signatureDialog.signature-writing #signatureUse{min-height:44px;font-size:1rem}}
