/* Visual style & header */
.sp-softball-card .sp-darkhdr{ display:flex; align-items:center; justify-content:space-between; background:#111; color:#fff; padding:8px 12px; text-transform:uppercase; }
.sp-softball-card .sp-hdr-title{ font-weight:700; letter-spacing:1px; }
.sp-softball-card .sp-btn{ background:#222; color:#fff; padding:6px 10px; text-decoration:none; border-radius:2px; }
.sp-softball-card .sp-card-body{ padding:8px 0; }
/* View toggle */
.sp-view-toggle{ display:flex; align-items:center; gap:6px; }
.sp-view-toggle .sp-view[aria-pressed="true"]{ background:#444; color:#fff; }
.sp-view{ padding:4px 8px; border:1px solid #333; background:#eee; cursor:pointer; }

/* At-bat info line */
.sp-atbat-line{ display:flex; align-items:center; gap:10px; font-weight:600; margin:8px 0 6px; flex-wrap:wrap; }
.sp-atbat-line .base{ display:inline-block; width:12px; height:12px; border:2px solid #333; transform:rotate(45deg); margin-left:6px; background:#fff; }
.sp-atbat-line .base.on{ background:#111; }
.sp-atbat-line .runner{ min-width:80px; display:inline-block; }

/* Sheets */
.sp-sheets.two-col{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; margin-top:8px; }
.sp-sheets.single{ grid-template-columns: 1fr; }
.sp-sheet .sp-sheet-title{ font-weight:700; margin-bottom:4px; }
.sp-softball-card table.sp-scorebook-table{ width:100%; border-collapse:collapse; table-layout:fixed; }
.sp-softball-card table.sp-scorebook-table th, .sp-softball-card table.sp-scorebook-table td{ border:2px solid #333; padding:4px; position:relative; }
.sp-softball-card table.sp-scorebook-table th:first-child, .sp-softball-card table.sp-scorebook-table td:first-child{ width:220px; font-weight:600; background:#fafafa; }
.sp-softball-card .sb-cell{ position:relative; height:52px; }
.sp-softball-card .sb-pitch{ position:absolute; display:flex; gap:4px; }
.sp-softball-card .sb-balls{ top:4px; left:6px; }
.sp-softball-card .sb-strikes{ top:4px; right:6px; }
.sp-softball-card .sb-pitch .dot{ display:inline-block; width:7px; height:7px; border-radius:50%; border:1px solid #333; }
.sp-softball-card .sb-pitch .dot.filled{ background:#111; }
.sp-softball-card .sb-result{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-weight:700; }

/* Diamond + runner row highlight */
.sp-softball-card .sb-diamond{ position:absolute; left:50%; top:58%; width:24px; height:24px; transform:translate(-50%,-50%) rotate(45deg); border:2px solid #333; background:#fff; }
.sp-softball-card .sb-cell.on-1 .sb-diamond{ background:linear-gradient(135deg, #333 0 50%, #fff 0 100%); }
.sp-softball-card .sb-cell.on-2 .sb-diamond{ background:linear-gradient(225deg, #333 0 50%, #fff 0 100%); }
.sp-softball-card .sb-cell.on-3 .sb-diamond{ background:linear-gradient(315deg, #333 0 50%, #fff 0 100%); }
.sp-softball-card .sb-cell.on-4 .sb-diamond{ background:#333; }
.sp-softball-card .sp-sheet tr.is-runner td:first-child{ background:#e6ffe6; }

/* Controls & DnD */
.sp-controls .sp-controls-row{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.sp-acts button, .sp-bases-ctrl button{ margin-right:4px; }
.sp-lineup-editors{ margin-top:16px; }
.sp-lineup-editor{ border:1px solid #eee; padding:10px; margin-bottom:12px; background:#fafafa; }
.sp-dnd-wrap{ display:flex; gap:12px; }
.sp-dnd-col{ flex:1 1 50%; }
.sp-dnd-title{ font-weight:600; margin-bottom:6px; }
.sp-dnd-list{ list-style:none; padding:6px; min-height:40px; border:2px dashed #333; background:#fff; min-height:80px; }
.sp-dnd-item{ padding:6px; margin:4px 0; border:1px solid #333; background:#f9f9f9; cursor:move; }
.sp-dnd-placeholder{ border:2px dashed #999; background:#f0f0f0; height:28px; margin:4px 0; }
