/* FC Salmon Creek v2.7.18 — responsive team-lineup editor */
.fcsc-lineup-panel {
  box-sizing: border-box;
  width: 100%; min-width: 0;
  margin: 24px 0 20px; padding: 22px;
  background: #fff; border: 1px solid #dce4ef; border-radius: 14px;
}
.fcsc-lineup-panel *, .fcsc-lineup-panel *::before, .fcsc-lineup-panel *::after { box-sizing: border-box; }
.fcsc-lineup-panel .fcsc-coach-section-heading { margin-bottom: 16px; }
.fcsc-lineup-panel .fcsc-coach-section-heading h2 { margin-bottom: 8px; }
.fcsc-lineup-panel .fcsc-coach-section-heading p { margin-bottom: 0; }
.fcsc-lineup-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 16px; width: 100%; min-width: 0;
}
.fcsc-lineup-panel .fcsc-lineup-row {
  display: flex; flex-direction: row; align-items: center;
  gap: 10px; width: 100%; min-width: 0; margin: 0;
  padding: 8px; background: #f7f9fe; border: 1px solid #e0e7f3;
  border-radius: 10px; font-size: 16px;
}
.fcsc-lineup-panel .fcsc-lineup-number {
  display: inline-flex; justify-content: center; align-items: center;
  flex: 0 0 38px; width: 38px; height: 38px;
  border: 2px solid #ffd203; border-radius: 50%; background: #002bc6;
  color: #fff; font: 700 16px/1 'Source Sans 3', Arial, sans-serif;
}
.fcsc-lineup-panel .fcsc-lineup-name {
  display: block; flex: 1 1 0; min-width: 0; max-width: 100%; width: 100%;
  height: 42px; min-height: 42px; margin: 0;
  padding: 8px 11px; border: 1px solid #b9c8df; border-radius: 7px;
  background: #fff; color: #122457;
  font: 500 16px/1.35 'Source Sans 3', Arial, sans-serif;
  -webkit-appearance: none; appearance: none;
}
.fcsc-lineup-panel .fcsc-lineup-name:focus-visible {
  outline: 3px solid #ffd203; outline-offset: 2px;
}
.fcsc-lineup-panel .fcsc-coach-note { margin: 16px 0 0; }
@media (max-width: 950px) {
  .fcsc-lineup-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .fcsc-lineup-panel { margin: 20px 0 16px; padding: 16px 12px; border-radius: 12px; }
  .fcsc-lineup-fields { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .fcsc-lineup-panel .fcsc-lineup-row { padding: 7px 9px; gap: 12px; }
  .fcsc-lineup-panel .fcsc-lineup-number { flex-basis: 36px; width: 36px; height: 36px; }
  .fcsc-lineup-panel .fcsc-lineup-name { height: 44px; min-height: 44px; font-size: 16px; }
}
@media (max-width: 350px) {
  .fcsc-lineup-panel { padding: 12px 9px; }
  .fcsc-lineup-panel .fcsc-lineup-row { gap: 8px; padding: 6px; }
  .fcsc-lineup-panel .fcsc-lineup-name { padding: 8px; }
}

/* 2.7.19: constrain each input and badge to its own row, regardless of other theme rules. */
.fcsc-coach #fcsc-lineup-fields {display:grid; width:100%; min-width:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
.fcsc-coach #fcsc-lineup-fields > .fcsc-lineup-row {display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; width:100%; min-width:0; gap:10px; margin:0; padding:8px;}
.fcsc-coach #fcsc-lineup-fields > .fcsc-lineup-row > .fcsc-lineup-number {flex:0 0 38px; width:38px; height:38px;}
.fcsc-coach #fcsc-lineup-fields > .fcsc-lineup-row > .fcsc-lineup-name {display:block; flex:1 1 auto; min-width:0; width:1%; max-width:100%; margin:0;}
@media (max-width:950px) { .fcsc-coach #fcsc-lineup-fields {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:650px) { .fcsc-coach #fcsc-lineup-fields {grid-template-columns:minmax(0,1fr); gap:10px;} .fcsc-coach #fcsc-lineup-fields > .fcsc-lineup-row {padding:8px 10px;} }
