.swim-points-widget { border: 1px solid #ddd; padding: 12px; max-width: 760px; }
h3 { margin: 14px 0 8px; }
.sp-field { margin-bottom: 10px; }
.sp-field label { display:block; font-weight:600; margin-bottom: 4px; }

.sp-time-row { display:flex; align-items:center; gap:6px; }
.sp-time-row input { width: 90px; padding:6px; }
#sp-calc { margin-top: 8px; }

.sp-result { margin-top: 12px; font-weight: 600; }
.sp-result.ok { color: #0a6; }
.sp-result.err { color: #b00; }

hr { margin: 16px 0; }

.sp-dash-controls { display:flex; align-items:center; gap:10px; margin-bottom: 10px; }
.sp-dash-toolbar { display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:8px 0; }
.sp-dash-filters label { margin-right: 12px; display:inline-flex; flex-direction:column; font-weight:600; font-size: 0.95rem; }
.sp-dash-filters .sp-inline { flex-direction:row; align-items:center; gap:6px; margin-top: 18px; font-weight:600; }
.sp-dash-actions { display:flex; gap:8px; align-items:center; }
.sp-import input[type="file"] { display:block; margin-top:4px; }

.sp-dash { margin-top: 12px; }

.sp-best4 { margin: 6px 0 10px; font-size: 1rem; }

.sp-table { width:100%; border-collapse: collapse; }
.sp-table th, .sp-table td { border:1px solid #ddd; padding:6px 8px; font-size: 0.95rem; }
.sp-table th { background:#f7f7f7; text-align:left; }
.sp-table tr.best { background: #fbffe6; } /* highlight Top 4 */
.sp-table button.sp-del { background:#fff; border:1px solid #c33; color:#c33; padding:4px 8px; cursor:pointer; }
.sp-table button.sp-del:hover { background:#fee; }