:root { font-family: "PingFang SC", "Microsoft YaHei", sans-serif; color: #17324d; background: #f0f4f8; font-synthesis: none; }
* { box-sizing: border-box; } [hidden] { display: none !important; }
body { margin: 0; min-width: 320px; line-height: 1.75; } a { color: #195f9b; text-underline-offset: 4px; }
header { padding: 18px max(20px,calc((100vw - 1080px)/2)); display: flex; justify-content: space-between; align-items: center; gap: 20px; background: #0f2946; color: white; }
header a { color: white; } .brand { display: flex; gap: 12px; align-items: center; text-decoration: none; font-weight: 700; } header nav { display: flex; align-items: center; gap: 18px; } header button { background: transparent; border-color: #7894b0; color: white; }
main { max-width: 1040px; margin: 48px auto; padding: 0 20px; } h1 { font-size: clamp(28px,4vw,42px); line-height: 1.4; margin: 10px 0 16px; } h2 { font-size: 24px; margin: 0 0 12px; } h3 { font-size: 19px; }
.eyebrow { font-size: 12px; color: #406a90; letter-spacing: .1em; margin: 0 0 10px; }.lead { color: #48637c; max-width: 760px; }
.notice { background: #e7f0fa; border-left: 4px solid #195f9b; padding: 18px 22px; margin: 28px 0; border-radius: 0 10px 10px 0; color: #234c72; }.notice p { margin: 6px 0 0; font-size: 14px; }
.panel { background: white; border: 1px solid #d6e1eb; padding: 30px; border-radius: 16px; margin: 24px 0; }.muted { color: #576d82; font-size: 14px; }.feedback { padding: 12px 16px; background: #e5eef8; border-radius: 8px; overflow-wrap: anywhere; }.feedback.error { color: #8c2929; background: #fff0ef; }
label { display: grid; gap: 7px; margin: 16px 0; font-size: 14px; } input,select,textarea,button { font: inherit; } input,select,textarea { width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid #aabed2; border-radius: 7px; background: white; color: #17324d; font-size: 16px; } textarea { resize: vertical; } button { min-height: 44px; border: 1px solid #96aec5; border-radius: 8px; background: white; color: #244d74; padding: 10px 18px; cursor: pointer; }.primary { background: #195f9b; color: white; border-color: #195f9b; } button:disabled { cursor: wait; opacity: .65; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 22px; }.wide { grid-column: 1 / -1; } fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }.check { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border-radius: 8px; background: #edf3f9; }.check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 3px; accent-color: #195f9b; }
.document { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 15px; line-height: 1.95; color: #263e55; border: 1px solid #d2dfe9; padding: 24px; border-radius: 8px; background: #fafcfe; }.record-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }.badge { font-size: 13px; padding: 5px 10px; background: #e6f0fb; border-radius: 6px; }.download { display: inline-flex; align-items: center; min-height: 44px; }.events { padding-left: 22px; color: #4d647b; font-size: 14px; }.events li { margin: 10px 0; overflow-wrap: anywhere; } summary { cursor: pointer; min-height: 44px; padding: 10px 0; color: #195f9b; } details { margin-top: 20px; } footer { text-align: center; padding: 24px; color: #536b83; font-size: 13px; }
:focus-visible { outline: 3px solid #3279b8; outline-offset: 3px; }
.document-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
#printDocument { display: none; }
@page { size: A4; margin: 18mm 18mm 20mm; @bottom-center { content: "第 " counter(page) " 页 / 共 " counter(pages) " 页"; font: 9pt "Songti SC", SimSun, serif; color: #444; } }
@media print {
  :root { background: white; }
  body { min-width: 0; background: white; color: black; }
  body > :not(#printDocument) { display: none !important; }
  #printDocument { display: block; font: 11pt/1.65 "Songti SC", SimSun, serif; color: black; }
  #printDocument h1 { margin: 5mm 0 7mm; text-align: center; font-size: 20pt; line-height: 1.4; }
  #printDocument h2 { margin: 6mm 0 2mm; font-size: 12pt; line-height: 1.5; break-after: avoid; page-break-after: avoid; }
  #printDocument p { margin: 0 0 3mm; white-space: pre-wrap; overflow-wrap: anywhere; orphans: 3; widows: 3; }
  #printDocument .print-meta, #printDocument .print-event { font-size: 9pt; }
  #printDocument .print-layout { width: 100%; table-layout: fixed; border-collapse: collapse; }
  #printDocument .print-layout thead { display: table-header-group; }
  #printDocument .print-layout td { padding: 0; vertical-align: top; }
  #printDocument .print-layout .print-running-header { padding-bottom: 4mm; font-size: 8pt; line-height: 1.4; overflow-wrap: anywhere; }
  #printDocument .print-archive-notice { border: 1px solid #777; padding: 4mm; margin: 5mm 0; font-weight: 700; }
  .print-records { border-top: 1px solid #777; margin-top: 8mm; padding-top: 2mm; }
  .print-signatures { break-inside: avoid; page-break-inside: avoid; margin-top: 8mm; border-top: 1px solid #777; padding-top: 2mm; }
  .print-signature-columns { display: flex; gap: 10mm; margin-top: 7mm; }
  .print-signature-party { flex: 1; min-width: 0; }
  #printDocument .print-stamp-space { min-height: 48mm; margin-top: 5mm; }
  #printDocument .print-signature-spacer { min-height: 1.65em; }
}
@media(max-width:600px) { header { flex-wrap: wrap; padding: 16px 20px; gap: 10px; } header nav { width: 100%; justify-content: space-between; } main { margin-top: 30px; }.panel { padding: 20px 16px; }.document { padding: 18px 14px; }.form-grid { grid-template-columns: minmax(0,1fr); }.record-heading { align-items: flex-start; flex-direction: column; }.primary { width: 100%; }.notice { padding: 16px; } }

.partner-steps{display:flex;gap:24px;list-style:none;margin:30px 0;padding:0;color:#60768b;font-size:14px;flex-wrap:wrap}.partner-steps li{display:flex;align-items:center;gap:8px}.partner-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#edf2f7;font-size:13px}.partner-steps [aria-current]{color:#195f9b;font-weight:700}.partner-steps [aria-current] span{background:#195f9b;color:white}.document-heading{border-top:1px solid #d6e1eb;margin-top:28px;padding-top:18px}.document-heading h3{margin:0 0 8px}.document-heading a{display:inline-flex;align-items:center;min-height:44px}.local-feedback{padding:12px 14px;margin:14px 0 0;border-radius:8px;background:#eaf2fa;font-size:14px;overflow-wrap:anywhere}.local-feedback:empty{display:none}.local-feedback.error{color:#8c2929;background:#fff0ef}#checkConfirmation{margin-top:14px}.completion-panel{display:flex;gap:18px;background:#edf6f0;border:1px solid #c4dccd;border-radius:12px;padding:24px;margin:24px 0;color:#244d3c}.completion-panel>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#d6ebdd;font-size:20px}.completion-panel h3{margin:0 0 8px;font-size:20px}.completion-panel p{margin:0 0 16px;font-size:14px}.next-step{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border-radius:8px;text-decoration:none}#personalForm,#confirmForm,#completionPanel{scroll-margin-top:24px}@media(max-width:600px){.partner-steps{gap:12px;font-size:12px}.partner-steps li{gap:5px}.partner-steps span{width:24px;height:24px;font-size:11px}.completion-panel{padding:18px;gap:12px}.completion-panel>span{width:28px;height:28px;flex-basis:28px}.completion-panel h3{font-size:18px}.next-step{width:100%}}
