.signature-pad {
  touch-action: none;
  cursor: crosshair;
  background: #fff;
  border: 2px dashed #cbd5e1;
  border-radius: 12px;
  width: 100%;
}

.btn-primary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 8px; background: #4f46e5; padding: 10px 20px;
  font-size: 14px; font-weight: 600; color: #fff;
  transition: background .15s;
}
.btn-primary:hover { background: #4338ca; }
.btn-primary:disabled { opacity: .5; cursor: not-allowed; }

.btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 8px; border: 1px solid #cbd5e1; background: #fff;
  padding: 10px 20px; font-size: 14px; font-weight: 500; color: #334155;
  transition: background .15s;
}
.btn-secondary:hover { background: #f8fafc; }

.btn-danger {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 8px; border: 1px solid #fecaca; background: #fff;
  padding: 8px 16px; font-size: 14px; font-weight: 500; color: #dc2626;
  transition: background .15s;
}
.btn-danger:hover { background: #fef2f2; }

.input {
  width: 100%; border-radius: 8px; border: 1px solid #cbd5e1;
  padding: 8px 12px; font-size: 14px;
}
.input:focus { outline: none; box-shadow: 0 0 0 2px #6366f1; }

.label { display: block; font-size: 14px; font-weight: 500; color: #334155; margin-bottom: 6px; }

.card { background: #fff; border-radius: 12px; border: 1px solid #e2e8f0; box-shadow: 0 1px 2px rgba(15,23,42,.05); }

@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  nav, footer, .no-print, button:not(.print-keep), .btn:not(.print-keep) {
    display: none !important;
  }

  body, .container, .app-layout {
    background: #ffffff !important;
    color: #0f172a !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .card, .table-card, .mock-sig-stamp {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: none !important;
  }
}

