/* GPA 換算：課程列表（分數或等第、學分、移除） */
#gpa-form [hidden] { display: none !important; }
#gpa-form .calc-radios-stack { display: block; border: 0; padding: 0; margin: 10px 0; }
#gpa-form .calc-radios-stack legend { font-weight: 600; padding: 0; margin-bottom: 4px; }
.gpa-head, .gpa-row { display: grid; grid-template-columns: 1.4rem minmax(0, 1fr) minmax(0, 1fr) 44px; gap: 8px; align-items: center; margin: 6px 0; }
.gpa-head { font-weight: 600; font-size: .95rem; color: var(--muted); margin-bottom: 0; }
.gpa-no { color: var(--muted); font-size: .95rem; text-align: center; }
.gpa-row input[type=text] { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; background: #fff; color: var(--fg); }
.gpa-row .gpa-rm { min-height: 44px; width: 44px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; font-size: 1.2rem; line-height: 1; color: var(--muted); }
.gpa-tools { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 0; }
.gpa-tools .btn { flex: 1 1 140px; }
#gpa-form .btn-plain { background: #fff; color: var(--fg); border: 2px solid var(--line); }
#gpa-detail td, #gpa-detail th { text-align: center; }
