:root { --elz-green: #05a3a6; }
* { box-sizing: border-box; }
body {
  font-family: Tahoma, "Gotham Narrow", system-ui, Arial, sans-serif;
  margin: 0; padding: 0; color: #1a1a1a; background: #fff;
}
main { max-width: 640px; margin: 2.5rem auto; padding: 0 1.2rem; }
h1 { font-size: 1.3rem; }
h2 { font-size: 1.05rem; margin-top: 2rem; }
h3 { font-size: 0.95rem; }
.hint { font-size: 0.85rem; color: #666; }

label { display: block; margin-top: 0.8rem; font-size: 0.9rem; }
input[type=text], input[type=email], input[type=password], input[type=file], select, textarea {
  width: 100%; padding: 0.55rem; margin-top: 0.25rem; box-sizing: border-box;
  font-size: 0.95rem; font-family: inherit; border: 1px solid #8886; border-radius: 6px;
}
label input[type=checkbox] { width: auto; margin-right: 0.4rem; }

button, a.button, #btnSign {
  background: var(--elz-green); color: #fff; border: none; border-radius: 6px;
  padding: 0.6rem 1.2rem; margin-top: 1rem; cursor: pointer; font-family: inherit; font-size: 0.95rem;
  display: inline-block; text-decoration: none;
}
button.secondary { background: #8883; color: #1a1a1a; }

.status { font-size: 0.85rem; color: #666; min-height: 1.2em; }

.signer-row { display: flex; gap: 0.5rem; margin-top: 0.5rem; align-items: center; }
.signer-row input { margin-top: 0; }

table { width: 100%; border-collapse: collapse; margin-top: 0.8rem; font-size: 0.85rem; }
th, td { text-align: left; padding: 0.5rem; border-bottom: 1px solid #8883; vertical-align: top; }

#pdfFrame { width: 100%; height: 60vh; border: 1px solid #8886; border-radius: 6px; margin-top: 1rem; }
#createdResult { margin-top: 0.8rem; padding: 0.8rem; background: #f4f4f4; border-radius: 6px; }
