.swim-awards { font: 16px/1.4 system-ui, Segoe UI, Roboto, Arial, sans-serif; max-width: 900px; margin: 0 auto; }
.swim-form h3, .my-times h4, .my-award h4 { margin: .5rem 0 .75rem; }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .75rem; }
.grid label { display: flex; flex-direction: column; }
.grid label.full { grid-column: 1 / -1; }
.grid span { font-size: .9rem; color: #333; margin-bottom: .25rem; }
input[type=text], input[type=number], input[type=date], select {
  padding: .5rem .6rem; border: 1px solid #bbb; border-radius: 6px; width: 100%;
}
.actions { margin-top: .75rem; display:flex; gap:.5rem; }
.btn { background:#0a66c2; color:white; padding:.5rem .8rem; border:0; border-radius:6px; cursor:pointer; }
.btn-secondary { background:#555; }
.btn-primary { background:#0a8a3a; }
.btn:disabled { opacity:.5; cursor:not-allowed; }
.link { background:none; border:none; color:#0a66c2; cursor:pointer; }
.link.danger { color:#b00020; }

.table-wrap { overflow:auto; border:1px solid #e2e2e2; border-radius:6px; }
table { width:100%; border-collapse: collapse; }
th, td { padding:.5rem .6rem; border-bottom:1px solid #eee; text-align:left; }
tr.qualifying { background:#e8f6ea; } /* green highlight */

#requirements .ok { color:#237a3b; }
#requirements .todo { color:#8a0000; }

.tally { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:.75rem; }
.points { font-weight:600; }
.badges .badge { display:inline-block; border:1px solid #ccc; padding:.25rem .5rem; border-radius:999px; margin-right:.25rem; color:#444; }
.badges .badge.active { background:#0a66c2; color:white; border-color:#0a66c2; }

@media (max-width: 720px) {
  .grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}