/* ── Fixed selection bar ──────────────────────────────── */
.sel-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #1a1a2e;
    color: #fff;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    box-shadow: 0 3px 10px rgba(0,0,0,.25);
}
.sel-bar-stat { text-align: center; flex: 1; min-width: 0; }
.sel-bar-stat small { font-size: .62rem; opacity: .7; display: block; white-space: nowrap; }
.sel-bar-stat strong { font-size: .95rem; color: #4ade80; }
.sel-bar-btn {
    background: #4ade80; color: #0f172a;
    border: none; border-radius: 22px;
    padding: 7px 14px; font-weight: 700; font-size: .82rem;
    cursor: pointer; transition: background .2s, transform .15s;
    white-space: nowrap; flex-shrink: 0;
}
.sel-bar-btn:disabled { background: #475569; color: #94a3b8; cursor: not-allowed; }
.sel-bar-btn:not(:disabled):hover { background: #22c55e; transform: scale(1.04); }
.sel-bar-btn-clear { background: #475569; color: #e2e8f0; }
.sel-bar-btn-clear:hover { background: #f87171 !important; color: #fff; transform: scale(1.04); }
.sel-bar-readonly-badge { font-size: .78rem; color: #94a3b8; padding: 6px 10px; border: 1px solid #475569; border-radius: 6px; white-space: nowrap; }

/* ── Match groups ─────────────────────────────────────── */
.match-group { margin-bottom: 10px; }
.match-header {
    background: #2d3748; color: #e2e8f0;
    padding: 8px 14px; font-weight: 600; font-size: .85rem;
    border-radius: 8px 8px 0 0;
    display: flex; align-items: center; gap: 8px;
    flex-wrap: wrap;
}
.match-kickoff-time {
    margin-left: auto;
    font-size: .72rem; font-weight: 400;
    color: #a0aec0;
    white-space: nowrap;
}

/* ── Tip cards ────────────────────────────────────────── */
.tip-card {
    display: flex; align-items: center;
    background: #fff;
    border: 2px solid #e2e8f0;
    border-top: none;
    padding: 11px 14px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    user-select: none;
}
.tip-card:last-child { border-radius: 0 0 8px 8px; }
.tip-card:hover:not(.tip-card-disabled) { border-color: #86efac; background: #f0fdf4; }
.tip-card.selected { border-color: #22c55e !important; background: #f0fdf4; }
.tip-card.tip-card-disabled { opacity: .5; cursor: not-allowed; }
.tip-info { flex: 1; min-width: 0; }
.tip-prediction { font-weight: 600; font-size: .88rem; color: #1e293b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tip-meta { font-size: .72rem; color: #64748b; margin-top: 2px; }
.tip-odds { font-weight: 700; font-size: .95rem; color: #0f172a; min-width: 44px; text-align: right; margin: 0 10px; }
.tip-icon { font-size: 1.25rem; color: #cbd5e1; flex-shrink: 0; }
.tip-icon.checked { color: #22c55e; }

/* ── Not-started info strip ───────────────────────────── */
.not-started-info {
    background: #f0f9ff; border: 1px solid #bae6fd; color: #0369a1;
    border-radius: 8px; padding: 7px 14px; font-size: .8rem; margin-bottom: 10px;
    display: flex; align-items: center; gap: 6px;
}

/* ── Max tips warning ─────────────────────────────────── */
.max-warn {
    background: #fffbeb; border: 1px solid #fbbf24; color: #78350f;
    border-radius: 8px; padding: 8px 14px; font-size: .8rem; margin-bottom: 10px;
}

/* ── Skeleton loader ──────────────────────────────────── */
.skel {
    background: linear-gradient(90deg,#e2e8f0 25%,#f8fafc 50%,#e2e8f0 75%);
    background-size: 200% 100%; animation: shimmer 1.3s infinite; border-radius: 6px;
}
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Success toast ────────────────────────────────────── */
.save-toast {
    position: fixed; bottom: 72px; left: 50%; transform: translateX(-50%);
    background: #22c55e; color: #fff; padding: 10px 26px;
    border-radius: 22px; font-weight: 600; z-index: 10500;
    box-shadow: 0 4px 14px rgba(0,0,0,.2); pointer-events: none;
    white-space: nowrap;
}

/* ── Undo toast ───────────────────────────────────────── */
.undo-toast {
    position: fixed; bottom: 72px; left: 50%; transform: translateX(-50%);
    background: #1a1a2e; color: #fff; padding: 10px 16px 10px 22px;
    border-radius: 22px; font-weight: 600; z-index: 10500;
    box-shadow: 0 4px 14px rgba(0,0,0,.3);
    display: flex; align-items: center; gap: 12px; white-space: nowrap;
}
.undo-btn {
    background: #4ade80; color: #0f172a;
    border: none; border-radius: 14px;
    padding: 4px 14px; font-weight: 700; font-size: .82rem; cursor: pointer;
}
.fade-enter-active, .fade-leave-active { transition: opacity .4s; }
.fade-enter, .fade-leave-to { opacity: 0; }

@media (max-width: 576px) {
    .sel-bar { padding: 6px 8px; gap: 4px; }
    .sel-bar-stat small { font-size: .55rem; }
    .sel-bar-stat strong { font-size: .82rem; }
    .sel-bar-btn { padding: 6px 10px; font-size: .75rem; }
    .tip-card { padding: 9px 10px; }
    .tip-prediction { font-size: .83rem; }
}
