.ssma-signature-field { padding: 16px; display: grid; gap: 12px; text-align: center; cursor: default; }
.ssma-signature-field p, .ssma-signature-field small { color: #475569; }
.ssma-signature-field button, .ssma-signature-dialog button { min-height: 48px; padding: 10px 20px; border-radius: 10px; font-weight: 600; background: #e2e8f0; color: #0f172a; }
.ssma-signature-field button:focus-visible, .ssma-signature-dialog button:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
button.ssma-signature-primary { background: #1d4ed8; color: white; }
.ssma-signature-dialog button:disabled { opacity: .45; cursor: not-allowed; }
.ssma-signature-preview { width: 100%; aspect-ratio: 5 / 2; object-fit: contain; }
dialog.ssma-signature-dialog { position: fixed; inset: 0; margin: 0; width: 100vw; max-width: none; height: 100vh; height: 100dvh; max-height: none; border: 0; padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)); background: #f1f5f9; color: #0f172a; overscroll-behavior: contain; }
dialog.ssma-signature-dialog[open] { display: flex; flex-direction: column; gap: 8px; }
.ssma-signature-dialog::backdrop { background: #0f172acc; }
.ssma-signature-dialog header, .ssma-signature-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-shrink: 0; }
.ssma-signature-dialog footer button { flex: 1; }
.ssma-signature-help { margin: 0; font-size: 13px; color: #475569; }
.ssma-signature-area { flex: 1; min-height: 0; position: relative; overflow: hidden; }
.ssma-signature-sheet { position: absolute; left: 50%; top: 50%; background: white; border-radius: 12px; overflow: hidden; box-shadow: inset 0 0 0 1px #cbd5e1; }
.ssma-signature-sheet canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; touch-action: none; user-select: none; }
.ssma-signature-guide { position: absolute; left: 5%; right: 5%; bottom: 15%; border-bottom: 1px dashed #94a3b8; padding-bottom: 8px; font-size: 13px; color: #64748b; pointer-events: none; }
@media (max-width: 640px) {
  .course-view-active .course-ux-surface > div:first-child,
  .course-view-active .course-ux-surface > div:last-child { padding: 12px !important; }
  .course-view-active .course-ux-surface { border-radius: 12px !important; }
  .ssma-signature-field { padding: 12px; }
}
@media (max-height: 450px) {
  .ssma-signature-dialog header button, .ssma-signature-dialog footer button { min-height: 44px; padding-block: 6px; }
  .ssma-signature-help { font-size: 12px; }
}
