/* The partnership agreement's styling, shared by the venue portal and the
   admin's contract preview.
   Lives here rather than in either page because the admin now renders the very
   same document the venue sees — if these rules were copied, the preview would
   drift from the real thing and nobody would notice until a venue queried a
   clause that looked different on our screen. */
.contract-card { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.contract-status {
  font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em;
  padding: 4px 10px; border-radius: var(--radius-pill);
}
.contract-status.signed   { background: #dbf6e5; color: #0c6a2e; }
.contract-status.pending  { background: #fff1d7; color: #8a5a00; }
.contract-status.missing  { background: #fdecef; color: #b03423; }

/* Inline auto-contract document */
.contract-doc {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 28px 30px; font-size: 13.5px; line-height: 1.6; color: var(--ink);
}
.contract-doc .doc-h1 { font-size: 22px; font-weight: 800; margin: 0 0 4px; letter-spacing: -0.01em; }
.contract-doc .doc-sub { color: var(--ink-3); font-size: 13px; margin-bottom: 22px; }
.contract-doc .doc-section { margin: 22px 0 0; }
.contract-doc .doc-section h3 {
  font-size: 14px; font-weight: 800; color: var(--ink); margin: 0 0 6px;
  text-transform: uppercase; letter-spacing: 0.04em;
}
.contract-doc p { margin: 0 0 10px; color: var(--ink-2); }
.contract-doc .doc-parties {
  background: var(--pink-soft); border-radius: 12px; padding: 16px 18px; margin: 18px 0 6px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
.contract-doc .doc-parties .party-lbl {
  font-size: 11px; color: var(--pink-dark); font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 6px;
}
.contract-doc .doc-parties .party-name { font-size: 15px; font-weight: 800; color: var(--ink); }
.contract-doc .doc-parties .party-meta { font-size: 12.5px; color: var(--ink-2); margin-top: 4px; line-height: 1.45; }
.contract-doc .doc-field { margin: 8px 0; }
.contract-doc .doc-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.contract-doc .doc-field label { font-size: 12px; color: var(--ink-3); font-weight: 700; display: block; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.03em; }
.contract-doc .doc-field input,
.contract-doc .doc-field select,
.contract-doc .doc-field textarea {
  width: 100%; padding: 9px 11px; border: 1.5px solid var(--line);
  border-radius: 8px; font: inherit; color: var(--ink); background: #fff;
  transition: border-color 0.12s;
}
.contract-doc .doc-field input:focus,
.contract-doc .doc-field select:focus,
.contract-doc .doc-field textarea:focus {
  outline: none; border-color: var(--pink);
}
.contract-doc .doc-field textarea { resize: vertical; min-height: 56px; }
.contract-doc .doc-readonly {
  padding: 9px 11px; background: var(--pink-soft); border-radius: 8px;
  font-weight: 700; color: var(--ink);
}
.contract-doc .doc-keypair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
.contract-doc .doc-signature-area {
  margin-top: 22px; padding-top: 18px; border-top: 1px dashed var(--line);
}
.contract-doc .doc-sig-pad-wrap { background: #fff; border: 1.5px solid var(--line); border-radius: 8px; padding: 4px; }
.contract-doc .doc-sig-pad { width: 100%; height: 130px; display: block; touch-action: none; cursor: crosshair; }
.contract-doc .doc-sig-clear { font-size: 12.5px; color: var(--ink-3); background: none; border: none; cursor: pointer; padding: 4px 0; text-decoration: underline; }
.contract-doc .doc-agree-row { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0; font-size: 13.5px; color: var(--ink-2); }
.contract-doc .doc-agree-row input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; }
.contract-doc .doc-sign-btn {
  background: var(--pink); color: #fff; padding: 14px 28px; font-size: 15px; font-weight: 800;
  border-radius: 10px; cursor: pointer; box-shadow: 0 8px 22px rgba(224,61,165,0.32);
  transition: transform 0.08s;
}
.contract-doc .doc-sign-btn:hover { transform: translateY(-1px); }
.contract-doc .doc-sign-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.contract-doc .doc-signed {
  background: #dbf6e5; border-radius: 12px; padding: 18px 20px; margin-top: 18px;
}
.contract-doc .doc-signed .signed-title { font-weight: 800; color: #0c6a2e; font-size: 15px; }
.contract-doc .doc-signed .signed-meta { color: #0c6a2e; font-size: 13px; margin-top: 4px; }
.contract-doc .doc-signed img { max-height: 70px; margin-top: 10px; background: #fff; padding: 6px; border-radius: 6px; border: 1px solid #c5e6cf; }
@media (max-width: 640px) {
  .contract-doc { padding: 22px 18px; }
  .contract-doc .doc-parties { grid-template-columns: 1fr; }
  .contract-doc .doc-field-row,
  .contract-doc .doc-keypair { grid-template-columns: 1fr; }
}
