*{box-sizing:border-box}:root{--bg:#f6f7fb;--surface:#fff;--border:#e2e4ea;--text:#1f2330;--muted:#6b7280;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--success:#16a34a;--warn:#d97706}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}main{max-width:1300px;margin:0 auto;padding:24px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:24px;height:58px;padding:0 24px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.2px;align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--primary);color:#fff;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:inline-flex}.navtabs{align-items:center;gap:4px;height:100%;margin-right:auto;display:flex}.navtab{height:100%;color:var(--muted);border-bottom:2px solid #0000;align-items:center;padding:0 12px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:flex;position:relative}.navtab:hover{color:var(--text);text-decoration:none}.navtab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.topbar-user{align-items:center;gap:10px;display:flex}.topbar-who{flex-direction:column;line-height:1.2;display:flex}.topbar-name{font-size:13px;font-weight:600}.role-chip{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);font-size:10px;font-weight:700}.avatar{color:#4338ca;background:#eef2ff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:inline-flex}.muted{color:var(--muted);font-size:14px}.dropzone{cursor:pointer;text-align:center;border:2px dashed var(--border);background:var(--bg);border-radius:10px;flex-direction:column;align-items:center;gap:4px;margin:0;padding:26px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover{border-color:var(--primary);background:#f4f7ff}.dropzone.busy{opacity:.65;cursor:progress}.dropzone-icon{color:var(--primary);font-size:22px;line-height:1}.dropzone-title{color:var(--text);font-size:14px;font-weight:600}.dropzone-hint{color:var(--muted);font-size:12px}.list-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.list-filters{align-items:center;gap:8px;display:flex}.head-link{color:var(--text)}.head-link:hover{color:var(--primary)}.table-scroll{overflow-x:auto}.envelope-table{min-width:620px}.envelope-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:600}.envelope-table .env-title{color:var(--text);overflow-wrap:anywhere;font-weight:500}.envelope-table tr.row-clickable{cursor:pointer;transition:background .12s}.envelope-table tr.row-clickable:hover{background:#f7f9ff}.people{flex-direction:column;gap:2px;display:flex}.person{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.person .dot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.person .dot.signed,.person .dot.approved{background:var(--success)}.person .dot.pending{background:#cbd5e1}.person .dot.opened{background:var(--primary)}.person .dot.changes_requested{background:var(--warn)}.person .dot.declined,.person .dot.rejected{background:var(--danger)}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:8px 14px;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s,transform 80ms}button:hover:not(:disabled),.btn:hover{background:#f4f6fb;border-color:#cfd4e0}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:focus-visible,.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.primary,.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}button:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:20px}.input,input,textarea,select{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:9px 12px}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary);outline-offset:-1px}label{color:var(--muted);margin-bottom:6px;font-size:14px;display:block}.field-row{margin-bottom:12px}.page-center{text-align:center;color:var(--muted);padding:64px}.error{color:var(--danger);margin:8px 0;font-size:14px}.success{color:var(--success)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px;font-size:14px}th{background:#fafbff;font-weight:600}.badge{border-radius:10px;padding:2px 8px;font-size:12px;display:inline-block}.badge.draft{color:#4338ca;background:#eef2ff}.badge.sent,.badge.in_progress{color:#c2410c;background:#fff7ed}.badge.completed{color:#047857;background:#ecfdf5}.badge.voided,.badge.declined{color:#b91c1c;background:#fef2f2}.badge.awaiting_approval{color:#c2410c;background:#fff7ed}.badge.pending{color:#4b5563;background:#f1f3f7}.badge.opened{color:#1d4ed8;background:#eff6ff}.badge.signed,.badge.approved{color:#047857;background:#ecfdf5}.badge.rejected{color:#b91c1c;background:#fef2f2}.badge.changes_requested{color:#a16207;background:#fefce8}.editor-layout{grid-template-columns:240px 1fr 320px;align-items:start;gap:16px;display:grid}.editor-layout>*{min-width:0}.tool-panel button{text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%;margin-bottom:8px}.page-stack{flex-direction:column;align-items:center;gap:16px;display:flex}.doc-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:6px 8px;display:flex}.doc-toolbar-spacer{flex:1}.doc-toolbar button{margin:0;padding:4px 12px;line-height:1.2}.doc-viewer{border:1px solid var(--border);background:#eceef3;border-radius:8px;height:90vh;padding:12px;overflow:auto}.doc-canvas{flex-direction:column;gap:16px;margin:0 auto;display:flex}.page-wrap{border:1px solid var(--border);-webkit-user-select:none;user-select:none;background:#fff;position:relative;box-shadow:0 1px 3px #0000000d}.page-wrap img{pointer-events:none;display:block}.placed-field{border:2px dashed var(--primary);cursor:move;color:var(--primary);background:#2563eb0f;border-radius:4px;justify-content:center;align-items:center;padding:2px;font-size:11px;display:flex;position:absolute;overflow:hidden}.placed-field .resize-handle{background:var(--primary);cursor:se-resize;border-radius:2px;width:10px;height:10px;position:absolute;bottom:-4px;right:-4px}.placed-field.selected{border-color:var(--warn);color:var(--warn);background:#d977061a}.modal-overlay{z-index:1000;background:#0f121e73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:20px;box-shadow:0 16px 48px #00000038}.modal-title{margin:0 0 14px;font-size:16px}.modal-label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.modal-message{color:var(--text);margin:0;font-size:14px;line-height:1.5}.modal-hint{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.4}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.modal-actions button{min-width:88px}.field-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.field-bar-main{flex:1;align-items:center;gap:8px;min-width:200px;display:flex}.field-bar-main label{white-space:nowrap;margin:0}.field-bar-main input{flex:1;min-width:120px;max-width:300px}.field-bar-actions{gap:8px;display:flex}.field-bar-actions button{white-space:nowrap;margin:0}.approve-recipient{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:12px;padding:14px}.approve-recipient-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.approve-doc-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.approve-doc-list li{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.approve-doc-name{overflow-wrap:anywhere;flex:1;min-width:0}.approve-doc-list .btn{white-space:nowrap;padding:4px 12px;font-size:13px}.status-row{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 18px;display:flex}.status-row .status-key{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.status-row .sep{background:var(--border);width:1px;height:18px;margin:0 4px}.decision-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.decision-actions button{background:var(--surface);font-weight:600}.decision-actions button.active{box-shadow:0 2px 10px #00000029}.btn-approve{border-color:var(--success);color:var(--success)}.btn-approve:hover:not(:disabled){border-color:var(--success);background:#ecfdf5}.btn-approve.active,.btn-approve.active:hover{background:var(--success);color:#fff}.btn-changes{border-color:var(--warn);color:var(--warn)}.btn-changes:hover:not(:disabled){border-color:var(--warn);background:#fffbeb}.btn-changes.active,.btn-changes.active:hover{background:var(--warn);color:#fff}.btn-reject{border-color:var(--danger);color:var(--danger)}.btn-reject:hover:not(:disabled){border-color:var(--danger);background:#fef2f2}.btn-reject.active,.btn-reject.active:hover{background:var(--danger);color:#fff}.signing-form{padding:16px}.signing-form h3{margin-top:0}.signed-group{border:1px solid var(--border);background:var(--bg);border-radius:8px;margin-bottom:8px;padding:10px}.signed-group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.signed-group-head strong{overflow-wrap:anywhere;font-size:13px}button.doc-download{text-align:left;background:var(--surface);width:100%;color:var(--primary);white-space:normal;overflow-wrap:anywhere;word-break:break-word;margin-bottom:6px;padding:6px 10px;font-size:12px;line-height:1.35;display:block}button.doc-download:last-child{margin-bottom:0}button.doc-download:hover:not(:disabled){border-color:var(--primary);background:#f4f6fb}.chip{letter-spacing:.03em;text-transform:uppercase;color:#4338ca;background:#eef2ff;border-radius:10px;flex:none;margin-left:8px;padding:1px 7px;font-size:10px;font-weight:700;display:inline-block}.picker-avatar{color:#4338ca;background:#eef2ff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.picker{margin-bottom:8px}.picker-toggle{text-align:left;width:100%;color:var(--muted);background:0 0;border-style:dashed;margin:0;font-size:12px}.picker-toggle:hover{color:var(--text)}.picker-body{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:6px;overflow:hidden}.picker-search{border:none;border-bottom:1px solid var(--border);border-radius:0;font-size:12px}.picker-search:focus{border-bottom-color:var(--primary);outline:none}.picker-list{max-height:210px;overflow-y:auto}.picker-item{text-align:left;border:none;border-bottom:1px solid var(--border);background:var(--surface);border-radius:0;align-items:center;gap:8px;width:100%;margin:0;padding:7px 9px;display:flex}.picker-item:last-child{border-bottom:none}.picker-item:hover:not(:disabled){background:#f4f7ff}.picker-text{flex-direction:column;flex:1;min-width:0;display:flex}.picker-name{overflow-wrap:anywhere;font-size:13px;font-weight:500}.picker-email{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.contact-form{border:1px solid var(--border);background:var(--bg);border-radius:10px;margin-bottom:16px;padding:16px}.contact-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.contact-form-grid label{margin-bottom:4px}.check-row{color:var(--text);align-items:center;gap:8px;margin:14px 0;font-size:13px;display:flex}.check-row input{flex:none;width:auto;margin:0}.contact-list{margin:0;padding:0;list-style:none}.contact-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 4px;display:flex}.contact-row:last-child{border-bottom:none}.contact-main{flex:1;min-width:0}.contact-name{overflow-wrap:anywhere;align-items:center;font-size:14px;font-weight:500;display:flex}.contact-actions{flex:none;gap:6px;display:flex}.contact-actions button{margin:0;padding:5px 10px;font-size:12px}.contact-edit{flex-wrap:wrap;flex:1;align-items:end;gap:12px;display:flex}.contact-edit .contact-form-grid{flex:1}@media (width<=720px){.contact-row{flex-wrap:wrap}.contact-actions{justify-content:flex-end;width:100%}}.admin-answers{border-collapse:collapse;width:100%}.admin-answers td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 8px 6px 0}.admin-answers tr:last-child td{border-bottom:none}.admin-answer-label{width:34%;color:var(--muted);overflow-wrap:anywhere;font-size:13px;padding-right:12px!important}.admin-answers input{padding:6px 8px;font-size:13px}.timeline{margin:0;padding:0 0 0 18px;list-style:none;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:6px;bottom:6px;left:4px}.timeline-item{padding:0 0 14px 6px;position:relative}.timeline-item:before{content:"";background:var(--surface);border:2px solid var(--muted);border-radius:50%;width:10px;height:10px;position:absolute;top:5px;left:-18px}.timeline-item.ok:before{border-color:var(--success);background:var(--success)}.timeline-item.info:before{border-color:var(--primary);background:var(--primary)}.timeline-item.warn:before{border-color:var(--warn);background:var(--warn)}.timeline-item.bad:before{border-color:var(--danger);background:var(--danger)}.timeline-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.timeline-row strong{font-size:14px}.timeline-time{color:var(--muted);white-space:nowrap;font-size:12px}.timeline-actor{margin-top:1px;font-size:12px}.timeline-comment{background:var(--bg);border-left:3px solid var(--warn);border-radius:0 6px 6px 0;margin:6px 0 0;padding:6px 10px;font-size:13px;font-style:italic}.modal-card.wide{max-width:640px}.modal-scroll{max-height:60vh;overflow:auto}.sig-existing{border:1px solid var(--border);background:#f7fdf9;border-radius:6px;align-items:center;gap:10px;margin-bottom:8px;padding:6px 8px;display:flex}.sig-existing img{max-width:140px;max-height:44px}.sig-existing .muted{font-size:11px;line-height:1.35}.sig-pad-wrap{border:1px solid var(--border);background:#fff;border-radius:6px}.sig-pad-wrap canvas{touch-action:none;width:100%;display:block}.sig-toolbar{gap:8px;margin-top:8px;display:flex}
