﻿.sp-page{padding-bottom:30px;}
.sp-hero{margin-top:18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:16px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;}
.sp-bank span,.sp-stat span{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);}
.sp-bank b{display:block;font-size:40px;font-weight:800;line-height:1.1;margin-top:2px;}
.sp-bank b i{font-size:14px;font-style:normal;font-weight:600;color:var(--text-dim);}
.sp-bank small,.sp-stat small{display:block;font-size:12px;color:var(--text-dim);margin-top:2px;}
.sp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.sp-stat b{display:block;font-size:22px;font-weight:800;margin-top:2px;}
.sp-hero .up{color:var(--green);} .sp-hero .dn{color:#ff6b6b;}
.sp-h{font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin:28px 0 2px;}
.sp-h span{font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-dim);}
.sp-note{font-size:13px;color:var(--text-dim);margin:6px 0 0;line-height:1.45;}
.sp-empty{margin-top:10px;font-size:13px;color:var(--text-dim);border:1px dashed var(--card-border);border-radius:8px;padding:12px;}
.sp-day{margin-top:16px;}
.sp-dayhead{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid var(--card-border);padding-bottom:6px;}
.sp-dayhead b{font-size:15px;} .sp-dayhead span{font-size:13px;color:var(--text-dim);}
.sp-dayhead em{margin-left:auto;font-style:normal;font-weight:800;}
.sp-dayhead em.up{color:var(--green);} .sp-dayhead em.dn{color:#ff6b6b;}
.sp-fold{margin-top:20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;padding:0 14px;}
.sp-fold>summary{cursor:pointer;padding:12px 0;font-size:13px;font-weight:700;}
.sp-fold[open]>summary{border-bottom:1px solid var(--card-border);margin-bottom:6px;}
.sp-fold[open]{padding-bottom:14px;}
.sp-how p{font-size:13px;line-height:1.55;color:var(--text-dim);margin:10px 0 0;}
.sp-how b{color:var(--text);}
@media (max-width:700px){
 .sp-hero{grid-template-columns:minmax(0,1fr);}
 .sp-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
 .sp-bank b{font-size:34px;}
}
@media (max-width:480px){.sp-page .tickets{grid-template-columns:minmax(0,1fr);} .sp-page .ticket{min-width:0;max-width:100%;} .sp-page{padding-left:16px;padding-right:16px;} .sp-dayhead{flex-wrap:wrap;}}
.wk{margin-top:10px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:14px 12px 10px;}
.wk-plot{position:relative;height:150px;}
.wk-zero{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--text-dim);opacity:.6;}
.wk-cols{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));}
.wk-col{position:relative;}
.wk-col.new{border-left:2px dashed var(--gold);}
.wk-bar{position:absolute;left:22%;right:22%;border-radius:3px;background:var(--text-dim);}
.wk-bar.up{background:var(--green);} .wk-bar.dn{background:#ff6b6b;}
.wk-bar.part{opacity:.55;}
.wk-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.wk-line polyline{fill:none;stroke:var(--gold);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;}
.wk-labs{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin-top:8px;}
.wk-lab{text-align:center;display:flex;flex-direction:column;gap:1px;padding:0 2px;font-size:12px;}
.wk-lab.new{border-left:2px dashed var(--gold);}
.wk-lab span{font-weight:700;color:var(--text);}
.wk-lab b{font-size:14px;} .wk-lab small{color:var(--text-dim);font-size:11px;}
.wk-lab em{font-style:normal;font-weight:700;color:var(--gold2);font-size:12px;}
.wk-lab em::before{content:"total ";font-weight:500;color:var(--text-dim);}
.wk-lab .wk-tag{color:var(--gold2);}
.wk .up{color:var(--green);} .wk .dn{color:#ff6b6b;}
.wk-lab em.up,.wk-lab em.dn{color:inherit;}
.wk-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:11px;color:var(--text-dim);}
.wk-key i{display:inline-block;vertical-align:middle;margin-right:6px;}
.k-bar{width:10px;height:10px;border-radius:2px;background:var(--green);}
.k-line{width:16px;height:0;border-top:2.5px solid var(--gold);}
@media (max-width:480px){.wk-lab{font-size:11px;} .wk-lab b{font-size:12px;} .wk-lab small{font-size:10px;}}

/* week tabs + day tabs (11-01) */
.sp-weeks{margin-top:10px;}
.tabrow{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.wk-tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:8px;padding:8px 14px;cursor:pointer;font:inherit;font-size:12px;}
.wk-tab span{color:var(--text-dim);font-weight:600;} .wk-tab b{font-size:16px;}
.wk-tab[aria-selected=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);}
.wk-sum{font-size:14px;margin:14px 0 10px;} .wk-sum b{font-weight:800;}
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;overflow:visible;}
.day-tab{display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:8px;padding:8px 2px 8px;cursor:pointer;font:inherit;font-size:12px;min-width:0;}
.day-tab small{color:var(--text-dim);font-size:11px;} .day-tab b{font-size:13px;margin-top:2px;}
.day-tab.empty{opacity:.55;}
.day-tab[aria-selected=true]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);}
.dbar{position:relative;display:block;width:60%;height:46px;margin-bottom:4px;}
.dbar i{position:absolute;bottom:0;left:0;right:0;border-radius:3px;background:var(--text-dim);}
.dbar i.up{background:var(--green);} .dbar i.dn{background:#ff6b6b;}
.weeks .up,.days .up,.wk-sum .up{color:var(--green);} .weeks .dn,.days .dn,.wk-sum .dn{color:#ff6b6b;}
.day-panel{margin-top:14px;}
.wk-tab:focus-visible,.day-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
@media (max-width:480px){.day-tab{font-size:11px;} .day-tab b{font-size:11px;} .dbar{height:34px;}}

/* running-total line + by-sport bars (11-01) */
.ln,.sb-wrap{margin-top:10px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:12px;}
.ln svg{width:100%;height:auto;display:block;} .ln text{fill:var(--text-dim);font-size:12px;}
.ln-g{stroke:var(--card-border);stroke-width:1;} .ln-0{stroke:var(--text-dim);stroke-width:1.5;}
.ln-rule{stroke:var(--gold);stroke-width:1.5;stroke-dasharray:4 4;}
.ln-l{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;} .ln-l.up,.ln-dot.up{stroke:var(--green);} .ln-l.dn,.ln-dot.dn{stroke:#ff6b6b;}
.ln-dot{stroke-width:0;} .ln-dot.up{fill:var(--green);} .ln-dot.dn{fill:#ff6b6b;}
.sb-wrap{display:grid;gap:10px;}
.sb{display:grid;grid-template-columns:120px minmax(0,1fr) 62px;gap:10px;align-items:center;}
.sb-n{font-size:14px;font-weight:700;display:flex;flex-direction:column;} .sb-n small{font-weight:500;color:var(--text-dim);font-size:12px;} .sb-n em{font-style:normal;}
.sb-t{position:relative;height:16px;background:var(--card-border);border-radius:3px;}
.sb-t::after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;border-left:1px solid var(--text-dim);}
.sb-t i{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--text-dim);} .sb-t i.up{background:var(--green);} .sb-t i.dn{background:#ff6b6b;}
.sb b{text-align:right;font-variant-numeric:tabular-nums;} .sb .up{color:var(--green);} .sb .dn{color:#ff6b6b;}
@media (max-width:480px){.sb{grid-template-columns:90px minmax(0,1fr) 54px;}}
