*{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:1200px;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);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.topbar nav{align-items:center;gap:16px;display:flex}.brand{color:var(--text);font-size:18px;font-weight:700}.muted{color:var(--muted);font-size:14px}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:8px 14px}button.primary,.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary:hover{background:var(--primary-hover)}button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}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}.editor-layout{grid-template-columns:240px 1fr 320px;align-items:start;gap:16px;display:grid}.tool-panel button{text-align:left;width:100%;margin-bottom:8px}.page-stack{flex-direction:column;align-items:center;gap:16px;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}.signing-form{padding:16px}.signing-form h3{margin-top:0}.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}
