/* ── Rackeby IK – färgprofil ─────────────────────────────────
   Primärfärg: #007140  (mörkgrön)
   Accentfärg: #005a33  (hover / active)
────────────────────────────────────────────────────────────── */
:root {
  --rik-green:       #007140;
  --rik-green-dark:  #005a33;
  --rik-green-light: #e6f4ed;
  --bs-primary:      #007140;
  --bs-primary-rgb:  0, 113, 64;
}

/* Override Bootstrap primary buttons */
.btn-primary {
  background-color: var(--rik-green);
  border-color:     var(--rik-green);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-color: var(--rik-green-dark);
  border-color:     var(--rik-green-dark);
  color: #fff;
}
.btn-outline-primary {
  color:        var(--rik-green);
  border-color: var(--rik-green);
}
.btn-outline-primary:hover {
  background-color: var(--rik-green);
  border-color:     var(--rik-green);
  color: #fff;
}

/* Navbar med klubbens grön */
.navbar.navbar-rik {
  background-color: var(--rik-green) !important;
}

/* Badges / alerts */
.bg-primary        { background-color: var(--rik-green) !important; }
.text-primary      { color:            var(--rik-green) !important; }
.border-primary    { border-color:     var(--rik-green) !important; }
.alert-primary     { background-color: var(--rik-green-light); border-color: #b3d9c7; color: #003d22; }
.badge.bg-primary  { background-color: var(--rik-green) !important; }

/* Links */
a { color: var(--rik-green); }
a:hover { color: var(--rik-green-dark); }

/* Active nav item */
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff;
  font-weight: 600;
  border-bottom: 2px solid rgba(255,255,255,.7);
}

/* ── Badge dots ──────────────────────────────────────────────── */
.badge-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  align-self: center;
}
.badge-green { background-color: #198754; }
.badge-blue  { background-color: #0d6efd; }
.badge-gray  { background-color: #adb5bd; }

/* ── Overview – card rows ────────────────────────────────────── */
.group-card .list-group-item {
  border-left: 3px solid transparent;
  padding: 7px 14px;
  font-size: .92rem;
}
.group-card .badge-1-row { border-left-color: #198754; }
.group-card .badge-2-row { border-left-color: #0d6efd; }
.group-card .badge-3-row { border-left-color: #dee2e6; }

/* Group card header → green */
.group-card .card-header {
  background-color: var(--rik-green) !important;
}

/* ── Training step 1 – attendance ───────────────────────────── */
.att-btn {
  min-width: 150px;
  text-align: left;
  transition: opacity .12s, text-decoration .12s;
}
.att-btn.absent {
  opacity: .45;
  text-decoration: line-through;
  background-color: #6c757d !important;
  border-color:     #6c757d !important;
  color: #fff !important;
}

/* ── Training step 2 – split groups ─────────────────────────── */
.half-box {
  background: #fff;
  border: 2px dashed #dee2e6;
  border-radius: 8px;
  padding: 12px;
  min-height: 100px;
  transition: border-color .15s;
}
.half-box:focus-within {
  border-color: var(--rik-green);
}

.half-box-header,
.half-group-header {
  font-size: .76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--rik-green);
  margin-bottom: 8px;
}

.child-tile {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 5px 10px;
  margin-bottom: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .9rem;
}
.child-tile:hover { background: var(--rik-green-light); }

.swap-btn {
  border: none;
  background: none;
  color: #6c757d;
  cursor: pointer;
  padding: 0 4px;
  font-size: 1.1rem;
  line-height: 1;
}
.swap-btn:hover { color: var(--rik-green); }

/* ── History ─────────────────────────────────────────────────── */
.accordion-button:not(.collapsed) {
  background-color: var(--rik-green-light);
  color:            var(--rik-green-dark);
}
.accordion-button:focus {
  box-shadow: 0 0 0 .2rem rgba(0,113,64,.25);
}

.mini-group-card {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 6px;
  padding: 8px 12px;
}
.mini-group-card .mini-header {
  font-size: .74rem;
  font-weight: 700;
  color: var(--rik-green);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 5px;
  border-bottom: 1px solid #dee2e6;
  padding-bottom: 3px;
}
.mini-group-card .mini-name {
  font-size: .86rem;
  padding: 2px 4px;
  margin: 1px -4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.mini-note {
  font-size: .76rem;
  color: #6c757d;
  padding: 2px 0 4px;
  border-bottom: 1px solid #dee2e6;
  margin-bottom: 4px;
  font-style: italic;
}

.group-note-input {
  font-size: .78rem;
  border-color: #dee2e6;
  background: #fafafa;
  color: #555;
}
.group-note-input:focus {
  border-color: var(--rik-green);
  box-shadow: 0 0 0 .15rem rgba(0,113,64,.15);
  background: #fff;
}

.mini-name--rotated {
  background: #fffbea;
}

/* ── 4-kolumns gruppvy ───────────────────────────────────────── */
.group-column {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 0 0 8px;
  min-height: 120px;
}
.group-column-header {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #fff;
  background: var(--rik-green);
  border-radius: 7px 7px 0 0;
  padding: 7px 12px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
}

.player-tile {
  margin: 4px 8px;
  border-radius: 6px;
  border: 1px solid #dee2e6;
  border-left-width: 4px;
  background: #f8f9fa;
  font-size: .88rem;
  cursor: pointer;
  transition: border-color .12s, background .12s;
}
.player-tile[data-badge="1"] { border-left-color: #198754; }
.player-tile[data-badge="2"] { border-left-color: #0d6efd; }
.player-tile[data-badge="3"] { border-left-color: #adb5bd; }
.player-tile:hover { background: var(--rik-green-light); }
.player-tile--rotated {
  border-color: #ffc107;
  border-left-color: inherit;
  background: #fffbea;
}
.player-tile[data-badge="1"].player-tile--rotated { border-left-color: #198754; }
.player-tile[data-badge="2"].player-tile--rotated { border-left-color: #0d6efd; }
.player-tile[data-badge="3"].player-tile--rotated { border-left-color: #adb5bd; }
.player-tile--rotated:hover { background: #fff3cd; }

.player-tile-main {
  display: flex;
  align-items: center;
  padding: 5px 8px;
}
.player-name { flex: 1; }

.rotation-badge {
  font-size: .8rem;
  color: #b35c00;
}

.move-buttons {
  padding: 5px 8px 6px;
  border-top: 1px solid #dee2e6;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.move-label {
  font-size: .72rem;
  color: #6c757d;
  width: 100%;
  margin-bottom: 2px;
}
.btn-xs-group {
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid var(--rik-green);
  background: none;
  color: var(--rik-green);
  cursor: pointer;
  line-height: 1.4;
}
.btn-xs-group:hover { background: var(--rik-green); color: #fff; }
.btn-xs-cancel {
  font-size: .75rem;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  background: none;
  color: #6c757d;
  cursor: pointer;
  margin-left: auto;
  line-height: 1.4;
}
.btn-xs-cancel:hover { background: #f8f9fa; }

.btn-xs-remove {
  font-size: .75rem;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid #dc3545;
  background: none;
  color: #dc3545;
  cursor: pointer;
  line-height: 1.4;
}
.btn-xs-remove:hover { background: #dc3545; color: #fff; }

/* ── Rotationskort ───────────────────────────────────────────── */
.rotation-card {
  background: #fff;
  border: 2px solid var(--rik-green);
  border-radius: 8px;
  padding: 12px 14px;
  transition: border-color .15s, opacity .15s;
}
.rotation-card--off {
  border-color: #dee2e6;
  opacity: .55;
}

/* ── Konflikter ──────────────────────────────────────────────── */
.btn-outline-warning {
  color: #b35c00;
  border-color: #ffc107;
}
.btn-outline-warning:hover {
  background-color: #fff3cd;
  border-color: #ffc107;
  color: #b35c00;
}
