.pm-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(20, 18, 16, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 20px; backdrop-filter: blur(2px);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
.pm-modal {
  background: #f6f1e8; color: #141210;
  width: 100%; max-width: 480px; max-height: 92vh; overflow-y: auto;
  border-radius: 16px; padding: 28px 26px; position: relative;
  box-shadow: 0 24px 60px rgba(20, 18, 16, 0.35);
}
.pm-close {
  position: absolute; top: 12px; right: 14px;
  background: none; border: none; font-size: 28px; line-height: 1;
  cursor: pointer; color: #141210; opacity: .55;
}
.pm-close:hover { opacity: 1; }
.pm-eyebrow {
  font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
  color: #d4741e; font-weight: 700; margin-bottom: 6px;
}
.pm-title { margin: 0 0 4px; font-size: 22px; line-height: 1.2; font-weight: 700; }
.pm-when { color: #6b5a48; font-size: 14px; margin-bottom: 12px; }
.pm-note {
  background: #fff6ee; border: 1px solid #f3d8bf; border-radius: 10px;
  padding: 10px 12px; font-size: 13px; color: #6b5a48; margin: 0 0 16px;
}
.pm-form { display: grid; gap: 12px; }
.pm-row { display: flex; gap: 10px; }
.pm-row > input { flex: 1; min-width: 0; }
.pm-people-lbl { align-self: center; font-size: 13px; color: #6b5a48; }
.pm-form input, .pm-form textarea {
  width: 100%; box-sizing: border-box; padding: 12px 14px;
  border: 1.5px solid #ddd0bd; border-radius: 10px; font-size: 15px;
  font-family: inherit; background: #fff; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.pm-form input:focus, .pm-form textarea:focus {
  border-color: #d4741e; box-shadow: 0 0 0 3px rgba(212, 116, 30, .15);
}
.pm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pm-submit {
  background: #d4741e; color: #141210; border: none; border-radius: 999px;
  padding: 14px 24px; font-size: 14px; font-weight: 700;
  letter-spacing: .5px; cursor: pointer; transition: background .15s, transform .08s;
}
.pm-submit:hover { background: #141210; color: #f6f1e8; }
.pm-submit:active { transform: translateY(1px); }
.pm-submit:disabled { opacity: .6; cursor: progress; }
.pm-status { margin: 4px 0 0; font-size: 14px; font-weight: 600; text-align: center; }
.pm-status.err { color: #d23b3b; }
.pm-status.ok { color: #1f9d57; }
.pm-done input, .pm-done textarea, .pm-done .pm-submit, .pm-done .pm-row, .pm-done .pm-hp { display: none; }
