/* Hide WordPress page title and separator above the plugin */
.page .entry-title,
.page .entry-header,
.page-title,
.wp-block-post-title,
body.page .entry-title{display:none !important;}
.entry-content > hr:first-child,
.entry-content > .wp-block-separator:first-child{display:none !important;}

:root{--hs-black:#1a1a1a;--hs-white:#fff;--hs-gray-50:#fafafa;--hs-gray-100:#f5f5f5;--hs-gray-200:#e5e5e5;--hs-gray-400:#a3a3a3;--hs-gray-600:#525252;--hs-red:#dc2626;--hs-green:#16a34a;--hs-blue:#2563eb;--hs-orange:#d97706;--hs-font:'DM Sans',-apple-system,sans-serif;--hs-mono:'Space Mono',monospace;}

/* Kill all shadows and radii globally */
.hs-wrap,.hs-wrap *{box-shadow:none !important;text-shadow:none !important;border-radius:0 !important;}

/* Prevent ANY size shift on hover/focus/active */
.hs-wrap button,.hs-wrap .hs-btn,.hs-wrap a.hs-btn,.hs-wrap input{outline:none !important;outline-offset:0 !important;box-sizing:border-box !important;}

.hs-wrap{font-family:var(--hs-font);color:var(--hs-black);max-width:960px;margin:0 auto;padding:0 16px 40px;}

/* Header */
.hs-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:24px;border-bottom:2px solid var(--hs-black);}
.hs-header-left{display:flex;flex-direction:column;gap:6px;}
.hs-header-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.hs-logo{display:flex;align-items:center;gap:10px;}
.hs-logo-icon{width:32px;height:32px;background:var(--hs-black);color:var(--hs-white);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;}
.hs-logo-title{font-size:16px;font-weight:700;letter-spacing:-0.02em;}
.hs-logo-sub{display:block;font-size:10px;color:var(--hs-gray-400);font-family:var(--hs-mono);letter-spacing:.08em;text-transform:uppercase;}

/* Buttons - ZERO size change on any state. Fixed border-width, padding, margin. Only bg+color flip on hover. */
.hs-btn{display:inline-block;padding:8px 16px;border:2px solid var(--hs-black) !important;background:var(--hs-white);color:var(--hs-black);font-family:var(--hs-font);font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.2;vertical-align:middle;box-sizing:border-box;transition:background .15s,color .15s;outline:0 !important;}
.hs-btn:hover,.hs-btn:focus,.hs-btn:active{background:var(--hs-black);color:var(--hs-white);border:2px solid var(--hs-black) !important;padding:8px 16px;outline:0 !important;}
.hs-btn-primary{background:var(--hs-black);color:var(--hs-white);}
.hs-btn-primary:hover,.hs-btn-primary:focus,.hs-btn-primary:active{background:var(--hs-gray-600);color:var(--hs-white);border:2px solid var(--hs-gray-600) !important;}
.hs-btn-primary:disabled{background:var(--hs-gray-200);color:var(--hs-gray-400);border:2px solid var(--hs-gray-200) !important;cursor:default;}
.hs-btn-primary:disabled:hover{background:var(--hs-gray-200);color:var(--hs-gray-400);}
.hs-btn-danger{border:2px solid var(--hs-red) !important;color:var(--hs-red);}
.hs-btn-danger:hover,.hs-btn-danger:focus,.hs-btn-danger:active{background:var(--hs-red);color:var(--hs-white);border:2px solid var(--hs-red) !important;}
.hs-btn-sm{padding:4px 10px;font-size:12px;}
.hs-btn-sm:hover,.hs-btn-sm:focus,.hs-btn-sm:active{padding:4px 10px;}
.hs-place-mode.active{background:var(--hs-black);color:var(--hs-white);}
.hs-btn-google{padding:8px 16px;border:2px solid var(--hs-black) !important;background:var(--hs-white);font-family:var(--hs-font);font-size:13px;font-weight:600;cursor:pointer;box-sizing:border-box;}
.hs-btn-google:hover,.hs-btn-google:focus,.hs-btn-google:active{background:var(--hs-black);color:var(--hs-white);border:2px solid var(--hs-black) !important;padding:8px 16px;}
/* Place toolbar coloured buttons - border stays locked to their colour in ALL states */
.hs-btn.hs-place-green{border:2px solid var(--hs-green) !important;color:var(--hs-green);}
.hs-btn.hs-place-green:hover,.hs-btn.hs-place-green:focus,.hs-btn.hs-place-green:active{background:var(--hs-green);color:var(--hs-white);border:2px solid var(--hs-green) !important;}
.hs-btn.hs-place-green.active{background:var(--hs-green);color:var(--hs-white);border:2px solid var(--hs-green) !important;}
.hs-btn.hs-place-orange{border:2px solid var(--hs-orange) !important;color:var(--hs-orange);}
.hs-btn.hs-place-orange:hover,.hs-btn.hs-place-orange:focus,.hs-btn.hs-place-orange:active{background:var(--hs-orange);color:var(--hs-white);border:2px solid var(--hs-orange) !important;}
.hs-btn.hs-place-orange.active{background:var(--hs-orange);color:var(--hs-white);border:2px solid var(--hs-orange) !important;}

/* Stats */
.hs-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:24px;}
.hs-stat-card{border:2px solid var(--hs-gray-200);padding:16px;text-align:center;cursor:pointer;box-sizing:border-box;transition:border-color .15s;}
.hs-stat-card:hover{border:2px solid var(--hs-black);}
.hs-stat-num{font-size:24px;font-weight:700;font-family:var(--hs-mono);}
.hs-stat-label{font-size:12px;color:var(--hs-gray-400);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;}

/* Filters */
.hs-filters{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;}
.hs-search-box{flex:1;min-width:200px;}
.hs-input{width:100%;padding:10px 12px;border:2px solid var(--hs-gray-200);font-family:var(--hs-font);font-size:14px;outline:none;box-sizing:border-box;transition:border-color .15s;}
.hs-input:focus{border-color:var(--hs-black);}
.hs-filter-tabs{display:flex;gap:0;}
.hs-tab{padding:8px 14px;border:2px solid var(--hs-gray-200);border-right:none;background:var(--hs-white);cursor:pointer;font-family:var(--hs-font);font-size:12px;font-weight:600;color:var(--hs-gray-400);text-transform:uppercase;letter-spacing:.04em;box-sizing:border-box;transition:background .15s,color .15s;}
.hs-tab:last-child{border-right:2px solid var(--hs-gray-200);}
.hs-tab:hover{background:var(--hs-gray-100);color:var(--hs-gray-600);}
.hs-tab.active{background:var(--hs-black);color:var(--hs-white);border-color:var(--hs-black);}
.hs-tab:last-child.active{border-right-color:var(--hs-black);}

/* Table */
.hs-table{border:2px solid var(--hs-black);}
.hs-table-header{display:grid;grid-template-columns:2fr 1.5fr 80px 90px 160px;padding:10px 16px;background:var(--hs-black);color:var(--hs-white);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.hs-table-row{display:grid;grid-template-columns:2fr 1.5fr 80px 90px 160px;padding:12px 16px;border-top:1px solid var(--hs-gray-200);align-items:center;}
.hs-table-row:hover{background:var(--hs-gray-50);}
.hs-table-row strong{color:var(--hs-black);font-size:14px;}
.hs-table-row small{color:var(--hs-gray-400);font-size:11px;}

/* Badges */
.hs-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid !important;}
.hs-status-draft{border-color:var(--hs-gray-400);color:var(--hs-gray-400);}
.hs-status-signed{border-color:var(--hs-green);color:var(--hs-green);}
.hs-status-sent{border-color:var(--hs-blue);color:var(--hs-blue);}
.hs-status-viewed{border-color:var(--hs-orange);color:var(--hs-orange);}

/* Empty / Loading */
.hs-empty{text-align:center;padding:60px 20px;}
.hs-empty h2{font-size:18px;margin:0 0 8px;}
.hs-empty p{color:var(--hs-gray-400);margin:0 0 20px;}
.hs-loading{text-align:center;padding:40px;color:var(--hs-gray-400);}

/* Modal */
.hs-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;}
.hs-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.hs-modal-content{position:relative;background:var(--hs-white);border:2px solid var(--hs-black);padding:24px;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;}
.hs-modal-sm{max-width:440px;}
.hs-modal-close{position:absolute;top:12px;right:16px;background:none;border:none !important;font-size:24px;cursor:pointer;color:var(--hs-gray-400);padding:0;outline:0 !important;}
.hs-modal-close:hover,.hs-modal-close:focus,.hs-modal-close:active{color:var(--hs-black);border:none !important;padding:0;outline:0 !important;}
.hs-modal-title{margin:0 0 4px;font-size:18px;font-weight:700;}

/* Upload area */
.hs-upload-area{border:2px dashed var(--hs-gray-200);padding:60px 32px;text-align:center;cursor:pointer;transition:border-color .15s;}
.hs-upload-area:hover,.hs-upload-area.hs-dragover{border-color:var(--hs-black);}
.hs-upload-area h2{font-size:18px;margin:12px 0 8px;}
.hs-upload-area p{color:var(--hs-gray-400);margin:0 0 16px;font-size:14px;}

/* PDF viewer */
.hs-pdf-viewer{display:flex;flex-direction:column;gap:8px;align-items:center;}
.hs-page-wrap{position:relative;border:2px solid var(--hs-gray-200);max-width:800px;width:100%;cursor:crosshair;}
.hs-page-img{display:block;width:100%;}
.hs-page-sigs{position:absolute;inset:0;pointer-events:none;}
.hs-page-num{position:absolute;bottom:6px;right:10px;background:var(--hs-black);color:var(--hs-white);padding:2px 8px;font-size:11px;font-family:var(--hs-mono);}

/* Placed items */
.hs-placed-sig,.hs-placed-field{position:absolute;transform:translate(-50%,-50%);pointer-events:all;cursor:grab;user-select:none;}
.hs-placed-sig img{width:160px;height:auto;}
.hs-placed-field{border:2px dashed var(--hs-blue);background:rgba(37,99,235,.08);padding:6px 20px;font-size:13px;font-weight:600;color:var(--hs-blue);white-space:nowrap;}
.hs-placed-field.hs-field-date{border-color:var(--hs-orange);background:rgba(217,119,6,.08);color:var(--hs-orange);min-width:120px;text-align:center;}
.hs-placed-field.hs-field-recipient-sig{border-color:var(--hs-green);background:rgba(22,163,74,.08);color:var(--hs-green);}
.hs-remove-btn{position:absolute;top:-10px;right:-10px;width:20px;height:20px;background:var(--hs-red);color:var(--hs-white);border:none !important;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;outline:0 !important;}
.hs-remove-btn:hover,.hs-remove-btn:focus,.hs-remove-btn:active{background:#991b1b;border:none !important;padding:0;outline:0 !important;width:20px;height:20px;}

/* Nuclear Genesis/WP theme override - kill ANY hover/focus size changes */
.hs-wrap button:hover,.hs-wrap button:focus,.hs-wrap button:active,
.hs-wrap a:hover,.hs-wrap a:focus,.hs-wrap a:active,
.hs-wrap input:hover,.hs-wrap input:focus,.hs-wrap input:active{
    outline:0 !important;outline-width:0 !important;outline-offset:0 !important;
    -webkit-box-shadow:none !important;-moz-box-shadow:none !important;box-shadow:none !important;
}

/* Signature indicator */
.hs-sig-indicator{border:2px solid var(--hs-gray-200);padding:12px 16px;margin-bottom:12px;display:flex;align-items:center;gap:12px;}
.hs-sig-preview img{height:40px;width:auto;}
.hs-sig-info{flex:1;}
.hs-sig-info strong{display:block;font-size:13px;}
.hs-sig-info span{font-size:12px;color:var(--hs-gray-400);}
.hs-no-sig-indicator{border:2px solid var(--hs-gray-200);padding:14px 20px;margin-bottom:12px;display:flex;align-items:center;gap:12px;background:var(--hs-gray-50);}
.hs-no-sig-indicator strong{display:block;font-size:13px;}
.hs-no-sig-indicator span{font-size:12px;color:var(--hs-gray-400);}

/* Field toolbar */
.hs-field-toolbar{display:flex;gap:6px;margin-bottom:12px;padding:10px;border:2px solid var(--hs-gray-200);background:var(--hs-gray-50);flex-wrap:wrap;align-items:center;}
.hs-field-toolbar-bottom{margin-bottom:0;margin-top:12px;}
.hs-field-toolbar span{font-size:12px;font-weight:600;color:var(--hs-gray-400);text-transform:uppercase;letter-spacing:.04em;margin-right:8px;}

/* Signature modal tabs */
.hs-sig-tabs{display:flex;margin-bottom:16px;}
.hs-sig-tab{flex:1;padding:10px;border:2px solid var(--hs-gray-200);background:var(--hs-white);cursor:pointer;font-family:var(--hs-font);font-size:13px;font-weight:600;color:var(--hs-gray-400);text-align:center;box-sizing:border-box;transition:background .15s,color .15s;}
.hs-sig-tab:first-child{border-right:none;}
.hs-sig-tab:hover{background:var(--hs-gray-100);color:var(--hs-gray-600);}
.hs-sig-tab.active{background:var(--hs-black);color:var(--hs-white);border-color:var(--hs-black);}

/* Canvas */
.hs-canvas-wrap{position:relative;border:2px solid var(--hs-gray-200);}
.hs-canvas-wrap canvas{width:100%;height:180px;cursor:crosshair;touch-action:none;}
.hs-canvas-baseline{position:absolute;bottom:30px;left:40px;right:40px;border-bottom:1px dashed var(--hs-gray-200);pointer-events:none;}

/* Font picker */
.hs-font-picker{display:flex;gap:6px;margin-top:10px;}
.hs-font-btn{flex:1;padding:14px 6px;border:2px solid var(--hs-gray-200) !important;background:var(--hs-white);cursor:pointer;color:var(--hs-black);box-sizing:border-box;transition:background .15s;}
.hs-font-btn:hover{background:var(--hs-gray-100);border:2px solid var(--hs-gray-200) !important;}
.hs-font-btn.active{border:2px solid var(--hs-black) !important;}

/* Details form */
.hs-details-card{border:2px solid var(--hs-black);padding:28px;max-width:560px;margin:0 auto;}
.hs-details-card h2{margin:0 0 4px;font-size:18px;}
.hs-subtitle{color:var(--hs-gray-400);margin:0 0 20px;font-size:13px;}
.hs-form-group{margin-bottom:14px;}
.hs-label{display:block;margin-bottom:4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.hs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hs-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px;}

/* Bottom bar */
.hs-bottom-bar{position:sticky;bottom:0;background:var(--hs-white);border-top:2px solid var(--hs-black);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:16px;z-index:100;}

/* Contract detail */
.hs-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;}
.hs-detail-item{display:flex;flex-direction:column;gap:2px;}
.hs-detail-label{font-size:11px;color:var(--hs-gray-400);font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.hs-detail-actions{margin:16px 0;display:flex;gap:8px;}

/* Audit */
.hs-audit{margin-top:20px;padding-top:16px;border-top:2px solid var(--hs-gray-200);}
.hs-audit h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;}
.hs-audit-entry{display:flex;gap:10px;padding:6px 0;}
.hs-audit-dot{width:6px;height:6px;background:var(--hs-black);margin-top:6px;flex-shrink:0;}
.hs-audit-action{font-size:13px;}
.hs-audit-meta{font-family:var(--hs-mono);font-size:10px;color:var(--hs-gray-400);}

/* Gmail status */
.hs-gmail-status{display:flex;align-items:center;gap:6px;}
.hs-gmail-connected{font-size:12px;font-family:var(--hs-mono);color:var(--hs-green);}

/* Public signing banner */
.hs-public-banner{border:2px solid var(--hs-black);padding:20px;margin-bottom:16px;text-align:center;}
.hs-public-banner h2{margin:0 0 6px;font-size:18px;}
.hs-public-banner p{margin:0;color:var(--hs-gray-400);font-size:14px;}

/* Responsive */
@media(max-width:768px){
    .hs-stats{grid-template-columns:repeat(3,1fr);}
    .hs-table-header,.hs-table-row{grid-template-columns:1.5fr 1fr 80px 80px;}
    .hs-form-row{grid-template-columns:1fr;}
    .hs-header{flex-direction:column;gap:10px;}
    .hs-filters{flex-direction:column;}
}
