* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", serif;
  background: #120d0d;
  color: #e8dcc8;
  min-height: 100vh;
}
.hidden { display: none !important; }
.screen { max-width: 640px; margin: 0 auto; padding: 20px 14px 40px; }
header { text-align: center; margin-bottom: 18px; }
header h1 { color: #d4af37; margin-bottom: 6px; letter-spacing: 2px; }
.desc { color: #a89880; font-size: 13px; }

.card {
  background: #1c1512;
  border: 1px solid #4a3428;
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 14px;
}
.card h2 { color: #d4af37; font-size: 16px; margin-bottom: 12px; }
.hint { color: #a89880; font-size: 12px; margin: 10px 0 6px; }
label { display: block; font-size: 14px; margin-bottom: 10px; color: #e8dcc8; }
input[type="text"], input[type="date"], input[type="number"], select, textarea {
  width: 100%;
  margin-top: 4px;
  padding: 9px 10px;
  border-radius: 8px;
  border: 1px solid #4a3428;
  background: #120d0d;
  color: #e8dcc8;
  font-size: 14px;
}
.checks label { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; cursor: pointer; }
.checks input { width: auto; margin: 0; }

.item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed #3a2c22;
  font-size: 14px;
}
.item-row .opts { display: flex; gap: 4px; }
.item-row .opts label {
  margin: 0;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid #4a3428;
  cursor: pointer;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.item-row .opts input { display: none; }
.item-row .opts label:has(input:checked) { background: #d4af37; color: #120d0d; border-color: #d4af37; }

.actions { display: flex; gap: 10px; justify-content: center; margin: 18px 0; flex-wrap: wrap; }
.actions button {
  padding: 11px 22px;
  border-radius: 10px;
  border: 1px solid #4a3428;
  background: #1c1512;
  color: #e8dcc8;
  font-size: 15px;
  cursor: pointer;
}
.actions button.primary { background: #d4af37; color: #120d0d; border: none; font-weight: bold; }
footer { text-align: center; color: #6f5f4e; font-size: 12px; margin-top: 10px; }

#draftsList { list-style: none; }
#draftsList li {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px dashed #3a2c22; font-size: 13px;
}
#draftsList button { padding: 5px 12px; font-size: 12px; }

/* 契约文书（屏幕预览：羊皮纸风） */
.contract {
  background: linear-gradient(160deg, #f5ecd7 0%, #eaddc0 100%);
  color: #2a2118;
  border-radius: 6px;
  padding: 40px 36px;
  border: 3px double #b8860b;
  box-shadow: 0 0 30px rgba(212,175,55,.15);
  line-height: 2;
  font-size: 14px;
}
.contract h3 { text-align: center; color: #7a5c14; letter-spacing: 8px; margin-bottom: 10px; font-size: 22px; }
.contract .meta {
  border: 1px solid #b8860b;
  border-radius: 6px;
  padding: 12px 18px;
  margin-bottom: 20px;
  font-size: 13px;
  color: #4a3a20;
}
.contract .meta div { display: flex; padding: 3px 0; }
.contract .meta span { display: inline-block; width: 90px; color: #7a5c14; font-weight: bold; flex-shrink: 0; }
.contract h4 { color: #7a5c14; margin: 16px 0 6px; }
.contract p { text-indent: 2em; margin-bottom: 6px; }
.contract .sign { margin-top: 30px; }
.contract .sign-row { display: flex; justify-content: space-between; margin-top: 40px; }
.contract .sign-row > div { width: 42%; text-align: center; }
.contract .sign-line { border-bottom: 1px solid #2a2118; height: 44px; margin-top: 6px; }
.contract .sign-date { margin-top: 8px; font-size: 13px; }
.contract .contract-no { text-align: center; margin-top: 26px; color: #7a5c14; font-size: 13px; }

/* 打印 = PDF（Word 风格 A4 文档） */
@page {
  size: A4;
  margin: 2.4cm 2.6cm 2.8cm;
  @bottom-center {
    content: "第 " counter(page) " 页 / 共 " counter(pages) " 页";
    font-size: 9pt;
    color: #888;
    font-family: "Songti SC", "SimSun", serif;
  }
}
@media print {
  body { background: #fff; }
  .screen { max-width: none; padding: 0; }
  #screenForm, #screenPreview, .no-print, .no-print-head, header, footer, .actions { display: none !important; }
  #screenResult { display: block !important; }
  .contract {
    background: #fff;
    color: #000;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    font-family: "Songti SC", "Noto Serif SC", "SimSun", serif;
    font-size: 11pt;
    line-height: 2;
  }
  .contract h3 {
    color: #000;
    font-size: 22pt;
    letter-spacing: 12pt;
    text-indent: 12pt;
    margin-bottom: 14pt;
    padding-bottom: 12pt;
    border-bottom: 3pt double #8b1a2b;
  }
  .contract .meta {
    border: 1pt solid #000;
    border-radius: 0;
    padding: 10pt 14pt;
    margin-bottom: 16pt;
    font-size: 10.5pt;
    color: #000;
  }
  .contract .meta span { color: #000; width: 80pt; }
  .contract h4 {
    color: #000;
    font-size: 13pt;
    margin: 18pt 0 6pt;
    break-after: avoid;
  }
  .contract p {
    text-indent: 2em;
    color: #222;
    margin-bottom: 6pt;
    orphans: 3;
    widows: 3;
  }
  .contract .sign { break-before: page; margin-top: 0; padding-top: 20pt; }
  .contract .sign p { text-indent: 2em; }
  .contract .sign-row { margin-top: 60pt; }
  .contract .sign-line { border-bottom: 1pt solid #000; height: 50pt; }
  .contract .contract-no { color: #000; margin-top: 40pt; }
}
