/* =================================================================
   fitur: potensi — Radar Potensi guru (impor nilai, daftar nilai, radar, undangan)
   Desain krem + hitam hangat + vermilion (26 Okt 2026). Hanya token dari style.css.
   ================================================================= */
.pt-k{display:grid;gap:16px;align-content:start;min-width:0}
.pt-k .card-h{margin-bottom:0}
.pt-k .card-h .lbl{margin-bottom:4px}
.pt-g{display:grid;gap:16px;min-width:0}
.pt-filter{display:grid;grid-template-columns:1fr;gap:12px}
.pt-filter label{margin-top:0}
@media(min-width:640px){.pt-filter{grid-template-columns:1fr 160px}}
.pt-check{display:flex;gap:10px;align-items:center;margin:0;font-size:14px;font-weight:600;cursor:pointer}
.pt-check input{width:18px;margin:0}
.pt-kosong{padding:28px 14px;border:1.5px dashed var(--line-strong);border-radius:var(--r)}

/* tabel pratinjau & daftar nilai */
.pt-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
.pt-table{width:100%;border-collapse:collapse;font-size:14px}
.pt-table th,.pt-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line)}
.pt-table tr:last-child td{border-bottom:0}
.pt-table th{font:600 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--sunken)}
.pt-table td:last-child{font-variant-numeric:tabular-nums}
.pt-prev{border-top:1px solid var(--line);padding-top:18px;margin-top:4px}
.pt-daftar{display:grid}
.pt-row{padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px}
.pt-row:last-child{border-bottom:0}
.pt-row .grow{min-width:0;overflow-wrap:anywhere}
.pt-nilai{min-width:56px;text-align:right;font:400 2rem/1 var(--f-display);letter-spacing:.01em;color:var(--api);font-variant-numeric:tabular-nums}
@media(max-width:480px){.pt-row .btn{width:100%}}

/* tombol pilih file: input asli disembunyikan, label yang tampil */
.file-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0;font-weight:500;cursor:pointer;position:relative}
.file-pick input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.file-pick:focus-within .btn{outline:2px solid var(--ink);outline-offset:2px}
.file-pick:hover .btn{border-color:var(--ink);background:var(--brand-soft)}
input[type=file]{padding:8px;cursor:pointer;color:var(--muted);font-size:14px}
input[type=file]::file-selector-button{font:600 14px var(--f-body);color:var(--ink);background:var(--sunken);border:1px solid var(--line);
  border-radius:999px;padding:8px 14px;margin-right:12px;cursor:pointer;transition:background-color .15s,border-color .15s}
input[type=file]:hover::file-selector-button{border-color:var(--ink);background:var(--card)}

/* daftar nilai */
.pt-nf-filter{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.pt-nf-filter > div:first-child{grid-column:1/-1}
.pt-nf-filter label{margin-top:0}
@media (min-width:900px){.pt-nf-filter{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}.pt-nf-filter > div:first-child{grid-column:auto}}
.pt-nf-count{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 10px;font:500 12px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pt-nf-count b{color:var(--ink)}
.pt-nf-hapus{min-height:34px;padding:0 12px;font-size:13px}
.pt-scroll:has(.pt-nf-table){max-height:520px;overflow:auto}
.pt-nf-table thead th{position:sticky;top:0;z-index:1}
.pt-nf-table td{vertical-align:middle}
.pt-nf-table td:first-child b{display:block;font-weight:700}
.pt-nf-table td:first-child small{display:block;font-size:12px;color:var(--muted)}
.pt-belum{color:var(--warn);font-weight:700}
.pt-nf-in{width:80px;min-height:38px;padding:6px 10px;text-align:right;border-radius:12px;font:600 14px var(--f-mono);font-variant-numeric:tabular-nums}
.pt-nf-in.pt-tersimpan{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}
.pt-nf-aksi{white-space:nowrap;text-align:right}
.pt-nf-aksi .btn{min-height:34px;padding:0 12px;font-size:13px}
.pt-2{display:grid;gap:0 12px}
@media (min-width:480px){.pt-2{grid-template-columns:1fr 1fr}}
.pt-smt-m{display:none}
@media (max-width:640px){
  .pt-nf-table thead{display:none}
  .pt-nf-table,.pt-nf-table tbody{display:block}
  .pt-nf-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:center;padding:12px;border-bottom:1px solid var(--line)}
  .pt-nf-table tr:last-child{border-bottom:0}
  .pt-nf-table td{padding:0;border:0}
  .pt-nf-table td:nth-child(2){grid-column:1;font-size:13.5px}
  .pt-nf-table td:nth-child(3){display:none}
  .pt-nf-table td:nth-child(4){grid-column:2;grid-row:1/span 2}
  .pt-nf-table td.pt-nf-aksi{grid-column:1/-1;text-align:left;margin-top:6px}
  .pt-smt-m{display:inline;color:var(--muted)}
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* daftar radar masuk bergantian saat dibuka */
.view.enter .pt-row{animation:masukKecil .36s var(--ease-kuat) backwards}
.view.enter .pt-row:nth-child(2){animation-delay:.05s}.view.enter .pt-row:nth-child(3){animation-delay:.1s}
.view.enter .pt-row:nth-child(n+4){animation-delay:.15s}
