/* Live boards: games / referee / calendar */
.live-badge {
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 margin-left: 0.6rem;
 padding: 0.2rem 0.55rem;
 border-radius: 999px;
 font-size: 0.68rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: #0b1f3a;
 background: #7ec8f0;
 vertical-align: middle;
}
.section-dark .live-badge {
 color: #071525;
}
.ref-kpis {
 display: flex;
 flex-wrap: wrap;
 gap: 1.25rem;
 margin: 1rem 0 1.25rem;
}

/* Compact recent assignments */
.ref-recent-panel {
 margin-top: 0.35rem;
 padding: 0.7rem 0.8rem 0.75rem;
 border-radius: 0.9rem;
 background: rgba(255, 255, 255, 0.72);
 border: 1px solid rgba(0, 51, 160, 0.1);
 box-shadow: 0 8px 20px rgba(11, 31, 58, 0.05);
}
.ref-recent-head {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 0.5rem;
 margin-bottom: 0.45rem;
}
.ref-recent-label {
 margin: 0;
 font-family: var(--font-display);
 font-size: 0.95rem;
 letter-spacing: -0.02em;
 color: var(--wake);
 font-weight: 700;
}
.ref-recent-hint {
 font-size: 0.65rem;
 font-weight: 700;
 letter-spacing: 0.1em;
 text-transform: uppercase;
 color: var(--wake-bright);
}
.ref-recent {
 list-style: none;
 margin: 0;
 padding: 0;
 display: grid;
 gap: 0;
}
.ref-row {
 display: grid;
 grid-template-columns: 4.2rem 5.6rem minmax(0, 1fr) minmax(0, 0.85fr);
 gap: 0.45rem 0.65rem;
 align-items: center;
 padding: 0.42rem 0.15rem;
 border-bottom: 1px solid rgba(11, 31, 58, 0.07);
 font-size: 0.82rem;
 opacity: 0;
 transform: translateY(6px);
 animation: refCardIn 0.4s var(--ease, cubic-bezier(0.22, 1, 0.36, 1)) forwards;
 animation-delay: calc(var(--i, 0) * 45ms);
}
.ref-row:last-child {
 border-bottom: 0;
}
.ref-row__role {
 justify-self: start;
 padding: 0.12rem 0.4rem;
 border-radius: 999px;
 font-size: 0.62rem;
 font-weight: 800;
 letter-spacing: 0.05em;
 text-transform: uppercase;
 color: #fff;
 background: var(--wake);
}
.ref-row--center .ref-row__role { background: #0033a0; }
.ref-row--ar1 .ref-row__role,
.ref-row--ar .ref-row__role { background: #1a6bb5; }
.ref-row--ar2 .ref-row__role { background: #1f6b4a; }
.ref-row--fourth .ref-row__role { background: #c9a227; color: #1a1405; }
.ref-row__date {
 font-family: var(--font-cond, var(--font-body));
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 color: var(--wake-bright);
 white-space: nowrap;
}
.ref-row__match {
 font-weight: 600;
 color: var(--ink);
 min-width: 0;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
}
.ref-row__place {
 color: var(--muted);
 font-size: 0.75rem;
 min-width: 0;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
 text-align: right;
}

.ref-total {
 margin: 0.95rem 0 0;
 font-size: 1.05rem;
 color: var(--ink);
}
.ref-total strong,
.ref-total__num {
 font-family: var(--font-display);
 font-size: 1.35rem;
 color: var(--wake);
}
.ref-total__num.is-counting {
 color: var(--wake-bright);
}
.ref-total-sub {
 font-size: 0.85rem;
 color: var(--muted);
 font-weight: 400;
}

@keyframes refCardIn {
 from { opacity: 0; transform: translateY(8px); }
 to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
 .ref-row {
 opacity: 1;
 transform: none;
 animation: none;
 }
}
@media (max-width: 700px) {
 .ref-row {
 grid-template-columns: 3.8rem minmax(0, 1fr);
 gap: 0.2rem 0.5rem;
 }
 .ref-row__date { grid-column: 2; }
 .ref-row__match { grid-column: 1 / -1; }
 .ref-row__place { grid-column: 1 / -1; text-align: left; }
}

/* Compact agenda */
.cal-head {
 display: flex;
 align-items: end;
 justify-content: space-between;
 gap: 1rem;
 margin-bottom: 1rem;
}
.cal-head h2 {
 font-family: var(--font-display);
 font-size: clamp(1.55rem, 3.2vw, 2.1rem);
 margin: 0.15rem 0 0;
 line-height: 1.15;
}
.cal-agenda {
 display: grid;
 grid-template-columns: repeat(2, minmax(0, 1fr));
 gap: 0.65rem 1rem;
 margin: 0;
 padding: 0;
 overflow: visible;
}
.cal-item {
 display: grid;
 grid-template-columns: 2.4rem minmax(0, 1fr);
 gap: 0.7rem;
 align-items: start;
 padding: 0.7rem 0.85rem;
 border-radius: 0.9rem;
 background: rgba(255, 255, 255, 0.86);
 border: 1px solid rgba(11, 31, 58, 0.08);
 box-shadow: 0 10px 24px rgba(11, 31, 58, 0.06);
 min-width: 0;
}
.cal-item__icon {
 display: grid;
 place-items: center;
 width: 2.4rem;
 height: 2.4rem;
 border-radius: 0.7rem;
 background: linear-gradient(145deg, rgba(126, 200, 240, 0.35), rgba(0, 51, 160, 0.12));
 font-size: 1.05rem;
}
.cal-item__when {
 font-size: 0.75rem;
 font-weight: 700;
 letter-spacing: 0.04em;
 text-transform: uppercase;
 color: var(--wake-bright);
 margin-bottom: 0.15rem;
}
.cal-item__title {
 font-weight: 650;
 color: var(--ink);
 line-height: 1.3;
}
.cal-item__meta {
 margin-top: 0.2rem;
 font-size: 0.78rem;
 color: var(--muted);
 overflow-wrap: anywhere;
}
@media (max-width: 700px) {
 .cal-agenda {
 grid-template-columns: 1fr;
 }
}
