:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #071426;
    color: #f6f8fb;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at top, #102947 0, #071426 45%, #050f1e 100%); }
button { font: inherit; }
.app-shell { min-height: 100vh; }
.topbar { height: 64px; display: flex; align-items: center; gap: 12px; padding: 0 22px; border-bottom: 1px solid #27415d; background: rgba(5, 15, 30, .92); }
.brand-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; font-weight: 900; background: #e31b23; }
.brand-text { display: flex; flex-direction: column; line-height: 1.05; }
.brand-text strong { letter-spacing: .04em; }
.brand-text span { color: #8fa8c2; font-size: .75rem; margin-top: 4px; }
.content-shell { padding: 20px; }
.dashboard-page { max-width: 1580px; margin: 0 auto; }
.dashboard-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
h1 { margin: 0 0 4px; font-size: 1.55rem; }
.muted { color: #8fa8c2; }
.refresh-button, .game-tab { border: 1px solid #35516d; background: #112942; color: white; border-radius: 9px; padding: 11px 16px; cursor: pointer; }
.refresh-button:hover, .game-tab:hover { background: #183752; }
.refresh-button:disabled { opacity: .6; cursor: wait; }
.game-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.game-tab.active { background: #1676d2; border-color: #3498ef; }
.coupon-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; color: #afc2d7; margin-bottom: 10px; }
.demo-pill { padding: 4px 9px; border: 1px solid #7f6820; border-radius: 999px; color: #ffd96a; background: #302915; font-size: .78rem; }
.legend-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: .82rem; margin: 10px 0 16px; }
.legend-row span { display: inline-flex; align-items: center; gap: 6px; }
.dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.yellow { background: #f3c94b !important; }
.orange { background: #ff8a3d !important; }
.red { background: #ff4b55 !important; }
.match-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.match-card { position: relative; min-width: 0; overflow: visible; background: linear-gradient(180deg, #102943 0%, #0c2239 100%); border: 1px solid #2b4661; border-radius: 13px; box-shadow: 0 12px 28px rgba(0,0,0,.18); }
.match-header { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #29445e; }
.match-title { display: flex; align-items: center; min-width: 0; gap: 10px; font-weight: 800; }
.match-title > span:last-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.match-number { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #0d5e99; }
.alert-badge { position: relative; right: -24px; min-width: 62px; height: 62px; border: 5px solid #071426; border-radius: 50%; color: #071426; display: flex; flex-direction: column; align-items: center; justify-content: center; cursor: help; box-shadow: 0 5px 18px rgba(0,0,0,.35); }
.alert-badge span { font-size: .68rem; font-weight: 900; line-height: 1; }
.alert-badge strong { font-size: .85rem; line-height: 1.05; }
.odds-table { display: grid; grid-template-columns: minmax(142px, 1fr) repeat(3, 70px); gap: 7px 8px; align-items: center; padding: 13px 16px 8px; font-size: .86rem; }
.odds-table > strong { text-align: center; color: #d5e4f3; }
.odds-table > span { color: #a9bdd1; }
.odds-table > b { text-align: center; font-variant-numeric: tabular-nums; }
.kickoff { padding: 0 16px 12px; color: #94aac0; font-size: .8rem; }
.charts { border-top: 1px solid #29445e; padding: 10px 12px 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.mini-chart { min-width: 0; border: 1px solid #29465f; border-radius: 9px; background: rgba(4, 18, 32, .42); padding: 8px; }
.mini-chart-head { display: flex; align-items: center; justify-content: space-between; gap: 7px; font-size: .73rem; }
.mini-chart-head strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 7px; background: #183956; }
.mini-chart-head span { color: #a7bbcf; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mini-chart-head em { font-style: normal; font-weight: 800; margin-left: 5px; }
.mini-chart-head .down { color: #3ed39b; }
.mini-chart-head .up { color: #ff7b85; }
.mini-chart svg { width: 100%; height: 95px; display: block; margin-top: 5px; overflow: visible; }
.gridline { stroke: #25405a; stroke-width: 1; stroke-dasharray: 5 5; }
.trendline { fill: none; stroke: #19a8ff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.scale-row { display: flex; justify-content: space-between; color: #6f8ca8; font-size: .65rem; }
.loading-panel { padding: 50px; text-align: center; color: #9cb3c9; }
@media (max-width: 1050px) { .match-grid { grid-template-columns: 1fr; } }
@media (max-width: 690px) {
    .content-shell { padding: 12px; }
    .dashboard-toolbar { align-items: flex-start; flex-direction: column; }
    .refresh-button { width: 100%; }
    .odds-table { grid-template-columns: minmax(120px, 1fr) repeat(3, 52px); font-size: .78rem; }
    .charts { grid-template-columns: 1fr; }
    .alert-badge { right: 0; min-width: 54px; height: 54px; border-width: 3px; }
}

/* V1.1 – one match per row with expandable detail graphs */
.match-list { display: grid; grid-template-columns: 1fr; gap: 14px; }
.match-list .match-card { width: 100%; }
.match-name-wrap { display: flex; flex-direction: column; min-width: 0; gap: 3px; }
.match-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.match-kickoff { color: #8fa8c2; font-size: .78rem; font-weight: 500; }
.match-actions { display: flex; align-items: center; gap: 14px; margin-left: auto; padding-right: 10px; }
.match-actions .alert-badge { position: static; right: auto; flex: 0 0 auto; }
.details-button { border: 1px solid #35516d; background: #112942; color: #eaf4ff; border-radius: 9px; padding: 10px 14px; cursor: pointer; white-space: nowrap; }
.details-button:hover { background: #183752; }
.match-summary { padding: 2px 0 5px; }
.match-list .odds-table { grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(90px, 120px)); font-size: 1rem; gap: 9px 14px; padding: 18px 24px 20px; }
.match-list .odds-table > strong { font-size: 1.02rem; }
.match-list .odds-table > span { font-size: .96rem; }
.match-list .odds-table > b { font-size: 1.02rem; }
.details-panel { border-top: 1px solid #29445e; padding: 14px 18px 18px; background: rgba(3, 13, 25, .18); }
.large-charts { border-top: 0; padding: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.large-chart { padding: 14px; border-radius: 11px; }
.large-chart-head { font-size: .96rem; }
.large-chart-head strong { width: 34px; height: 34px; border-radius: 9px; font-size: 1rem; }
.large-chart-head span { font-size: .96rem; }
.large-chart svg { height: 220px; margin-top: 12px; }
.chart-axis-row { display: flex; justify-content: space-between; color: #8fa8c2; font-size: .78rem; margin-top: 3px; }
.large-scale-row { font-size: .76rem; margin-top: 8px; }
.mini-chart-head .flat { color: #c7d5e3; }
.match-card.expanded { border-color: #3b668b; box-shadow: 0 14px 34px rgba(0,0,0,.24); }

@media (max-width: 980px) {
    .match-list .odds-table { grid-template-columns: minmax(160px, 1fr) repeat(3, 72px); font-size: .88rem; padding: 14px 16px 18px; }
    .large-charts { grid-template-columns: 1fr; }
    .large-chart svg { height: 190px; }
}

@media (max-width: 690px) {
    .match-header { align-items: flex-start; flex-direction: column; }
    .match-actions { width: 100%; margin-left: 0; padding-right: 0; justify-content: space-between; }
    .match-list .odds-table { grid-template-columns: minmax(118px, 1fr) repeat(3, 54px); gap: 7px 6px; font-size: .76rem; padding: 12px; }
    .match-list .odds-table > strong, .match-list .odds-table > span, .match-list .odds-table > b { font-size: .78rem; }
    .details-button { flex: 1; }
}

/* V1.2 – live data status + clearer movement badge */
.live-pill { border-color: #1d765d; color: #78edbd; background: #102d28; }
.status-message { margin: 4px 0 12px; padding: 10px 12px; border: 1px solid #35516d; border-radius: 9px; background: rgba(12, 34, 57, .72); color: #b8cee2; font-size: .88rem; }
.match-actions .alert-badge { min-width: 72px; width: 72px; height: 72px; }
.alert-badge span { font-size: 1.02rem; }
.alert-badge strong { font-size: 1.08rem; margin-top: 3px; }
.no-data-chart { min-height: 300px; }
.no-data-text { min-height: 220px; display: grid; place-items: center; text-align: center; color: #7895b0; padding: 20px; }
@media (max-width: 690px) {
    .match-actions .alert-badge { min-width: 62px; width: 62px; height: 62px; }
    .alert-badge span { font-size: .9rem; }
    .alert-badge strong { font-size: .94rem; }
}


/* Hover tooltip points in odds history charts */
.chart-hover-point {
    fill: transparent;
    stroke: transparent;
    stroke-width: 1;
    cursor: crosshair;
    pointer-events: all;
}
.chart-hover-point:hover {
    fill: #19a8ff;
    stroke: #dff4ff;
    stroke-width: 2;
}

/* V1.10 – black/green OddsRadar design, row odds, dual movement signals and zoom modal */
.new-theme { max-width: 1600px; }
body { background: #090d11; color: #f5f7f8; }
.content-shell { padding: 18px 20px 28px; }
.modern-toolbar { border-bottom: 1px solid #232b33; padding-bottom: 14px; }
.brand-block { display:flex; align-items:center; gap:12px; }
.radar-logo { width:48px; height:48px; display:grid; place-items:center; border:2px solid #6fe14c; color:#6fe14c; border-radius:50%; font-size:2rem; line-height:1; box-shadow:0 0 0 5px rgba(111,225,76,.07) inset; }
.brand-block h1 { font-size:2rem; letter-spacing:-.03em; margin:0; }
.brand-block h1 span { color:#62db42; }
.toolbar-right { display:flex; align-items:center; gap:18px; }
.updated-state { color:#c5cbd1; font-size:.9rem; white-space:nowrap; }
.updated-state i { display:inline-block; width:9px; height:9px; background:#41ce62; border-radius:50%; margin-right:7px; }
.refresh-button { background:#0e1318; border-color:#56616b; padding:11px 18px; }
.refresh-button:hover { background:#171e24; }
.game-tabs { margin-top:14px; }
.game-tab { background:#0c1116; border-color:#3a444d; }
.game-tab.active { color:#86ee69; background:#111a12; border-color:#4f9e3c; }
.coupon-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:14px 2px 12px; border-bottom:1px solid #252d34; margin-bottom:8px; }
.coupon-heading > div:first-child { display:flex; flex-direction:column; gap:3px; }
.coupon-heading strong { font-size:1.18rem; }
.coupon-heading span { color:#9ca6af; font-size:.86rem; }
.signal-legend { display:flex; gap:24px; align-items:center; }
.signal-legend span { display:flex; align-items:center; gap:8px; color:#c2c8ce; }
.ring-sample { width:20px; height:20px; border-radius:50%; border:2px solid; display:inline-block; }
.ring-sample.alltime { border-color:#f4b000; }
.ring-sample.day24 { border-color:#5db7ff; }
.modern-list { gap:9px; }
.modern-card { background:#0b1014; border-color:#2a3239; border-radius:11px; box-shadow:none; overflow:visible; }
.modern-card:hover { border-color:#3a454e; }
.match-row { min-height:130px; display:grid; grid-template-columns:minmax(250px, .9fr) minmax(560px, 1.8fr) 220px 150px; align-items:center; gap:16px; padding:8px 18px; }
.match-identity { display:flex; align-items:center; gap:18px; min-width:0; }
.match-number.square { width:52px; height:52px; flex:0 0 52px; border-radius:8px; border:1px solid #39434c; background:#0d1318; color:#f5f7f8; font-size:1.35rem; }
.match-name { font-size:1.05rem; font-weight:760; color:#f5f7f8; }
.match-kickoff { color:#a6afb7; font-size:.84rem; margin-top:5px; }
.modern-odds-table { padding:0; grid-template-columns:minmax(150px,1fr) repeat(3, minmax(76px,95px)); gap:0; font-size:.95rem; border-left:1px solid #242c32; border-right:1px solid #242c32; }
.modern-odds-table > * { min-height:29px; display:flex; align-items:center; justify-content:center; border-bottom:1px solid rgba(255,255,255,.06); }
.modern-odds-table > div, .modern-odds-table > .label { justify-content:flex-start; padding-left:22px; }
.modern-odds-table > strong { color:#eef1f3; }
.modern-odds-table .folk { color:#79e34e; }
.modern-odds-table .svenska { color:#f7bb16; }
.modern-odds-table .betcurrent { color:#7fe75f; }
.modern-odds-table .betstart { color:#62b8ff; }
.modern-odds-table b { font-size:1.02rem; font-variant-numeric:tabular-nums; }
.movement-area { display:flex; gap:15px; justify-content:center; align-items:center; }
.movement-ring { width:86px; height:86px; border:2px solid; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#0a0f13; font-variant-numeric:tabular-nums; }
.movement-ring strong { font-size:1.25rem; line-height:1; }
.movement-ring span { font-size:1rem; margin-top:5px; font-weight:700; }
.movement-ring small { font-size:.72rem; margin-top:2px; color:#91a1ad; }
.alltime-ring { border-color:#f4b000; color:#ffc21e; }
.day24-ring { border-color:#5db7ff; color:#72c3ff; }
.modern-details { background:transparent; border:0; color:#e2e6e9; padding:12px 8px; font-size:.95rem; justify-self:end; }
.modern-details:hover { color:#74dc55; background:transparent; }
.modern-details span { font-size:1.25rem; margin-left:8px; }
.modern-details-panel { background:#090e12; border-top:1px solid #252d34; }
.large-charts { gap:14px; }
.large-chart { background:#0c1318; border-color:#28343d; }
.clickable-chart { cursor:pointer; transition:border-color .15s ease, transform .15s ease; }
.clickable-chart:hover { border-color:#5db7ff; transform:translateY(-1px); }
.trendline { stroke:#63dc45; stroke-width:2.4; }
.gridline { stroke:#28333b; }
.chart-hover-point:hover { fill:#68e14b; stroke:#dfffd4; }
.chart-help { color:#87929b; text-align:center; font-size:.82rem; margin-top:12px; }
.mini-chart-head .down { color:#55db78; }
.mini-chart-head .up { color:#ff696f; }
.status-message { background:#11171c; border-color:#313b43; }

.chart-modal-backdrop { position:fixed; inset:0; z-index:1000; background:rgba(0,0,0,.72); display:grid; place-items:center; padding:28px; backdrop-filter:blur(3px); }
.chart-modal { width:min(1120px, 95vw); max-height:92vh; overflow:auto; background:#0b1014; border:1px solid #3b454e; border-radius:16px; box-shadow:0 24px 80px rgba(0,0,0,.55); padding:20px; }
.chart-modal header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.chart-modal h2 { margin:0 0 7px; font-size:1.25rem; }
.modal-subtitle { color:#aab3bb; }
.source-pill { display:inline-block; padding:4px 8px; border-radius:7px; background:#1f6d32; color:#d9ffd0; font-weight:800; margin-right:8px; }
.modal-close { width:42px; height:42px; border:1px solid #39434b; border-radius:9px; background:#11171c; color:#fff; font-size:1.5rem; cursor:pointer; }
.modal-controls { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:18px 0 12px; }
.range-buttons, .zoom-buttons { display:flex; gap:7px; align-items:center; }
.range-buttons button, .zoom-buttons button { border:1px solid #39434b; background:#11171c; color:#d7dde1; border-radius:8px; padding:8px 13px; cursor:pointer; }
.range-buttons button.active { background:#327d27; color:white; border-color:#67d950; }
.zoom-buttons span { min-width:52px; text-align:center; color:#bac3ca; }
.modal-chart-wrap { border:1px solid #263039; border-radius:12px; padding:14px; background:#090e12; }
.modal-svg-card { min-width:0; }
.modal-svg-card svg { width:100%; height:auto; min-height:390px; display:block; margin-top:10px; }
.modal-footer { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:14px; color:#bac3ca; }
.modal-footer b { color:#f4f7f8; }
.modal-footer .down { color:#55db78; }
.modal-footer .up { color:#ff696f; }

@media (max-width: 1180px) {
    .match-row { grid-template-columns:minmax(220px,.9fr) minmax(480px,1.7fr) 190px 130px; gap:10px; }
    .movement-ring { width:76px; height:76px; }
}
@media (max-width: 900px) {
    .match-row { grid-template-columns:1fr; padding:15px; }
    .modern-odds-table { border:1px solid #242c32; }
    .movement-area { justify-content:flex-start; }
    .modern-details { justify-self:start; }
    .signal-legend { width:100%; justify-content:flex-start; }
    .coupon-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
    .toolbar-right { width:100%; flex-direction:column; align-items:stretch; gap:10px; }
    .modern-toolbar { align-items:flex-start; flex-direction:column; }
    .modern-odds-table { grid-template-columns:minmax(115px,1fr) repeat(3, 58px); font-size:.78rem; }
    .modern-odds-table > div, .modern-odds-table > .label { padding-left:10px; }
    .movement-ring { width:68px; height:68px; }
    .movement-ring strong { font-size:1rem; }
    .movement-ring span { font-size:.82rem; }
    .chart-modal-backdrop { padding:8px; }
    .chart-modal { width:100%; padding:14px; }
    .modal-svg-card svg { min-height:260px; }
}

/* V1.11 – navigation, analysis archive and historical draw viewer */
.main-nav { margin-left:auto; display:flex; gap:8px; align-items:center; }
.main-nav a { color:#aeb7bf; text-decoration:none; border:1px solid #323b43; border-radius:8px; padding:8px 13px; background:#0c1116; }
.main-nav a.active { color:#8bea6d; border-color:#4f9e3c; background:#111a12; }
.analysis-page { max-width:1600px; margin:0 auto; }
.analysis-header { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:4px 0 18px; padding-bottom:16px; border-bottom:1px solid #252d34; }
.analysis-header h1 { margin:0 0 5px; font-size:2rem; }
.analysis-header p { margin:0; color:#9ca6af; }
.history-import { display:flex; gap:8px; flex-wrap:wrap; }
.history-import select, .history-import input, .history-import button { min-height:42px; border:1px solid #39434b; border-radius:8px; background:#0f151a; color:#eef2f4; padding:0 12px; font-size:.92rem; }
.history-import input { width:120px; }
.history-import button { cursor:pointer; color:#8bea6d; border-color:#4b8240; }
.archive-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:18px; align-items:start; }
.coupon-archive { position:sticky; top:14px; background:#0b1014; border:1px solid #2a3239; border-radius:12px; padding:12px; }
.coupon-archive h2 { margin:3px 5px 10px; font-size:1rem; }
.archive-coupon { width:100%; text-align:left; display:flex; flex-direction:column; gap:3px; padding:11px 12px; margin:5px 0; border:1px solid #2b343b; border-radius:9px; background:#0d1318; color:#edf1f3; cursor:pointer; }
.archive-coupon:hover, .archive-coupon.active { border-color:#4d9340; background:#111a12; }
.archive-coupon span { color:#b6bec5; font-size:.82rem; }
.archive-coupon small { color:#75818b; }
.archive-empty, .analysis-placeholder { padding:24px; color:#84909a; text-align:center; }
.archive-detail { min-width:0; }
.archive-title { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; margin:0 0 10px; padding:0 4px; color:#96a1aa; }
.archive-title h2 { margin:0; color:#f3f6f7; }
.archive-title > div { display:flex; gap:10px; align-items:baseline; }
.analysis-match { border:1px solid #2a3239; background:#0b1014; border-radius:11px; margin-bottom:9px; overflow:hidden; }
.analysis-match-row { display:grid; grid-template-columns:minmax(230px,.85fr) minmax(520px,1.7fr) 120px 170px; gap:14px; align-items:center; min-height:126px; padding:8px 15px; }
.analysis-match-name { display:flex; gap:14px; align-items:center; min-width:0; }
.analysis-match-name > div { display:flex; flex-direction:column; gap:5px; min-width:0; }
.analysis-match-name strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.analysis-match-name small { color:#98a3ac; }
.analysis-odds { display:grid; grid-template-columns:minmax(140px,1fr) repeat(3, minmax(60px,85px)); border-left:1px solid #242c32; border-right:1px solid #242c32; }
.analysis-odds > * { min-height:27px; border-bottom:1px solid rgba(255,255,255,.055); display:flex; align-items:center; justify-content:center; }
.analysis-odds > span { justify-content:flex-start; padding-left:16px; color:#aeb8c0; }
.analysis-odds > strong { font-variant-numeric:tabular-nums; color:#e8edef; }
.analysis-odds > span:nth-of-type(1), .analysis-odds > span:nth-of-type(2) { color:#8ee76f; }
.result-box { width:100px; height:82px; justify-self:center; border:1px solid #3b454d; border-radius:12px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2px; background:#0d1419; }
.result-box.done { border-color:#4d9540; }
.result-box strong { font-size:1.35rem; }
.result-box span, .result-box small { color:#92a0aa; font-size:.75rem; }
.analysis-history-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:14px; background:#090e12; border-top:1px solid #252d34; }
.archive-chart { border:1px solid #2a353d; background:#0c1318; border-radius:10px; padding:12px; min-width:0; }
.archive-chart header { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.archive-chart header strong { width:32px; height:32px; display:grid; place-items:center; border-radius:8px; background:#16354c; }
.archive-chart header span { color:#bec7ce; font-variant-numeric:tabular-nums; }
.archive-chart svg { width:100%; height:150px; display:block; margin-top:8px; }
.archive-chart-axis { display:flex; justify-content:space-between; color:#7f8d97; font-size:.75rem; }
.archive-no-chart { min-height:150px; display:grid; place-items:center; color:#71808a; text-align:center; }
@media (max-width:1100px) { .archive-layout{grid-template-columns:1fr}.coupon-archive{position:static}.analysis-match-row{grid-template-columns:1fr}.analysis-history-grid{grid-template-columns:1fr}.analysis-header{align-items:flex-start;flex-direction:column} }
@media (max-width:700px) { .main-nav{width:100%;margin-left:0}.topbar{flex-wrap:wrap}.analysis-odds{grid-template-columns:minmax(105px,1fr) repeat(3,52px);font-size:.78rem}.archive-title{align-items:flex-start;flex-direction:column}.history-import{width:100%}.history-import select,.history-import input,.history-import button{flex:1} }

/* V1.12 – polished analysis workspace */
.analysis-launch { font-weight:750; color:#0a0f0c !important; background:#72df54 !important; border-color:#72df54 !important; box-shadow:0 0 0 1px rgba(114,223,84,.12),0 6px 20px rgba(75,190,50,.12); }
.analysis-launch:hover { background:#87ee6c !important; color:#071008 !important; }
.analysis-launch span { margin-left:5px; }
.analysis-pro { max-width:1540px; }
.analysis-hero { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:18px 4px 24px; border-bottom:1px solid #273038; }
.analysis-hero-brand { display:flex; align-items:center; gap:18px; }
.analysis-hero .radar-logo { width:58px; height:58px; font-size:2.25rem; }
.analysis-hero .eyebrow { color:#71df54; font-weight:800; font-size:.72rem; letter-spacing:.16em; }
.analysis-hero h1 { margin:3px 0 5px; font-size:2rem; letter-spacing:-.025em; }
.analysis-hero p { margin:0; color:#909ca5; max-width:800px; }
.back-dashboard { color:#cbd3d8; text-decoration:none; border:1px solid #354049; background:#0d1318; border-radius:9px; padding:10px 15px; }
.back-dashboard:hover { color:#82e866; border-color:#4d9340; }
.analysis-filterbar { display:grid; grid-template-columns:220px 330px minmax(300px,1fr); gap:14px; align-items:end; padding:20px 0; }
.analysis-filterbar label { display:flex; flex-direction:column; gap:7px; color:#8f9ba4; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.analysis-filterbar select { height:46px; width:100%; border:1px solid #354049; border-radius:9px; background:#0d1419; color:#f1f5f6; padding:0 13px; font-size:.96rem; text-transform:none; letter-spacing:0; }
.analysis-filterbar select:focus { outline:0; border-color:#66cf4e; box-shadow:0 0 0 3px rgba(102,207,78,.1); }
.archive-note { min-height:46px; border-left:2px solid #64cf4d; padding:3px 0 3px 13px; display:flex; flex-direction:column; justify-content:center; }
.archive-note strong { color:#dfe6e9; font-size:.84rem; }
.archive-note span { color:#7f8b94; font-size:.78rem; margin-top:2px; }
.analysis-empty-modern { min-height:360px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; border:1px dashed #303b43; border-radius:15px; background:linear-gradient(180deg,#0b1115,#090e12); color:#8e9aa3; }
.analysis-empty-modern .empty-icon { width:70px; height:70px; display:grid; place-items:center; border:1px solid #416f39; border-radius:50%; color:#72df54; font-size:2.5rem; margin-bottom:14px; }
.analysis-empty-modern h2 { color:#e8edef; margin:0 0 7px; }
.analysis-empty-modern p { max-width:580px; margin:0; }
.analysis-summary { display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:10px; margin-bottom:16px; }
.analysis-summary > div { min-height:86px; padding:15px 17px; border:1px solid #2d363e; border-radius:11px; background:#0c1217; display:flex; flex-direction:column; justify-content:center; }
.analysis-summary small { color:#7f8b94; text-transform:uppercase; font-size:.68rem; letter-spacing:.07em; }
.analysis-summary strong { font-size:1.4rem; margin-top:4px; }
.analysis-summary span { color:#8ee873; margin-top:2px; }
.analysis-summary .summary-main strong { font-size:1.1rem; }
.pro-card { box-shadow:0 8px 25px rgba(0,0,0,.08); }
.analysis-detail-button { color:#cdd5da; }
@media (max-width:1000px) { .analysis-filterbar{grid-template-columns:1fr 1fr}.archive-note{grid-column:1/-1}.analysis-summary{grid-template-columns:1fr 1fr}.analysis-match-row{grid-template-columns:1fr}.analysis-history-grid{grid-template-columns:1fr} }
@media (max-width:650px) { .analysis-hero{align-items:flex-start;flex-direction:column}.analysis-filterbar{grid-template-columns:1fr}.archive-note{grid-column:auto}.analysis-summary{grid-template-columns:1fr 1fr}.analysis-hero h1{font-size:1.6rem} }

/* V1.12.8 – visual polish + corrected signal presentation */
body { background: linear-gradient(145deg,#070b0e 0%,#0a1015 52%,#080c10 100%); }
.modern-radar-logo { border:0; box-shadow:none; background:linear-gradient(145deg,#111b20,#080d10); }
.modern-radar-logo svg { width:42px; height:42px; fill:none; stroke:#6eea52; stroke-width:1.8; stroke-linecap:round; }
.modern-radar-logo .radar-dot { fill:#6eea52; stroke:none; filter:drop-shadow(0 0 4px #6eea52); }
.match-number.square { border:1px solid #35434d; background:linear-gradient(145deg,#17232b,#0b1116); color:#dff6ff; box-shadow:inset 0 1px rgba(255,255,255,.04),0 5px 15px rgba(0,0,0,.18); border-radius:12px; }
.modern-card { background:linear-gradient(100deg,#0b1014,#0d1318); }
.modern-odds-table .folk { color:#7dea59; }
.modern-odds-table .svenska { color:#ffc928; }
.modern-odds-table .betcurrent { color:#5ee5b0; }
.modern-odds-table .betstart { color:#58adff; }

/* V1.12.9 – unified modern app identity */
.brand-mark.brand-radar { background:linear-gradient(145deg,#111b20,#080d10); border:1px solid #34434c; border-radius:50%; box-shadow:0 5px 16px rgba(0,0,0,.24); }
.brand-mark.brand-radar svg { width:28px; height:28px; fill:none; stroke:#6eea52; stroke-width:1.8; stroke-linecap:round; }
.brand-mark.brand-radar .brand-radar-dot { fill:#6eea52; stroke:none; filter:drop-shadow(0 0 3px #6eea52); }

/* V1.12.10 – readability pass: larger type, clearer numbers and chart labels */
html { font-size: 17px; }
body { line-height: 1.42; }
.topbar { min-height: 70px; height: auto; }
.brand-text strong { font-size: 1.03rem; }
.brand-text span { font-size: .82rem; }
.brand-block h1 { font-size: 2.15rem; }
.dashboard-toolbar, .coupon-meta, .legend-row { font-size: .95rem; }
.refresh-button, .game-tab, .details-button, .modern-details { font-size: 1rem; }
.match-name { font-size: 1.12rem; }
.match-kickoff { font-size: .9rem; }
.modern-odds-table { font-size: 1.02rem; }
.modern-odds-table b { font-size: 1.12rem; }
.modern-odds-table > span { font-size: 1rem; }
.movement-ring strong { font-size: 1.35rem; }
.movement-ring span { font-size: 1.08rem; }
.movement-ring small { font-size: .8rem; }
.large-chart-head { font-size: 1.05rem; }
.large-chart-head span { font-size: 1.05rem; }
.chart-axis-row { font-size: .88rem; gap: 24px; }
.chart-axis-row > * { min-width: 0; }
.large-scale-row { font-size: .86rem; }
.chart-help { font-size: .92rem; }
.chart-modal h2 { font-size: 1.4rem; }
.modal-toolbar button { font-size: .98rem; }
.modal-svg-card .chart-axis-row { margin-top: 8px; }

@media (max-width: 690px) {
  html { font-size: 16px; }
  .modern-odds-table { font-size: .88rem; }
  .modern-odds-table b { font-size: .96rem; }
}
.chart-axis-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    margin-top: 10px;
    color: #8fa8c2;
}

.chart-axis-row > span {
    display: block;
    min-width: 0;
}

.large-scale-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(143, 168, 194, 0.2);
}

.large-scale-row > span {
    display: block;
    text-align: center;
    padding: 0 12px;
}

.large-scale-row > span + span {
    border-left: 1px solid rgba(143, 168, 194, 0.25);
}

.large-scale-row > span:first-child {
    text-align: left;
}

.large-scale-row > span:last-child {
    text-align: right;
}
