/* Shared UI primitives used across scorer + public scoresheet */

.spsls-ge-card{
  background:#fff;
  border:1px solid #d7d7d7;
  border-radius:14px;
  padding:12px;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.spsls-ge-card--flush{
  padding:0;
  overflow:hidden;
}

/* Linescore table (shared). */
.spsls-ge-linescore-table{
  border-collapse:collapse;
  width:100%;
  font-family:inherit;
  font-size:14px;
  table-layout:fixed;
  margin:0;
}

.spsls-ge-linescore-table th{
  background:#0f6b0f;
  color:#fff;
  font-weight:900;
}

.spsls-ge-linescore-table th,
.spsls-ge-linescore-table td{
  padding:10px 6px;
  border-bottom:1px solid #f2f2f2;
  text-align:center;
}

.spsls-ge-linescore-table th:first-child,
.spsls-ge-linescore-table td:first-child{
  text-align:left;
  width:23%;
}

.spsls-ge-linescore-table td:first-child{ font-weight:900; }

.spsls-ge-linescore-table th:not(:first-child),
.spsls-ge-linescore-table td:not(:first-child){ width:7%; }

/* Ensure no extra spacing inside the flush card. */
.ge-linescore{ margin:0; padding:0; }
.spsls-ge-card--flush .ge-linescore table{ margin:0; }

/* Spray chart (simple field) */
.spsls-ge-spray-field{
  width:100%;
  aspect-ratio: 1 / 1;
  max-height:260px;
  border:1px solid #e6e6e6;
  border-radius:12px;
  overflow:hidden;
  background: linear-gradient(180deg, #eaf6ea 0%, #f7fbf7 100%);
  position:relative;
}
.spsls-ge-spray-field svg{width:100%; height:100%; display:block;}
.spsls-ge-spray-dot{opacity:0.95;}

/* Hit location modal */
.spsls-ge-hitloc-overlay{position:fixed; inset:0; background:rgba(0,0,0,0.45); display:none; align-items:center; justify-content:center; z-index:99999;}
.spsls-ge-hitloc-modal{background:#fff; border-radius:14px; width:min(520px, 92vw); padding:16px; box-shadow:0 10px 30px rgba(0,0,0,0.25);}
.spsls-ge-hitloc-title{font-weight:900; margin-bottom:8px;}
.spsls-ge-hitloc-sub{color:#555; font-size:13px; margin-bottom:10px;}
.spsls-ge-hitloc-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px;}
.spsls-ge-hitloc-actions .spsls-ge-bigbtn{width:100%;}


.spsls-ge-spray-legend{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:8px;font-size:12px;line-height:1.2;}
.spsls-ge-spray-legend__item{display:inline-flex;align-items:center;gap:6px;color:#1d2327;}
.spsls-ge-spray-legend__dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.35);box-sizing:border-box;}
.spsls-ge-spray-legend__dot--1b{background:rgba(46, 125, 50, 0.85);}
.spsls-ge-spray-legend__dot--2b{background:rgba(25, 118, 210, 0.85);}
.spsls-ge-spray-legend__dot--3b{background:rgba(198, 40, 40, 0.85);}
.spsls-ge-spray-legend__dot--hr{background:rgba(123, 31, 162, 0.85);}
.spsls-ge-spray-legend__dot--out{background:rgba(90,90,90,0.80);}
