.designer-layout,.signer-layout{display:flex;flex-direction:column;height:100%;min-height:0;font-family:system-ui,-apple-system,sans-serif;color:#222;background:#fafafa}.designer-header{justify-content:flex-end;padding:0 1rem;height:48px;border-bottom:1px solid #e5e5e5;background:#fff;flex-shrink:0}.designer-header,.designer-header-right{display:flex;align-items:center;gap:.5rem}.header-btn{padding:.4rem 1rem;border:1px solid transparent;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;white-space:nowrap;line-height:1.4;box-sizing:border-box}.header-btn-primary{background:#111;color:#fff;border-color:#111}.header-btn-primary:hover{background:#333;border-color:#333}.header-btn-outline{background:#fff;color:#555;border-color:#ccc}.header-btn-outline:hover{background:#f5f5f5;border-color:#999}.designer-body{display:flex;flex:1 1;overflow:hidden}.designer-palette{width:140px;flex-shrink:0;border-right:1px solid #e5e5e5;background:#fff;padding:.75rem 0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.palette-heading{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#999;padding:0 .75rem .5rem}.palette-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:-webkit-grab;cursor:grab;font-size:.85rem;color:#555;border-left:3px solid transparent;transition:all .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.palette-item:hover{background:#f5f5f5;color:#222}.palette-item.active{background:#f0f0f0;color:#111;border-left-color:#111;font-weight:500}.palette-item:active{cursor:-webkit-grabbing;cursor:grabbing}.palette-item-icon{width:22px;text-align:center;font-size:.9rem;flex-shrink:0}.palette-item-label{flex:1 1}.palette-divider{height:1px;background:#e5e5e5;margin:.5rem .75rem}.palette-role-section{padding:0 .75rem;display:flex;flex-direction:column;gap:.35rem}.palette-role-select{width:100%;padding:.3rem .4rem;border:1.5px solid #ddd;border-radius:4px;font-size:.8rem;font-weight:500;background:#fff;cursor:pointer}.palette-role-add-link{background:none;border:none;cursor:pointer;font-size:.75rem;color:#888;padding:0;text-align:left}.palette-role-add-link:hover{color:#555}.palette-role-add-inline{display:flex;flex-wrap:wrap;gap:.25rem}.palette-role-add-inline input{width:100%;padding:.25rem .4rem;border:1px solid #ccc;border-radius:4px;font-size:.75rem}.palette-role-add-inline button{padding:.2rem .4rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:.75rem}.designer-toolbar{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid #e5e5e5;background:#fff;gap:1rem;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.5rem}.signer-content{display:flex;flex:1 1;overflow:hidden}.designer-pdf-area,.signer-pdf-area{flex:1 1;overflow-y:auto;padding:1rem;background:#eee}.designer-panel,.signer-panel{width:320px;overflow:hidden;border-left:1px solid #e5e5e5;background:#fff;display:flex;flex-direction:column;flex-shrink:0}.panel-resize-handle{width:5px;cursor:col-resize;background:transparent;flex-shrink:0;position:relative;z-index:20;margin-right:-5px;transition:background .15s}.panel-resize-handle:active,.panel-resize-handle:hover{background:#d0d0d0}.ink-color-picker{display:flex;gap:.4rem;align-items:center}.ink-color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color .1s}.ink-color-swatch.active{border-color:#111;box-shadow:0 0 0 2px #fff,0 0 0 3px #111}.ink-color-swatch:hover:not(.active){border-color:#999}.panel-role-section{padding:.75rem 1rem;border-bottom:1px solid #eee}.panel-role-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.35rem}.panel-role-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.panel-role-select{padding:.3rem .5rem;border:1.5px solid #ddd;border-radius:4px;font-size:.85rem;font-weight:500;background:#fff;cursor:pointer;min-width:100px}.panel-role-add-link{background:none;border:none;cursor:pointer;font-size:.8rem;color:#888;padding:0;white-space:nowrap}.panel-role-add-link:hover{color:#555}.panel-role-add-inline{display:flex;gap:.25rem;align-items:center;flex:1 1}.panel-role-add-inline input{padding:.25rem .4rem;border:1px solid #ccc;border-radius:4px;font-size:.8rem;width:90px}.panel-role-add-inline button{padding:.25rem .5rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:.8rem}.panel-tabs{display:flex;border-bottom:1px solid #e5e5e5;flex-shrink:0}.panel-tab{flex:1 1;padding:.55rem 0;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.8rem;color:#888;font-weight:500;text-align:center;transition:all .1s}.panel-tab.active{color:#111;border-bottom-color:#111}.panel-tab:hover:not(.active){color:#555}.panel-tab-content{flex:1 1;overflow-y:auto;padding:1rem;gap:.75rem}.panel-tab-content,.pdf-viewer{display:flex;flex-direction:column}.pdf-viewer{gap:1rem;align-items:center}.pdf-page{position:relative;width:100%;max-width:800px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.1);cursor:crosshair}.pdf-page-image{width:100%;height:100%;display:block;pointer-events:none}.field-overlay{position:absolute;border:1.5px solid;border-radius:2px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:box-shadow .1s}.field-overlay.selected{box-shadow:0 0 0 2px rgba(0,0,0,.2);z-index:10}.field-overlay.editable{cursor:text}.field-overlay-label{position:absolute;top:-18px;left:-1px;font-size:10px;color:#fff;padding:1px 6px;border-radius:2px 2px 0 0;white-space:nowrap;pointer-events:none}.field-overlay-placeholder{color:#999;font-size:11px;padding:2px 4px;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.field-overlay-placeholder.readonly{color:#666}.field-overlay-value{font-size:11px;padding:2px 4px;width:100%}.field-inline-input{width:100%;height:100%;border:none;background:transparent;padding:2px 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none;font-family:inherit}.field-signature-preview{width:100%;height:100%;object-fit:contain}.field-signature-filled{width:100%;height:100%;cursor:pointer}.field-checkbox-display{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.field-checkbox-display.editable{cursor:pointer}.field-resize-handle{position:absolute;bottom:0;right:0;width:10px;height:10px;background:#fff;border:1px solid #999;cursor:nwse-resize}.upload-btn{display:inline-block;padding:.4rem 1rem;background:#111;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500}.upload-btn:hover{background:#333}.upload-btn-small{font-size:.8rem;padding:.3rem .75rem;background:#555}.upload-btn-large{font-size:1rem;padding:.6rem 1.5rem}.export-btn{padding:.4rem 1rem;background:#111;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500}.export-btn:hover{background:#333}.field-type-selector{display:flex;gap:2px}.field-type-btn{padding:.3rem .6rem;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.8rem;color:#555}.field-type-btn.active{background:#111;color:#fff;border-color:#111}.field-type-btn:hover:not(.active){background:#f5f5f5}.signer-role-selector{padding:.5rem 1rem;border-bottom:1px solid #e5e5e5;background:#fff}.signer-role-label{font-size:.75rem;color:#888;margin-bottom:.35rem}.signer-role-list{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.signer-role-chip{padding:.2rem .6rem;border:1.5px solid;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;background:transparent;transition:all .1s}.signer-role-remove{margin-left:.3rem;cursor:pointer;font-size:1rem}.signer-role-add-btn{padding:.2rem .5rem;border:1px dashed #ccc;border-radius:4px;background:none;cursor:pointer;font-size:.8rem;color:#888}.signer-role-add-input{display:flex;gap:.25rem;align-items:center}.signer-role-add-input input{padding:.2rem .4rem;border:1px solid #ccc;border-radius:4px;font-size:.8rem;width:120px}.signer-role-add-input button{padding:.2rem .5rem;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:.8rem}.field-property-panel{display:flex;flex-direction:column;gap:.75rem}.panel-header{display:flex;justify-content:space-between;align-items:center}.panel-header h3{margin:0;font-size:1rem}.panel-delete-btn{padding:.2rem .5rem;background:none;border:1px solid #e44;color:#e44;border-radius:4px;cursor:pointer;font-size:.8rem}.panel-delete-btn:hover{background:#e44;color:#fff}.panel-field label{display:block;font-size:.75rem;color:#888;margin-bottom:.2rem}.panel-field input[type=date],.panel-field input[type=email],.panel-field input[type=number],.panel-field input[type=tel],.panel-field input[type=text],.panel-field select{width:100%;padding:.35rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;background:#fff}.panel-field-group{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.panel-checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer}.panel-empty{color:#888;font-size:.85rem;padding:2rem .5rem;text-align:center}.prefill-section{border-top:1px solid #eee;padding-top:.75rem}.prefill-section h4{margin:0 0 .5rem;font-size:.85rem;color:#555}.prefill-input{width:100%;padding:.35rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem}.field-list{display:flex;flex-direction:column}.field-list h4{margin:0 0 .5rem;font-size:.85rem;color:#555}.field-list-item{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:4px;cursor:pointer;font-size:.8rem}.field-list-item:hover{background:#f5f5f5}.field-list-item.active{background:#eee}.field-list-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.field-list-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-list-page{color:#aaa;font-size:.75rem}.field-list-required{color:#e44;font-weight:700}.signer-field-input h3{margin:0 0 .5rem;font-size:1rem}.required-badge{display:inline-block;font-size:.7rem;background:#fee;color:#c33;padding:1px 6px;border-radius:3px;margin-bottom:.5rem}.signer-text-input{width:100%;padding:.4rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.signer-font-size{display:flex;align-items:center;gap:.35rem;margin-top:.4rem;font-size:.8rem;color:#666}.signer-font-size label{white-space:nowrap}.signer-font-size input{width:50px;padding:.2rem .3rem;border:1px solid #ddd;border-radius:3px;font-size:.8rem;text-align:center}.signer-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;cursor:pointer}.signer-date-display{font-size:.9rem;color:#555;padding:.4rem 0}.signer-field-readonly{color:#888;font-size:.85rem}.signer-field-readonly h3{margin:0 0 .25rem;font-size:1rem;color:#555}.signature-canvas-wrapper{display:flex;flex-direction:column;gap:.35rem}.signature-canvas{border:1px solid #ddd;border-radius:4px;background:#fff;cursor:crosshair;width:100%;height:auto;display:block;box-sizing:border-box}.signature-canvas-actions{display:flex;align-items:center;justify-content:space-between}.signature-clear-btn{padding:.2rem .5rem;background:none;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:.8rem;color:#888}.signature-hint{font-size:.75rem;color:#aaa}.field-navigator{border-top:1px solid #eee;padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.field-navigator-progress{font-size:.8rem;color:#888;text-align:center}.field-navigator-progress.clickable{cursor:pointer}.field-navigator-progress.clickable:hover{color:#555}.field-navigator-toggle{margin-left:.3rem;font-size:.6rem}.incomplete-fields-list{display:flex;flex-direction:column;max-height:150px;overflow-y:auto;border:1px solid #eee;border-radius:4px;background:#fafafa}.incomplete-field-item{padding:.4rem .6rem;border:none;background:none;text-align:left;font-size:.8rem;color:#c44;cursor:pointer}.incomplete-field-item:hover{background:#fff0f0}.incomplete-field-item:not(:last-child){border-bottom:1px solid #f0f0f0}.field-navigator-controls{display:flex;align-items:center;justify-content:center;gap:1rem}.nav-btn{padding:.35rem 1rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.85rem}.nav-btn:hover:not(:disabled){background:#f5f5f5}.nav-btn:disabled{opacity:.4;cursor:default}.nav-btn-complete{background:#111;color:#fff;border-color:#111;font-weight:500}.nav-btn-complete:hover:not(:disabled){background:#333}.field-navigator-position{font-size:.85rem;color:#888;min-width:50px;text-align:center}.loading-indicator{text-align:center;padding:2rem;color:#888;font-size:.9rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem;color:#888}.empty-state h2{margin:0;font-size:1.25rem;color:#555}.empty-state p{margin:0;font-size:.9rem}.powered-by{text-align:center;padding:.4rem;font-size:.7rem;color:#aaa;border-top:1px solid #eee;background:#fff}.powered-by a{color:#888;text-decoration:none}.powered-by a:hover{text-decoration:underline}.signer-panel-header{border-bottom:1px solid #e5e5e5;padding:.75rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.signer-panel-body{flex:1 1;overflow-y:auto;min-height:0}.signer-panel-footer{margin-top:auto;flex-shrink:0}.signer-role-indicator{display:flex;flex-direction:column;gap:.1rem;font-size:.95rem;color:#333}.signer-role-indicator-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#999;font-weight:500}.signer-step-badge{font-size:.7rem;color:#888;background:#f0f0f0;padding:.2rem .5rem;border-radius:10px;white-space:nowrap}.field-overlay.inactive-signer{opacity:.5}.field-overlay.inactive-signer .field-checkbox-display,.field-overlay.inactive-signer .field-overlay-placeholder,.field-overlay.inactive-signer .field-overlay-value{color:#bbb}