/* Contrato como hoja blanca + firmas + certificado (admin y página pública). */
.paper { background: #fff; color: #1f2937; border-radius: 6px; padding: 56px 64px; max-width: 820px; margin: 0 auto 24px; font: 14px/1.6 "Inter", Arial, sans-serif; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35); }
.paper h1 { font: 700 1.6rem/1.3 "Inter", Arial, sans-serif; text-align: center; margin: 0 0 28px; color: #111827; }
.paper h2 { font: 700 1.15rem/1.3 "Inter", Arial, sans-serif; margin: 26px 0 8px; color: #111827; }
.paper h3 { font: 700 1rem/1.3 "Inter", Arial, sans-serif; margin: 18px 0 6px; color: #111827; }
.paper a { color: #2563eb; word-break: break-all; }
.paper ul, .paper ol { padding-left: 22px; }
.paper code { font: 12px ui-monospace, Menlo, monospace; word-break: break-all; }
.sigs { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 48px; page-break-inside: avoid; }
.sig { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: #374151; }
.sig strong { color: #111827; font-size: 14px; }
.sig__mark { height: 90px; display: flex; align-items: flex-end; }
.sig__mark img { max-height: 90px; max-width: 100%; }
.sig__mark--typed { font: 600 2rem/1 "Dancing Script", cursive; color: #1e3a8a; }
.sig__mark--empty { color: #9ca3af; font-style: italic; align-items: center; justify-content: center; border: 1px dashed #d1d5db; border-radius: 6px; }
.sig__line { border-top: 1px solid #111827; margin: 6px 0 6px; }
.certificate { font-size: 13px; }
.cert-grid { display: grid; grid-template-columns: 230px 1fr; gap: 4px 16px; margin: 0 0 12px; }
.cert-grid dt { color: #6b7280; }
.cert-grid dd { margin: 0; }
.cert-signer { border-top: 1px solid #e5e7eb; padding-top: 10px; }
.cert-ua { font-size: 12px; color: #4b5563; word-break: break-word; }
.cert-events { padding-left: 20px; }
.cert-events span { color: #6b7280; }
.cert-note { color: #6b7280; font-size: 12px; margin-top: 16px; }
@media (max-width: 700px) {
  .paper { padding: 28px 20px; }
  .sigs, .cert-grid { grid-template-columns: 1fr; }
}
@media print {
  body { background: #fff !important; }
  .no-print { display: none !important; }
  .paper { box-shadow: none; padding: 0; max-width: none; margin: 0 0 24px; }
  .certificate { page-break-before: always; }
}
/* Recuadro de firma (dibujar o escribir). */
.sigpad { display: grid; gap: 10px; }
.sigpad__tabs { display: flex; gap: 6px; }
.sigpad__tabs button { font: 600 0.85rem "Inter", sans-serif; padding: 7px 14px; border-radius: 999px; border: 1px solid #d1d5db; background: #fff; color: #374151; cursor: pointer; }
.sigpad__tabs button[aria-pressed="true"] { background: #111827; border-color: #111827; color: #fff; }
.sigpad canvas { width: 100%; height: 180px; background: #fff; border: 1px dashed #9ca3af; border-radius: 10px; touch-action: none; cursor: crosshair; display: block; }
.sigpad__row { display: flex; justify-content: space-between; align-items: center; font-size: 0.8rem; color: #6b7280; }
.sigpad__row button { background: none; border: 0; color: #2563eb; cursor: pointer; font: inherit; padding: 0; }
.sigpad__preview { min-height: 70px; display: flex; align-items: center; padding: 8px 14px; background: #fff; border: 1px dashed #9ca3af; border-radius: 10px; font: 600 2rem/1 "Dancing Script", cursive; color: #1e3a8a; }
.sigpad__error { color: #b91c1c; font-size: 0.85rem; margin: 0; }
