body { background: #eef1f4; }
.navbar { background: #0b3d2e; }

.scoreboard {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: .5rem 1.5rem;
    background: linear-gradient(135deg, #0f5132, #146c43);
    color: #fff;
    border-radius: .75rem;
    padding: 1rem 1.5rem .75rem;
}
.scoreboard .team { font-size: 1.5rem; font-weight: 700; }
.scoreboard .score { text-align: center; }
.scoreboard .digits { font-size: 2.6rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1; }
.scoreboard .clock { font-size: .85rem; color: #ffe08a; margin-top: .25rem; }
.scoreboard .stats { grid-column: 1 / -1; text-align: center; display: flex; gap: 1.5rem; justify-content: center; }
.scoreboard .match-progress { grid-column: 1 / -1; height: 4px; background: rgba(255,255,255,.2); }
.scoreboard.goal-flash { animation: flash .9s; }
@keyframes flash { 0%, 100% { filter: none; } 30% { filter: brightness(1.6); } }

.nav-pills .nav-link { padding: .2rem .7rem; font-size: .85rem; }

.mkt { border: 1px solid #dee2e6; border-radius: .4rem; margin-bottom: .5rem; background: #fff; }
.mkt > summary {
    cursor: pointer; padding: .4rem .6rem; font-weight: 600; font-size: .9rem;
    background: #f8f9fa; border-radius: .4rem; list-style: none; display: flex; justify-content: space-between;
}
.mkt > summary::-webkit-details-marker { display: none; }
.mkt > summary::after { content: '▾'; color: #6c757d; }
.mkt:not([open]) > summary::after { content: '▸'; }
.mkt .body { padding: .4rem .6rem; }

.sel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .35rem; }
.line-row { display: grid; grid-template-columns: 60px 1fr; gap: .35rem; align-items: center; margin-bottom: .3rem; }
.line-row .line { font-weight: 600; color: #495057; font-size: .85rem; text-align: center; }

.price {
    display: flex; justify-content: space-between; align-items: center; gap: .3rem;
    border: 1px solid #ced4da; border-radius: .3rem; background: #fff;
    padding: .25rem .5rem; font-size: .8rem; cursor: pointer; width: 100%; min-width: 0;
}
.price .name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #495057; }
.price .odds { font-weight: 700; color: #0f5132; }
.price:hover:not(:disabled) { border-color: #198754; background: #f0fff6; }
.price.selected { background: #198754; border-color: #198754; }
.price.selected .name, .price.selected .odds { color: #fff; }
.price:disabled { opacity: .5; cursor: not-allowed; }

.slip-row { border-bottom: 1px solid #eee; padding: .35rem 0; }
.slip-row input { width: 80px; }

.feed { max-height: 340px; overflow-y: auto; }
.feed .min { display: inline-block; width: 3.2rem; font-weight: 700; color: #6c757d; }
.feed .goal { background: #fff8e1; font-weight: 600; }

.res-WON, .res-HALF_WON { color: #198754; font-weight: 700; }
.res-LOST, .res-HALF_LOST { color: #dc3545; font-weight: 700; }
.res-REFUND { color: #6c757d; font-weight: 700; }
