    /* ============================================================
       FORMULIR PENDAFTARAN - PRINT/PDF STYLESHEET
       Sepenuhnya terpisah dari wawancara-print.css, invoice-print.css,
       dan surat-edaran-print.css. Semua selector diawali .fp- untuk
       mencegah collision.
       ============================================================ */
    
    :root {
      --fp-blue-deep: #1F4396;
      --fp-blue-accent: #729ad0;
      --fp-blue-light: #eef4fc;
      --fp-blue-border: #d5e0ef;
      --fp-ink: #101b33;
      --fp-muted: #64748b;
      --fp-paper: #ffffff;
      --fp-line: #dbe3ef;
    }
    
    /* ============================================================
       DOKUMEN — mengikuti pola multi-halaman .fp-page milik
       Surat Edaran, karena Formulir Pendaftaran juga hampir pasti
       lebih dari satu halaman (data sangat banyak: siswa, alamat,
       ayah, ibu, wali). Setiap .fp-page berdiri sendiri dan diberi
       break-after: page, sehingga urutan potongan halaman selalu
       jatuh di batas section, bukan di tengah kartu data.
       ============================================================ */
    .fp-document {
        width: 210mm;
        margin: 0 auto;
        padding: 15px 14mm 15px;
        background: var(--fp-paper);
        font-family: "Plus Jakarta Sans", sans-serif;
        color: var(--fp-ink);
        box-sizing: border-box;
    }
    
    .fp-document,
    .fp-document * {
        box-sizing: border-box;
    }
    
    /* Mencegah seksi/kartu terpotong di tengah halaman secara tidak rapi */
    .fp-meta-section,
    .fp-card,
    .fp-signature-wrapper {
        page-break-inside: avoid;
        break-inside: avoid;
    }
    
    /* ============================================================
   HEADER (Logo & Judul Sejajar Vertikal)
   ============================================================ */
    .fp-header {
      width: 100%;
      display: flex;
      align-items: center; /* Menjaga logo dan teks sejajar di tengah secara vertikal */
      gap: 16px;
      padding-bottom: 18px;
      border-bottom: 3px solid var(--fp-blue-deep);
      page-break-inside: avoid;
      break-inside: avoid;
    }
    
    .fp-header-logo {
      height: 56px;
      width: auto;
      flex-shrink: 0;
      display: block;
    }
    
    .fp-header-text {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    
    .fp-header-title {
      margin: 0;
      font-family: "Baloo 2", sans-serif;
      font-size: 19px;
      line-height: 1.2;
      font-weight: 700;
      letter-spacing: 0.02em;
      color: var(--fp-blue-deep);
      text-transform: uppercase;
    }
    
    .fp-header-subtitle {
      margin: 3px 0 0;
      font-size: 11.5px;
      line-height: 1.2;
      color: var(--fp-muted);
    }
    
    /* ============================================================
       METADATA GRID — Kode Form, Tanggal Submit, Status, Jenjang/Kategori
       ============================================================ */
    .fp-meta-section {
      width: 100%;
      margin: 16px 0 22px;
      page-break-inside: avoid;
      break-inside: avoid;
    }
    
    .fp-meta-grid {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr;
      border: 1px solid var(--fp-blue-border);
      border-radius: 8px;
      overflow: hidden;
      background: var(--fp-blue-light);
    }
    
    .fp-meta-item {
      padding: 10px 12px;
      border-right: 1px solid var(--fp-blue-border);
    }
    
    .fp-meta-item:last-child {
      border-right: none;
    }
    
    .fp-meta-label {
      margin: 0;
      font-size: 8.5px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--fp-muted);
    }
    
    .fp-meta-value {
      margin: 3px 0 0;
      font-size: 11.5px;
      font-weight: 700;
      color: var(--fp-ink);
      line-height: 1.3;
      word-break: break-word;
    }
    
    /* ============================================================
       KARTU DATA (Data Calon Siswa, Alamat, Ayah, Ibu, Wali, dst)
       ============================================================ */
    .fp-card {
      width: 100%;
      margin-bottom: 16px;
      border: 1px solid var(--fp-line);
      border-radius: 8px;
      overflow: hidden;
      page-break-inside: avoid;
      break-inside: avoid;
    }
    
    .fp-card-title {
      width: 100%;
      margin: 0;
      padding: 9px 14px;
      background: var(--fp-blue-deep);
      color: #ffffff;
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    
    .fp-card-body {
      padding: 14px 16px;
    }
    
    .fp-card-subtitle {
      margin: 0 0 8px;
      font-size: 11px;
      font-weight: 700;
      color: var(--fp-blue-accent);
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    
    .fp-card-subtitle:not(:first-child) {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px dashed var(--fp-line);
    }
    
    /* ============================================================
       KEY-VALUE GRID di dalam kartu
       ============================================================ */
    .fp-kv-grid {
      width: 100%;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 20px;
    }
    
    .fp-kv-grid.fp-kv-grid-full {
      grid-template-columns: 1fr;
    }
    
    .fp-kv-item {
      min-width: 0;
    }
    
    /* ============================================================
       KEY-VALUE GRID - PENINGKATAN KONTRAS & KETEBALAN DATA
       ============================================================ */
    .fp-kv-label {
      margin: 0;
      font-size: 9px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #475569; /* Dipergelap sedikit agar label tetap kontras */
    }
    
    .fp-kv-value {
      margin: 2px 0 0;
      font-size: 12px;
      font-weight: 600; /* Dibuat semi-bold agar data menonjol & jelas */
      color: #0f172a; /* Warna hitam ink gelap murni */
      line-height: 1.45;
      word-break: break-word;
    }
    
    .fp-kv-value.fp-kv-empty {
      color: #b8c1d1;
      font-style: italic;
    }
    
    /* ============================================================
       STATUS BERKAS (badge Terunggah / Belum Diunggah)
       ============================================================ */
    .fp-doc-status-list {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    
    .fp-doc-status-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 7px 10px;
      background: #f7f9fc;
      border: 1px solid var(--fp-line);
      border-radius: 6px;
    }
    
    .fp-doc-status-name {
      font-size: 11.5px;
      font-weight: 600; /* Dibuat semi-bold */
      color: #0f172a;
    }
    
    .fp-doc-badge {
      font-size: 9.5px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      padding: 3px 9px;
      border-radius: 999px;
    }
    
    .fp-doc-badge-uploaded {
      background: #e2f3e8;
      color: #1c7a42;
    }
    
    .fp-doc-badge-missing {
      background: #fbe9e7;
      color: #b3402f;
    }
    
    /* ============================================================
       TANDA TANGAN — Wrapper & 3 Kolom
       ============================================================ */
    .fp-signature-wrapper {
        width: 100%;
        margin-top: 30px;
        page-break-inside: avoid;
        break-inside: avoid;
    }
    
    .fp-signature-location {
        width: 100%;
        text-align: right;
        font-size: 11.5px;
        font-weight: 500;
        color: var(--fp-ink);
        margin-bottom: 12px;
    }
    
    .fp-signature-section {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    .fp-signature-column {
        text-align: center;
    }
    
    .fp-signature-header {
        margin: 0;
        font-size: 12px;
        font-weight: 600;
        color: var(--fp-ink);
    }
    
    .fp-signature-space {
        height: 75px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    .fp-signature-name {
        margin: 0;
        padding-top: 6px;
        border-top: 1px solid var(--fp-ink);
        font-size: 11.5px;
        font-weight: 700;
        color: var(--fp-ink);
    }
    
    /* ============================================================
       NOMOR HALAMAN — pojok kanan bawah setiap .fp-page
       ============================================================ */
    .fp-page-number {
      position: absolute;
      bottom: 10mm;
      right: 12mm;
      font-size: 10px;
      color: var(--fp-muted);
    }
    
    .fp-signature-space {
      height: 75px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .fp-signature-space-ortu {
      height: 91px;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .fp-signature-ttd {
      display: block;
      width: 115px;
      max-width: 100%;
      height: 65px;
      object-fit: contain;
      object-position: center;
      margin: 0 auto;
    }
    
    /* ============================================================
       PRINT / PDF
       ============================================================ */
    @media print {
        .fp-document {
            width: 100%;
            margin: 0;
            padding: 0;
        }
    }