
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin: 0; padding: 20px; background:#f7f7fb; }
.container { max-width: 980px; margin: 0 auto; }
h1 { margin-top: 0; }
.card { background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 4px 16px rgba(0,0,0,.08); }
button { padding: 10px 14px; border: 0; border-radius: 8px; cursor: pointer; }
button.primary { background: #1a73e8; color: #fff; }
.grid { display: grid; gap: 12px; }
.notice { padding: 10px 12px; background: #eef5ff; border: 1px solid #cfe0ff; border-radius: 8px; }
.pdf-page { position: relative; display: inline-block; margin: 8px 0 28px; }
.pdf-canvas { display: block; max-width: 100%; height: auto; border: 1px solid #ddd; border-radius: 6px; }
.overlay { position: absolute; inset: 0; pointer-events: none; }
.field { position: absolute; border: 2px dashed #222; background: rgba(255,255,0,.15); pointer-events: auto; cursor: move; border-radius: 6px; }
.field .label { position:absolute; top:-22px; left:0; font-size:12px; background:#000; color:#fff; padding:2px 6px; border-radius:4px; }
.field .handle { position:absolute; width:12px; height:12px; right:-6px; bottom:-6px; border-radius:50%; background:#000; cursor: se-resize; }
.toolbar { position: sticky; top: 10px; display:flex; gap:8px; margin: 8px 0; }
input[type='text'], input[type='email'] { width: 100%; padding: 10px; border:1px solid #ccc; border-radius:8px; }
input[readonly] { background:#f2f2f6; }
.small { font-size: 12px; color:#555; }
.fieldlist { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.kbd { padding:1px 5px; border:1px solid #ccc; border-bottom-width:2px; border-radius:4px; background:#fff; font-family:inherit; }
