@layer components {
 .forecast-card {display:flex;flex-direction:column;gap:14px;min-width:0;padding:16px;border:1px solid #dce5eb;border-radius:14px;background:#fff;box-shadow:0 3px 12px rgb(15 45 65 / 4%);}
 .forecast-card-top {display:flex;justify-content:space-between;align-items:center;gap:8px;color:#36586a;font-size:11px;font-weight:700;}
 .forecast-card-top small {font-size:10px;color:#518478;background:#eef7f3;padding:4px 7px;border-radius:20px;}
 .forecast-match-cover {display:grid;grid-template-columns:minmax(0,1fr) minmax(65px,.85fr) minmax(0,1fr);gap:6px;align-items:center;padding:17px 8px;border-radius:10px;min-height:160px;color:#fff;text-decoration:none;background:linear-gradient(135deg,#153c4b,#176050 65%,#193f46);}
 .forecast-team {display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;text-align:center;}
 .forecast-team img {object-fit:contain;width:44px;height:48px;padding:3px;border-radius:7px;background:#ffffffed;}
 .forecast-team small {color:#b9d2cf;font-size:8px;text-transform:uppercase;letter-spacing:.05em;}
 .forecast-team > span:last-child {font-size:10px;line-height:1.35;font-weight:700;overflow-wrap:anywhere;}
 .forecast-team-initials {display:grid;place-items:center;width:42px;height:46px;border-radius:8px;background:#ffffff1a;border:1px solid #ffffff33;font-size:16px;font-weight:800;}
 .forecast-kickoff {display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;}
 .forecast-kickoff > span {font-size:9px;color:#d0e1de;line-height:1.4;}
 .forecast-kickoff strong {font-size:23px;font-weight:800;line-height:1.2;}
 .forecast-kickoff small {font-size:8px;color:#bed1cf;}
 .forecast-card-title {margin:0;font-size:16px;line-height:1.4;font-weight:800;color:#203749;}
 .forecast-card-title a {color:inherit;text-decoration:none;}
 .forecast-card-pick {display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:9px;background:#f0f5f7;}
 .forecast-card-pick small {display:block;font-size:10px;color:#70838d;margin-bottom:4px;}
 .forecast-card-pick strong {font-size:12px;line-height:1.4;color:#213e51;}
 .forecast-card-odds {flex-shrink:0;text-align:right;}
 .forecast-card-odds strong {font-size:17px;color:#22648b;}
 .forecast-card-summary {margin:0;font-size:12px;line-height:1.65;color:#697c89;}
 .forecast-card-expert {display:flex;align-items:center;gap:7px;font-size:11px;color:#506a79;}
 .forecast-card-expert img {width:28px;height:28px;object-fit:cover;border-radius:50%;}
 .forecast-card-foot {margin-top:auto;padding-top:4px;display:flex;align-items:flex-start;flex-direction:column;gap:8px;}
 .forecast-card-foot small {font-size:9px;color:#83929b;}
 .forecast-card a:focus-visible {outline:2px solid #3279b5;outline-offset:3px;}
 .forecast-card:hover {border-color:#a6c2ca;}
 @media (min-width:1100px) {.best-bookmakers-content .forecast-card {padding:12px;gap:12px;}}
 [data-prediction-center="today"] [data-prediction-list] {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
 .forecast-card .prediction-open-link {display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border:1px solid #245e96;border-radius:8px;background:linear-gradient(120deg,#20548a,#3279b5);color:#fff;font-size:12px;font-weight:600;line-height:1.3;text-decoration:none;}
 .forecast-card .prediction-open-link:hover {background:#194774;}
 @media (max-width:639px) {[data-prediction-center="today"] [data-prediction-list] {grid-template-columns:minmax(0,1fr);}}
 .forecast-card[data-forecast-sport="football"] .forecast-match-cover {background-image:linear-gradient(125deg,rgba(4,69,33,.7),rgba(12,89,42,.48)),url('/images/courts/football.svg');}
 .forecast-card[data-forecast-sport="hockey"] .forecast-match-cover {background-image:linear-gradient(125deg,rgba(13,58,111,.78),rgba(22,93,154,.58)),url('/images/courts/hockey.svg');}
 .forecast-card[data-forecast-sport="tennis"] .forecast-match-cover {background-image:linear-gradient(125deg,rgba(74,39,23,.74),rgba(111,64,35,.52)),url('/images/courts/tennis.svg');}
 .forecast-card[data-forecast-sport="basketball"] .forecast-match-cover {background-image:linear-gradient(125deg,rgba(232,177,38,.38),rgba(255,215,91,.28)),url('/images/courts/basketball.svg');color:#392b12;}
 .forecast-card[data-forecast-sport] .forecast-match-cover {background-size:cover;background-position:center;}
 .forecast-card[data-forecast-sport="tennis"] .forecast-team small,.forecast-card[data-forecast-sport="tennis"] .forecast-kickoff > span,.forecast-card[data-forecast-sport="tennis"] .forecast-kickoff small {color:#f1dac5;}
 .forecast-card[data-forecast-sport="hockey"] .forecast-team small,.forecast-card[data-forecast-sport="hockey"] .forecast-kickoff > span,.forecast-card[data-forecast-sport="hockey"] .forecast-kickoff small {color:#d5e9ff;}
 .forecast-card[data-forecast-sport="basketball"] .forecast-team small,.forecast-card[data-forecast-sport="basketball"] .forecast-kickoff > span,.forecast-card[data-forecast-sport="basketball"] .forecast-kickoff small {color:#674e23;}
 .forecast-card[data-forecast-sport="basketball"] .forecast-team-initials {background:#ffffff70;border-color:#b88a3d;color:#573d12;}
 .forecast-detail-board.forecast-card {padding:0;border:0;box-shadow:none;background:transparent;margin:20px 0 24px;display:block;}
 .forecast-detail-board .forecast-match-cover {min-height:245px;padding:28px 24px;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(100px,1fr) minmax(0,1fr);gap:18px;}
 .forecast-detail-board .forecast-team {gap:9px;}
 .forecast-detail-board .forecast-team img {width:72px;height:80px;padding:6px;border-radius:12px;}
 .forecast-detail-board .forecast-team > span:last-child {font-size:16px;line-height:1.4;}
 .forecast-detail-board .forecast-team > small {font-size:10px;}
 .forecast-detail-board .forecast-kickoff > span {font-size:13px;}
 .forecast-detail-board .forecast-kickoff strong {font-size:38px;}
 .forecast-detail-board .forecast-kickoff small {font-size:10px;}
 .forecast-detail-board .forecast-team-initials {width:64px;height:72px;font-size:24px;}
 @media (max-width:639px) {
  .forecast-detail-board .forecast-match-cover {min-height:205px;padding:20px 10px;gap:8px;grid-template-columns:minmax(0,1fr) minmax(80px,.9fr) minmax(0,1fr);}
  .forecast-detail-board .forecast-team img {width:54px;height:62px;padding:4px;}
  .forecast-detail-board .forecast-team > span:last-child {font-size:12px;}
  .forecast-detail-board .forecast-kickoff strong {font-size:28px;}
  .forecast-detail-board .forecast-kickoff > span {font-size:10px;}
  .forecast-detail-board .forecast-kickoff small {font-size:8px;}
 }
 .forecast-card:not(.forecast-detail-board) {position:relative;overflow:hidden;border-top:0;padding-top:24px;}
 .forecast-card:not(.forecast-detail-board)::before {content:'';position:absolute;inset:0 0 auto;height:8px;background:linear-gradient(90deg,var(--forecast-accent,#2563eb),color-mix(in srgb,var(--forecast-accent,#2563eb) 55%,white));}
 .forecast-card[data-forecast-sport="football"] {--forecast-accent:#167c55;}
 .forecast-card[data-forecast-sport="hockey"] {--forecast-accent:#2563b9;}
 .forecast-card[data-forecast-sport="tennis"] {--forecast-accent:#ad5d30;}
 .forecast-card[data-forecast-sport="basketball"] {--forecast-accent:#a86a0c;}
 @media (min-width:1100px) {.best-bookmakers-content .forecast-card:not(.forecast-detail-board) {padding-top:24px;}}

}
