/* รอบ 83: มหาวิทยาลัย เฟส 3 — ค่าเรียนตามหน่วยกิต/ทุน (/school/uni/fees + ป้ายค่าเรียนในโต๊ะทะเบียน)
   prefix uf- (และ uni- ร่วม) · ใช้ตัวแปรสีของ app.css (รองรับโหมดมืด) · มือถือ ≤760px ไม่เลื่อนแนวนอน */

/* ---------- แถวอัตรา / ค่าธรรมเนียม ---------- */
.uf-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 8px; align-items: end; padding: 6px 0; border-bottom: 1px dashed var(--line); }
.uf-row .field { margin: 0; min-width: 0; }
.uf-row select, .uf-row input { width: 100%; min-width: 0; }
.uf-del { align-self: end; margin-bottom: 4px; }
.uf-additem { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.uf-additem input { flex: 1 1 220px; min-width: 0; }

/* ---------- ป้ายค่าเรียนในโต๊ะทะเบียน ---------- */
.uf-bill { padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; }
.uf-bill-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.uf-bill-head h3 { margin: 0; font-size: 1rem; }
.uf-bill-lines { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: .92em; }
.uf-bill-lines li { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.uf-bill-lines li > span:first-child { min-width: 0; flex: 1 1 180px; }
.uf-bill-tot { display: flex; gap: 14px; flex-wrap: wrap; font-size: .92em; }
.uf-bill-tot .due { color: var(--danger); font-weight: 600; }

/* ---------- มือถือ (จุดเดียวกับทุกไฟล์: 760px) ---------- */
@media (max-width: 760px) {
  .uf-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .uf-row .field:nth-child(2) { grid-column: 1 / -1; }
  .uf-del { grid-column: 1 / -1; justify-self: end; }
}
