.gpa-number.updated{transform:scale(1.06)}.gpa-number.fail{color:var(--fail)}.gpa-number.pass{color:var(--success)}.gpa-class-badge.fail{background:rgba(255,79,109,.12);color:var(--fail);border-color:rgba(255,79,109,.3)}.gpa-class-badge.pass{background:rgba(34,216,122,.1);color:var(--success);border-color:rgba(34,216,122,.3)}.course-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;animation:slideIn .2s ease}.course-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.course-num{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}.remove-btn{background:0 0;border:none;color:var(--muted);font-size:18px;cursor:pointer;padding:0 2px;line-height:1;transition:color .2s}.remove-btn:hover{color:var(--fail)}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.input-group{display:flex;flex-direction:column;gap:4px}.input-group label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.input-group input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--white);font-size:15px;font-weight:600;padding:10px 12px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.input-group input::placeholder{color:var(--muted);font-weight:400}.input-group input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-glow)}.input-full input{grid-column:1/-1}.course-result-row{display:flex;gap:8px;margin-top:4px}.course-chip{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;text-align:center}.course-chip .chip-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:2px}.course-chip .chip-val{font-size:14px;font-weight:700;color:var(--white)}.course-chip.grade-aa .chip-val,.course-chip.grade-a .chip-val{color:var(--success)}.course-chip.grade-f .chip-val{color:var(--fail)}.course-chip.grade-d .chip-val{color:#f7a000}.empty-state{text-align:center;padding:30px 20px;color:var(--muted);font-size:13px;display:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}