/* Following and odds remain secondary to the score list. */
.odds-connection>a{font-weight:700;white-space:nowrap;color:#3c6537;text-decoration:none}
.odds-connection>span{font-size:11px;color:#63745d}
.odds-connection>.icon-button{margin-left:auto;flex-shrink:0}
.odds-market-note{padding:0 16px 9px;color:#7b8574;font-size:10px}
.odds-values>button{min-width:0;min-height:38px;padding:0;background:#f5f8ef;border:1px solid #e3ead9;border-radius:4px;color:#36502d}
.odds-values>button:hover{background:#e9f0dd;border-color:#a8c18a}
.odds-number{font:600 23px Condensed;font-variant-numeric:tabular-nums;white-space:nowrap;position:relative}
.odds-number>small{font:500 8px Arial;vertical-align:super;margin-left:2px;color:#748568}
.odds-source-note{font-size:11px;color:#7b8574;line-height:1.6;margin:14px 0 22px}
.odds-source-note summary{cursor:pointer;color:#516b47}
.odds-source-note p{margin:6px 0}
.odds-detail-grid .odds-number{font-size:32px}
.odds-history{margin:0 0 22px;padding:12px 14px;border:1px solid #e2e8dc;border-radius:6px;background:#fbfcf8}
.odds-history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#526b48;font-size:11px}
.odds-history-heading small{font-size:9px;color:#85937b;text-align:right}
.odds-history-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}
.odds-history-values>div{display:flex;flex-direction:column;gap:3px;min-width:0;padding:7px 8px;background:#f5f8ef;border-radius:4px}
.odds-history-values span{font-size:9px;color:#7a8a73}
.odds-history-values strong{font:600 15px Condensed;color:#36552f;white-space:nowrap}
.odds-history-values em{font-style:normal;color:#6d913f;margin:0 2px}
.odds-history-values em:not(.has-change){visibility:hidden}
.odds-history-meta{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:8px;border-top:1px solid #e6ecdf;color:#778570;font-size:9px;line-height:1.6}
.odds-history-note{margin:8px 0 0;color:#7c8976;font-size:9px;line-height:1.6}
.odds-history-note.is-not-comparable{color:#8a784e}
.odds-history-empty{margin-bottom:22px}
@media(max-width:760px){.odds-columns.odds-columns,.odds-row.odds-row{grid-template-columns:minmax(0,1fr) 132px;gap:10px}.odds-values>button{min-height:33px}.odds-values .odds-number{font-size:17px}.odds-values .odds-line .odds-number{font-size:16px;line-height:17px;display:inline-block}.odds-values .odds-number>small{display:block;font-size:7px;line-height:7px;margin:0}.odds-market-note{padding:0 12px 7px}.odds-connection>span{font-size:10px}.odds-connection.odds-connection{display:flex;flex-wrap:wrap;gap:7px}}
.layout{grid-template-columns:190px minmax(0,1fr);gap:20px}
.league-choice{display:grid;grid-template-columns:minmax(0,1fr) 23px;align-items:center}
.league-choice>.side-button{width:100%;min-width:0;padding-right:3px;gap:7px}
.league-choice .side-button>span:not(.count):not(.flag-vn):not(.league-mini-icon){min-width:0;flex:1}
.league-pin{display:flex;align-items:center;justify-content:center;height:36px;color:#98a38b;border-radius:4px}
.league-pin:hover{background:#e4ebdc;color:#466237}
.is-followed{color:#446322!important;background:#edf3df!important}
.league-pin.is-followed svg{fill:#b6ce72}
.list-toolbar{display:flex;align-items:center;gap:8px;min-height:42px;padding:4px 12px;border-top:1px solid #edf0eb;border-bottom:1px solid var(--line)}
.segmented{display:inline-flex;align-items:center;background:#f0f3ef;border-radius:5px;padding:3px;gap:2px}
.segmented button{font-size:10px;padding:5px 9px;min-height:26px;white-space:nowrap;border-radius:3px;color:#6d7c68}
.segmented button.active{background:#fff;color:#24462e;box-shadow:0 1px 3px #102f2014;font-weight:600}
.sort-control{margin-right:auto}
.toolbar-button{display:flex;align-items:center;justify-content:center;gap:6px;color:#556c56;font-size:10px;min-height:32px;padding:5px 7px;border-radius:4px;white-space:nowrap}
.toolbar-button:hover,.toolbar-button.active{background:#eef3e7;color:#2d512c}
.toolbar-button b{font:600 12px Condensed;background:#e1ebc8;border-radius:4px;padding:2px 5px}
.watch-scope{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px;gap:8px}
.start-choice{display:flex;align-items:center;gap:6px;font-size:10px;color:#637459}
.start-choice input,.alert-options input{accent-color:#51753b;width:13px;height:13px;margin:0}
.follow-manager,.changes-panel{padding:14px 16px;background:#f8faf5;border-bottom:1px solid #dce5d6}
.manager-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.manager-heading>b{font-size:12px;font-weight:600}
.manager-heading .text-button{display:flex;align-items:center;gap:6px;min-height:28px}
.mini-heading{margin:12px 0 8px;font-size:10px;color:#788671;letter-spacing:.2px}
.follow-choices{display:flex;flex-wrap:wrap;gap:6px}
.follow-chip{display:flex;align-items:center;gap:7px;border:1px solid #e1e7da;background:#fff;border-radius:5px;font-size:10px;min-height:35px;padding:6px 10px;color:#556a4e;text-align:left}
.follow-chip:hover{border-color:#9eb883}
.follow-chip .team-logo,.follow-chip .team-logo-fallback{width:18px;height:18px;flex-shrink:0}
.follow-chip.is-followed{border-color:#b7ca96}
.follow-chip>svg:last-child{margin-left:auto;flex-shrink:0}
.team-choices .follow-chip{flex:0 1 calc((100% - 12px)/3);min-width:0}
.team-choices .follow-chip>span:not(.team-logo-fallback){min-width:0;overflow-wrap:anywhere}
.team-choices{max-height:240px;overflow:auto;padding-right:3px}
.manager-team-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
.manager-team-heading .mini-heading{margin:0}
.manager-team-heading input{height:29px;max-width:190px;width:44%;font-size:10px;border:1px solid #dce4d7;border-radius:4px;background:#fff;padding:5px 8px;min-width:0}
.compact-note{font-size:10px;line-height:1.7;color:#75836f;margin:12px 0 0}
.changes-panel{background:#fbfcf8}
.changes-panel .icon-button{width:30px;height:30px}
.alert-options{display:flex;gap:16px;flex-wrap:wrap;margin:9px 0}
.alert-options label{display:flex;align-items:center;gap:6px;font-size:10px;color:#68795d}
.changes-empty{font-size:12px;color:#697c61;padding:17px 0}
.change-list{max-height:260px;overflow:auto}
.change-item{display:flex;align-items:center;width:100%;padding:12px 0;gap:13px;text-align:left;border-bottom:1px solid #e5ebdf}
.change-item time{font:500 13px Condensed;color:#819075}
.change-item>span{flex:1;min-width:0}
.change-item b{display:block;font-size:11px;line-height:1.6;font-weight:500}
.change-item small{display:block;font-size:10px;color:#8a966f;line-height:1.6}
.change-item strong{font:600 20px Condensed;color:#315332}
.notification-settings{margin:12px 0 14px;padding:10px 11px;border:1px solid #e2e8dc;border-radius:6px;background:#fff}
.notification-enable{display:flex;align-items:center;gap:6px;border:1px solid #b7c99b;background:#eef4e2;color:#405d32;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:600}
.notification-disable{display:flex;align-items:center;gap:6px;border:1px solid #d8e1d1;background:#fff;color:#63745d;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:600}
.notification-note{font-size:10px;line-height:1.65;color:#75836f;margin:7px 0 0}.notification-note.is-enabled{color:#4d6d39}.notification-note small{font-size:9px}
.detail-optional-state{display:flex;align-items:flex-start;justify-content:center;gap:8px;flex-wrap:wrap;padding:18px 7px;color:#7c8b70;font-size:10px;line-height:1.7;text-align:center}
.detail-optional-state.is-loading{color:#72865f}.detail-optional-state.is-partial{background:#fafbf3;color:#82784f}.detail-optional-state.is-unavailable{color:#8a9585}
.detail-optional-state .text-button{margin:0;padding:6px 9px}
.match-row.has-change{background:#f5f7d9;box-shadow:inset 3px 0 #94a932;animation:score-pulse 1.1s ease-in-out 3}
@keyframes score-pulse{50%{background:#e5edbc}}
.red-card-count{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:11px;height:15px;padding:1px 2px;border-radius:2px;background:#c74240;color:#fff;font:600 10px Condensed}
.row-competition{display:block;font-size:9px;font-weight:400;line-height:14px;color:#829177}
.board-foot small{margin-left:auto;font-size:9px;color:#819174;text-align:right;white-space:nowrap}
.detail-follow-teams{display:flex;gap:8px;justify-content:center;margin:9px 0 0}
.detail-follow-teams button{display:flex;align-items:center;justify-content:center;gap:5px;max-width:50%;border-radius:4px;padding:5px 7px;min-height:30px;font-size:9px;line-height:1.5;color:#718269;border:1px solid #e6ecdf}
.detail-follow-teams svg{flex-shrink:0}
.detail-tabs{gap:4px;overflow-x:auto}
.detail-tab{flex:1;white-space:nowrap}
.odds-connection{padding:12px 16px;background:#fafbf7;border-bottom:1px solid #e5eadf;display:flex;gap:10px;align-items:center}
.status-chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#817247;background:#f1ecd9;padding:5px 8px;border-radius:4px;white-space:nowrap}
.status-chip:before{content:'';height:5px;width:5px;border-radius:50%;background:#ad975c}
.odds-connection p{font-size:10px;color:#818972;line-height:1.7;margin:0}
.market-tabs{display:flex;gap:7px;padding:12px 16px;border-bottom:1px solid #e7ece1}
.market-tabs button{padding:7px 12px;font-size:11px;min-height:32px;border-radius:5px;color:#718265;border:1px solid #e5ebdc}
.market-tabs button.active{background:#214333;color:#fff;border-color:#214333}
.odds-columns,.odds-row{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:20px;padding:9px 16px;align-items:center}
.odds-columns{font-size:10px;color:#7b896e;background:#f8faf5}
.odds-columns>div,.odds-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;text-align:center}
.odds-row{border-bottom:1px solid #edf0e8;min-height:76px}
.odds-row:hover{background:#f9fbf5}
.odds-match{display:flex;align-items:center;gap:18px;text-align:left;min-width:0}
.odds-time{flex-shrink:0;width:37px;font:600 16px Condensed;color:#62775c}
.odds-time small{display:block;font:400 9px Vietnam;margin-top:4px;color:#829079}
.odds-teams{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.odds-teams>span{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px;line-height:19px}
.odds-teams b{margin-left:auto;font:600 20px Condensed;color:#274731}
.odds-values>span{background:#f6f8f2;border:1px solid #e8eddf;border-radius:5px;color:#9ca88e;font:600 23px Condensed;padding:8px 0}
.odds-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:22px 0}
.odds-detail-grid>div{display:flex;flex-direction:column;align-items:center;gap:10px;padding:13px;background:#f5f7ef;border-radius:6px}
.odds-detail-grid span{font-size:11px;color:#748568}
.odds-detail-grid strong{font:600 30px Condensed;color:#93a284}
.odds-detail-missing{margin-bottom:24px}
.odds-detail-missing p{font-size:11px;line-height:1.8;color:#78886b;margin-top:12px}
@media(max-width:1030px){.layout{display:block}.mobile-nav{gap:7px}.mobile-nav button{flex:1}}
@media(max-width:760px){
 .mobile-nav{gap:1px;padding:3px 5px}.mobile-nav button{font-size:10px;gap:4px;padding:6px 2px}.mobile-nav button svg{width:14px}.mobile-nav .nav-count{display:none}
 .list-toolbar{padding:4px 7px;gap:4px;min-height:39px}.toolbar-button{font-size:9px;gap:4px;padding:4px}.toolbar-button svg{width:13px}
 .segmented{padding:2px}.segmented button{font-size:9px;padding:5px 7px;min-height:27px}
 .watch-scope{padding:0 9px 8px}.start-choice{font-size:9px;gap:5px}.start-choice input{width:12px;height:12px}
 .follow-manager,.changes-panel{padding:11px 10px}.manager-heading>b{font-size:11px}.team-choices .follow-chip{flex-basis:calc((100% - 6px)/2)}.follow-chip{font-size:9px;padding:6px 7px;gap:5px}
 .manager-team-heading .mini-heading{max-width:52%;font-size:9px}.manager-team-heading input{font-size:9px}.alert-options{gap:12px}.alert-options label{font-size:9px}
 .board-foot{flex-wrap:wrap;gap:5px}.board-foot small{font-size:8px}.row-competition{font-size:8px;line-height:12px}.detail-tab{font-size:10px;padding:13px 4px}
 .odds-connection{padding:10px;display:block}.odds-connection p{font-size:9px;margin-top:7px}.status-chip{font-size:9px}
 .market-tabs{padding:9px 10px}.market-tabs button{font-size:10px;min-height:31px;padding:6px 10px}
 .odds-columns,.odds-row{grid-template-columns:minmax(0,1fr) 102px;gap:12px;padding:9px 10px}.odds-columns{font-size:8px}
 .odds-columns>div,.odds-values{gap:4px}.odds-values>span{font-size:19px;padding:7px 0}.odds-match{gap:8px}.odds-time{width:30px;font-size:14px}.odds-time small{font-size:8px}.odds-teams>span{font-size:10px;gap:5px}.odds-teams .team-logo,.odds-teams .team-logo-fallback{display:none}.odds-teams b{font-size:18px}.odds-teams{gap:5px}.odds-row{min-height:69px}
}
@media(max-width:360px){.toolbar-button{font-size:8px;gap:3px}.segmented button{font-size:8px;padding:5px 6px}.mobile-nav button{font-size:9px;gap:3px}.mobile-nav button svg{width:13px}.start-choice{font-size:8px}.odds-columns,.odds-row{grid-template-columns:minmax(0,1fr) 94px;gap:8px}.odds-teams>span{font-size:9px}.odds-time{width:27px}.detail-tab{font-size:9px;padding:12px 3px}}
@media(prefers-reduced-motion:reduce){.match-row.has-change{animation:none}}
