/* Stable public formation-builder layout. Keep the board independent of the theme column. */
.nbpl-squad {
  display: block !important;
  width: 100% !important;
  max-width: 960px !important;
  padding: 18px !important;
  border: 1px solid #2A3A54 !important;
  background: #081321 !important;
}

.nbpl-squad-controls {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr);
  gap: 16px;
  width: 100%;
  box-sizing: border-box;
  background: #101D31;
  border: 1px solid #2A3A54;
  border-radius: 10px;
  padding: 16px;
  margin: 0 0 16px !important;
}
.nbpl-squad-controls:before {
  content: 'FORMATION BUILDER';
  grid-column: 1 / -1;
  font: 700 13px Oswald,sans-serif;
  letter-spacing: .08em;
  color: #F8FAFC;
  padding-bottom: 12px;
  border-bottom: 1px solid #2A3A54;
}
.nbpl-squad-match { grid-column: 1 / -1; min-width: 0; }
.nbpl-squad-formation,
.nbpl-squad-orientation {
  width: 100% !important;
  min-width: 0 !important;
  padding-top: 14px;
  border-top: 1px solid #2A3A54;
  box-sizing: border-box;
}
.nbpl-squad-ad-slot { grid-column: 1 / -1; }
.nbpl-squad-controls label {
  display: block;
  margin-bottom: 7px;
  color: #98A2B3 !important;
  font: 700 10px 'Space Mono',monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.nbpl-squad-main {
  display: block !important;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background: #101D31;
  border: 1px solid #2A3A54;
  border-radius: 10px;
  padding: 16px !important;
}
.nbpl-pitch-outer {
  width: 100%;
  max-width: 680px !important;
  box-sizing: border-box;
  background: #172640 !important;
  border-radius: 8px !important;
}
.nbpl-pitch { border-radius: 5px !important; }
.nbpl-bench {
  width: 100%;
  max-width: 680px !important;
  box-sizing: border-box;
  border-radius: 8px !important;
  background: #172640 !important;
}
.nbpl-squad-footer {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 14px;
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
  background: #101D31;
  border: 1px solid #2A3A54;
  border-radius: 10px;
  padding: 14px;
  margin: 16px 0 0 !important;
}
.nbpl-squad-footer .nbpl-squad-handle { width: 100%; min-width: 0; box-sizing: border-box; }
.nbpl-btn { border-radius: 6px !important; }
.nbpl-btn-primary { background: #E30613 !important; border-color: #E30613 !important; }
.nbpl-btn-primary:hover { background: #F01825 !important; }
.nbpl-pitch-watermark {
  color: rgba(248,250,252,.14) !important;
  font-size: clamp(24px,5vw,60px) !important;
  letter-spacing: .08em;
}
.nbpl-slot-pos.nbpl-pos-gk,
.nbpl-bench-pos.nbpl-pos-gk { background: #D5B34B !important; color: #081321 !important; }
.nbpl-slot-pos.nbpl-pos-def,
.nbpl-bench-pos.nbpl-pos-def { background: #18865A !important; }
.nbpl-slot-pos.nbpl-pos-mid,
.nbpl-bench-pos.nbpl-pos-mid { background: #2f6fc9 !important; }
.nbpl-slot-pos.nbpl-pos-fwd,
.nbpl-bench-pos.nbpl-pos-fwd { background: #E30613 !important; }

@media (max-width: 768px) {
  .nbpl-squad { padding: 12px !important; }
  .nbpl-squad-controls { grid-template-columns: minmax(0,1fr); padding: 16px; }
  .nbpl-squad-controls:before,
  .nbpl-squad-match,
  .nbpl-squad-ad-slot { grid-column: 1; }
  .nbpl-squad-main { padding: 10px !important; }
  .nbpl-squad-footer { grid-template-columns: minmax(0,1fr); }
}
