/* ------------------------------------------------------------------ *
 * Daftar v2 — aplikasi PWA premium (selaras docs/WIREFRAME-DAFTAR-V2.html)
 * ------------------------------------------------------------------ */
.laman--fokus{background:#f6f5f1;color:#14201a;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.laman--fokus .laman{max-width:1120px;margin:0 auto;background:#f6f5f1;box-shadow:0 30px 80px -20px rgba(6,41,28,.22)}
.laman--fokus .kepala-fokus{position:relative;overflow:hidden;padding:var(--sp-6) var(--sp-5) 78px;background:radial-gradient(120% 90% at 100% 0,rgba(201,162,39,.22),transparent 55%),radial-gradient(90% 80% at 0 100%,rgba(47,154,99,.35),transparent 60%),linear-gradient(160deg,#0a3d2a,#06291c);color:#fff;border-radius:0 0 32px 32px}
.laman--fokus .kepala-fokus:after{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;background-image:radial-gradient(#fff 1px,transparent 1px);background-size:18px 18px}
.laman--fokus .kepala-fokus__isi{position:relative;z-index:1}
.laman--fokus .kepala-fokus__watermark{right:4%;bottom:12px;width:330px;opacity:.12;filter:brightness(0) invert(1);transform:rotate(-12deg)}
.laman--fokus .kepala-fokus__baris{gap:var(--sp-3)}
.laman--fokus .kepala-fokus__balik{width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.08);color:#fff}
.laman--fokus .kepala-fokus__logo{width:42px;height:42px;border-radius:13px;padding:4px;background:#fff;box-shadow:0 0 0 2px rgba(201,162,39,.55)}
.laman--fokus .kepala-fokus__nama{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800}
.laman--fokus .kepala-fokus__sub{color:rgba(255,255,255,.7)}
.laman--fokus .kemajuan{position:relative;z-index:1;margin-top:var(--sp-6);gap:var(--sp-2)}
.laman--fokus .kemajuan__ruas{height:auto;display:flex;flex-direction:column;gap:var(--sp-2);background:transparent;color:rgba(255,255,255,.55);font-size:var(--teks-3xs);font-weight:700;overflow:visible}
.laman--fokus .kemajuan__ruas:before{content:"";height:4px;border-radius:9px;background:rgba(255,255,255,.18)}
.laman--fokus .kemajuan__ruas[aria-current=step]{color:#fff;background:transparent}
.laman--fokus .kemajuan__ruas[aria-current=step]:before{background:linear-gradient(90deg,#c9a227,#f3dc8a)}
.laman--fokus .kemajuan__ruas[data-selesai]:before{background:#2f9a63}
.laman--fokus .isi-utama{padding:0 var(--sp-4) 100px;margin-top:-48px;position:relative;z-index:2}
.laman--fokus .judul-alur{font:600 clamp(28px,7vw,40px)/1.05 'Source Serif 4',Georgia,serif;color:#06291c;letter-spacing:-.025em;margin:var(--sp-2) 0 var(--sp-2)}
.laman--fokus .keterangan{color:#5f6b64}
.laman--fokus .kartu--alur{padding:var(--sp-6) var(--sp-5) var(--sp-6);border-radius:22px;border:1px solid #eef0ec;box-shadow:var(--bayang-layang);position:relative;overflow:hidden;background:#fff}
.laman--fokus .kartu--alur:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#2f9a63,#c9a227,#2f9a63)}
.laman--fokus .tahap-daftar legend{font:600 var(--teks-3xl)/1.15 'Source Serif 4',Georgia,serif;color:#06291c;border:0;padding:0 0 var(--sp-2)}
.laman--fokus .tahap-daftar__urut{font:var(--teks-2xs) 'Plus Jakarta Sans',sans-serif;font-weight:800;color:#8a6d12;background:#f6ecd0;padding:var(--sp-1) var(--sp-2);border-radius:999px}
.laman--fokus .bidang__label{color:#14201a;font-weight:700}
.laman--fokus input:not([type=checkbox]):not([type=radio]),.laman--fokus select{min-height:52px;border:1.5px solid #e3e6e1;border-radius:14px;background:#fbfcfa;padding-left:var(--sp-4)}
.laman--fokus input:focus,.laman--fokus select:focus{border-color:#2f9a63;box-shadow:0 0 0 4px rgba(47,154,99,.16);background:#fff}
.laman--fokus .pilihan__item{min-height:60px;padding:var(--sp-3) var(--sp-4);border:1.5px solid #e3e6e1;border-radius:14px;font-weight:700;background:#fff}
.laman--fokus .pilihan__item:has(input:checked){border-color:#2f9a63;background:#f2f8f4;box-shadow:0 0 0 4px rgba(47,154,99,.16)}
.laman--fokus .tombol{min-height:52px;border-radius:999px;font-weight:800}
.laman--fokus .tombol--utama{background:linear-gradient(180deg,#0b6b3a,#095a31);box-shadow:0 10px 22px -8px rgba(11,107,58,.6)}
.laman--fokus .setuju{padding:var(--sp-4);border-radius:14px;background:#f6ecd0;border:1px solid #ecdcae}
.laman--fokus .lapisan{background:rgba(6,41,28,.55);backdrop-filter:blur(6px)}
.laman--fokus .lapisan__kartu{border-radius:26px;box-shadow:0 -20px 60px rgba(0,0,0,.25)}
@media(min-width:720px){.laman--fokus .kepala-fokus{padding:var(--sp-6) var(--sp-7) 90px}.laman--fokus .isi-utama{padding:0 var(--sp-6) var(--sp-8)}.laman--fokus .kartu--alur{padding:var(--sp-7) var(--sp-7) var(--sp-7)}}
@media(min-width:980px){.laman--fokus{padding:var(--sp-6) 0}.laman--fokus .laman{border-radius:30px;overflow:hidden}.laman--fokus .isi-utama{padding-bottom:var(--sp-8)}}
.swal-daftar{margin:0;padding:0;list-style:none;text-align:left;border:1px solid #e3e6e1;border-radius:14px;overflow:hidden}
.swal-daftar li{display:grid;gap:2px;padding:var(--sp-3) var(--sp-4);border-top:1px solid #eef0ec}
.swal-daftar li:first-child{border-top:0}
.swal-daftar b{font-size:var(--teks-sm);color:#14201a}
.swal-daftar span{font-size:var(--teks-xs);color:#b42318}
.swal-nomor{margin:0 0 var(--sp-2);font:600 var(--teks-6xl)/1.1 var(--serif);letter-spacing:.06em;color:#0b6b3a}
.swal2-popup{font-family:'Plus Jakarta Sans',system-ui,sans-serif;border-radius:22px}

/* --- Modal hasil cek status (SweetAlert2) --- */
/* Judul memuat nama pendaftar, jadi cukup satu baris ringkas supaya
   daftar rincian di bawahnya tidak terdorong turun. */
.modal-hasil-cek .swal2-title{padding:var(--sp-4) var(--sp-5) 0;margin:0;font:600 var(--teks-xl)/1.3 var(--serif);color:#14201a;text-align:left}
/*
 * Isi hasil dipadatkan supaya modal tetap ringkas. Pemilihnya dirangkai
 * dengan `body` karena gaya .tiket/.rincian asli juga memakai
 * `body.laman--fokus`, yang kekhususannya harus dilampaui.
 */
body .modal-hasil-cek .swal2-html-container{margin:var(--sp-3) var(--sp-5) 0;font-size:var(--teks-sm)}
body .modal-hasil-cek .tiket{margin-top:0;padding:var(--sp-3) var(--sp-4)}
body .modal-hasil-cek .tiket b{margin-top:0;font-size:var(--teks-3xl)}
body .modal-hasil-cek .tiket::after{width:60px}
body .modal-hasil-cek .pisah{margin:var(--sp-3) 0}
body .modal-hasil-cek h3{margin:0 0 var(--sp-2);font-size:var(--teks-base)}
body .modal-hasil-cek .rincian dt{padding-top:var(--sp-2)}
body .modal-hasil-cek .rincian dd{font-size:var(--teks-sm)}
body .modal-hasil-cek .daftar-berkas li{padding:var(--sp-2) 0;font-size:var(--teks-sm)}
body .modal-hasil-cek .lencana--besar{font-size:var(--teks-xs);padding:var(--sp-1) var(--sp-3)}
body .modal-hasil-cek .swal2-actions{margin:var(--sp-4) 0 var(--sp-2)}

/* --- Modal kebijakan privasi (SweetAlert2) --- */
.modal-privasi{padding:var(--sp-6) 0 var(--sp-5)}
.modal-privasi .swal2-title{padding:0 var(--sp-6);margin:0 0 var(--sp-1);font:600 var(--teks-3xl)/1.3 var(--serif);color:#14201a;text-align:left}
.isi-privasi{max-height:min(62vh,520px);overflow-y:auto;padding:0 var(--sp-6);text-align:left;font-size:var(--teks-md);line-height:1.6;color:#3c463f}
.isi-privasi h2{font:600 var(--teks-base)/1.4 var(--sans);color:#14201a;margin:var(--sp-5) 0 var(--sp-2)}
.isi-privasi h2:first-child{margin-top:var(--sp-3)}
.isi-privasi p{margin:0 0 var(--sp-2)}
.isi-privasi a{color:var(--hijau)}

/* Layar: hanya salinan pertama. Cetak: dua salinan + garis potong (lihat @media print). */
.bukti-lembar > :nth-child(n + 2) {
    display: none;
}

.bukti-daftar__untuk {
    display: none;
}

@media print {
    .bukti-lembar {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: stretch;
        gap: 0;
    }

    .bukti-lembar > :nth-child(n + 2) {
        display: block;
    }

    .bukti-lembar > article {
        position: relative;
        max-width: none;
        margin: 0;
        padding: 6px 14px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: none;
    }

    /* Watermark abu-abu, sama dengan PDF: logo pudar di tiap salinan.
       Elemen pertama sehingga teks tetap tercetak di atasnya.
       Nilai opacity .04 menghasilkan abu ±232 di kertas putih — disamakan
       dengan PDF (lihat BuktiService::logoPng). */
    .bukti-lembar > article::before {
        content: "";
        position: absolute;
        width: 48mm;
        height: 48mm;
        background: url('/logo-sekolah.png') center / contain no-repeat;
        filter: grayscale(1);
        opacity: .04;
        pointer-events: none;
    }

    /* Letak watermark diatur terpisah per salinan. Bawaannya tengah;
       ubah top/left di sini untuk menggeser satu salinan saja. */
    .bukti-lembar > article:first-of-type::before {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .bukti-lembar > article:last-of-type::before {
        top: 50%;
        left: calc(50% + 2.375mm);
        transform: translate(-50%, -50%);
    }

    .bukti-daftar__untuk {
        display: block;
        margin: 0 0 4px;
        color: var(--abu);
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .08em;
        text-align: right;
        text-transform: uppercase;
    }

    .bukti-lembar__potong {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 14px;
        border-left: 1.5px dashed #555;
    }

    .bukti-lembar__potong span {
        color: #555;
        font-size: 8px;
        white-space: nowrap;
        writing-mode: vertical-rl;
        background: #fff;
        padding: 6px 0;
    }

    .bukti-daftar__kepala { margin-bottom: 8px; gap: 10px; padding: 6px 10px; }
    .bukti-daftar__kepala > img { width: 40px; height: 40px; }
    .bukti-daftar__judul h1 { font-size: 14px; }
    .bukti-daftar__judul p { font-size: 11px; }
    .bukti-daftar__qr img { width: 64px !important; height: 64px !important; }
    .bukti-daftar__nomor { font-size: 34px; margin-bottom: 0; }
    .bukti-daftar__data { margin: 8px 0; }
    .bukti-daftar__data > div { grid-template-columns: 100px 1fr; padding: 4px 0; font-size: 11px; }
    .bukti-daftar__data > .bukti-daftar__judul-baris, .bukti-daftar__data > .bukti-daftar__judul-baris dt { background: none; }
    .bukti-daftar__ingat { padding: 5px 8px; font-size: 10px; }
    /* Tanda tangan hanya tampil saat dicetak. Ruang tanda tangan cukup untuk
       tanda tangan dan stempel, tapi tidak terlalu tinggi. */
    .bukti-daftar__ttd { display: block; margin-top: 10px; }
    .bukti-daftar__tanggal, .bukti-daftar__ttd-baris p { font-size: 11px; }
    /* Ruang tanda tangan cukup untuk tanda tangan dan stempel, tapi tidak
       terlalu tinggi. */
    .bukti-daftar__ttd-baris { grid-template-rows: auto 100px auto; }
    .bukti-daftar__nama { font-size: 10px; }
}
