:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#162337;background:#f3f5f8;font-synthesis:none;--ink:#132032;--green:#247046;--line:#e0e5ed;--muted:#627187;--accent:#bcf694}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select,summary{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #4686e7;outline-offset:3px}button{transition:background .15s}button:disabled{opacity:.45;cursor:default}button,input,select{min-height:40px}input,select{border:1px solid #ccd5e1;border-radius:7px;padding:9px 11px;background:white;color:var(--ink)}input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--green)}.sidebar{position:fixed;inset:0 auto 0 0;width:226px;background:var(--ink);color:#f4f7fb;padding:32px 20px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;font-weight:800;font-size:20px;letter-spacing:1.5px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1px;color:#b2bfce;margin-top:7px}.brand-mark{display:grid;place-items:center;background:var(--accent);color:var(--ink);width:37px;height:43px;border-radius:5px;font-size:26px;font-weight:850}.nav-caption{font-size:11px;color:#a4b3c6;letter-spacing:1.5px;margin:54px 11px 14px}nav{display:grid;gap:7px}nav button{text-align:left;border:0;background:transparent;color:#c5d0df;padding:13px 12px;border-radius:7px;font-size:14px;display:flex;align-items:center;gap:12px;white-space:nowrap}nav button span{font-size:21px;width:20px}nav button:hover{background:#213048}nav button.active{background:#283c40;color:#d5ffb9}nav b{margin-left:auto;background:#42524a;border-radius:4px;padding:2px 5px;font-size:12px}.sidebar-bottom{margin-top:auto;padding-top:40px}.sidebar-bottom p{font-size:13px;color:#a8b7c8}.local-tag{font-size:10px;letter-spacing:1.3px;color:var(--accent)}.connection{border:1px solid #455369;color:#edf4fc;background:transparent;width:100%;font-size:13px;text-align:left;padding:10px;border-radius:6px;display:flex;justify-content:space-between}.sidebar-bottom small{display:block;color:#a8b7c8;font-size:11px;margin-top:12px;line-height:1.6}main{margin-left:226px;padding:32px 36px;max-width:1900px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:#66768b}h1{font-size:30px;letter-spacing:-1px;margin:9px 0 8px}header p,.dialog-heading p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}.header-actions{display:flex;gap:10px;flex-shrink:0}.button{border:1px solid #ced7e2;border-radius:7px;background:white;color:var(--ink);padding:9px 15px;font-size:14px;font-weight:600;white-space:nowrap}.button:hover{background:#edf2f7}.button.primary{background:var(--ink);border-color:var(--ink);color:white}.button.primary:hover{background:#2a3d58}.sample-banner{display:flex;gap:14px;align-items:baseline;border:1px solid #d3deed;border-left:3px solid #6c8fb6;border-radius:5px;background:#edf3fa;padding:12px 15px;font-size:13px;color:#425b78;line-height:1.5}.sample-banner strong{white-space:nowrap}.notice{padding:12px 16px;background:#e4f3e8;color:#235536;margin-top:12px;border-radius:6px;font-size:14px}.notice.failure{background:#fce9e7;color:#9d332a}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 20px}.stat-label{font-size:12px;color:var(--muted);font-weight:600}.stat-value{font-size:29px;font-weight:700;letter-spacing:-.9px;margin:8px 0 5px;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--muted)}.stat.featured{border-top:3px solid var(--green);padding-top:15px}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}h2{font-size:18px;letter-spacing:-.3px;margin:0 0 7px}.panel-head p,.intro{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.filters{display:flex;align-items:end;gap:12px;padding:17px 22px;flex-wrap:wrap;border-bottom:1px solid var(--line)}label{font-size:12px;font-weight:600;color:#52627a;display:grid;gap:7px}.filters .search{flex:1;min-width:170px}.filters select{font-size:13px;max-width:220px}.check-label{display:flex;align-items:center;gap:7px;min-height:40px;font-size:13px;color:#43546d}.table-wrap{overflow:auto;max-height:650px}table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#64748b;background:#f8fafc;padding:13px 16px;position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}td{padding:14px 16px;border-bottom:1px solid #edf0f4;font-variant-numeric:tabular-nums}tbody tr:hover{background:#f6f9fc}tbody tr:last-child td{border-bottom:none}.player-button{border:0;background:none;padding:0;min-height:0;font-size:14px;color:var(--ink);font-weight:650;text-align:left}.player-button:hover{text-decoration:underline}.subtext{display:block;font-size:11px;color:var(--muted);margin-top:4px}.market-cell{color:#485a71;font-size:13px}.num{text-align:right}.positive{color:#247046;font-weight:650}.negative{color:#ab5145}.tag{font-size:10px;font-weight:700;border-radius:4px;padding:3px 5px;background:#f7edd9;color:#8d671c;vertical-align:middle;margin-left:4px}.tag.confirmed{color:#27653c;background:#e8f4e9}.book{font-size:12px;font-weight:650;display:inline-flex;align-items:center;gap:6px}.book:before{content:"";height:7px;width:7px;border-radius:2px;background:#7e8ea6}.book.Bet365:before{background:#267650}.book.DraftKings:before{background:#e58f38}.book.FanDuel:before{background:#2876d6}.book.Fanatics:before{background:#c94b51}.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.pagination div{display:flex;align-items:center;gap:12px}.pagination .button{font-size:12px;min-height:33px;padding:6px 11px}.helper{padding:13px 21px;font-size:12px;line-height:1.6;color:#746033;background:#fffbf1;border-bottom:1px solid #f0e8d5}.muted{color:var(--muted);font-size:13px;line-height:1.65}.empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.empty strong{display:block;color:var(--ink);font-size:17px;margin-bottom:12px}.mapping-table td{font-size:13px}.mapping-table select{font-size:12px;max-width:195px}.file-name{font-size:12px;white-space:normal;max-width:260px;word-break:break-word}.mapping-table .sample-value{white-space:normal;min-width:150px;font-size:12px;line-height:1.6}.setup-grid{display:grid;gap:20px}.mapping-table label{display:flex;align-items:center;font-size:12px}.setup-note{padding:18px 22px;color:var(--muted);font-size:13px;line-height:1.7}.status-count{font-size:12px;border:1px solid #d5dee9;border-radius:20px;padding:5px 10px;color:#52657f;white-space:nowrap}footer{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#728198;margin-top:20px;line-height:1.6}dialog{border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 100px #0e1a3440;padding:26px;max-width:650px;width:calc(100% - 36px);color:var(--ink)}dialog::backdrop{background:#14213666;backdrop-filter:blur(3px)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-heading{margin-bottom:22px}.dialog-heading h2{font-size:25px;margin:9px 0}form{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}details{border:1px solid var(--line);border-radius:6px;padding:13px;font-size:14px}details label{margin-top:15px}.error{color:#a6372c;font-size:13px;margin:0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin:24px 0}.detail-grid div{border:1px solid var(--line);padding:14px;border-radius:6px}.detail-grid strong{display:block;font-size:21px;margin-top:8px}.detail-grid span{font-size:12px;color:var(--muted)}.detail-source{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.detail-source b{display:block;margin-top:12px}.action-link{border:0;background:transparent;color:#315a84;text-decoration:underline;min-height:0;padding:0;font-size:inherit}.projection-file-select{max-width:420px!important;min-width:280px}
@media(min-width:1600px){main{padding:40px 48px}.table-wrap{max-height:720px}td{padding-top:16px;padding-bottom:16px}}
@media(max-width:1100px){.sidebar{width:190px;padding:26px 14px}.brand{font-size:17px}.brand small{font-size:9px}main{margin-left:190px;padding:22px}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.stat{padding:12px 10px}.stat.featured{padding-top:10px}.stat-value{font-size:22px}.stat-sub{font-size:11px}.stat-label{font-size:11px}header{align-items:flex-start;margin-bottom:18px}.header-actions{flex-direction:column}.sample-banner{flex-direction:column;gap:2px}.filters{gap:8px;padding:12px 16px}.filters label{flex:1}.filters .check-label{flex:initial;font-size:12px}.panel-head{padding:14px 16px}.helper{padding:10px 16px}footer{flex-direction:column;gap:3px}}
@media(max-width:700px){.sidebar{position:relative;width:auto;padding:17px 16px 10px}.brand{font-size:18px}.brand-mark{height:33px;width:30px;font-size:22px}.brand small{display:none}.nav-caption,.sidebar-bottom{display:none}nav{display:flex;margin-top:16px;gap:4px;overflow:auto}nav button{font-size:12px;padding:9px 10px;gap:5px;min-height:36px}nav button span{display:none}nav b{font-size:10px}main{margin:0;padding:22px 14px}h1{font-size:25px}header p{font-size:13px}.header-actions{gap:6px}.header-actions .button{font-size:12px;padding:8px 11px}.stats{grid-template-columns:repeat(2,1fr);gap:9px;margin:15px 0}.stat{padding:14px}.stat.featured{padding-top:12px}.stat-value{font-size:26px}.stat-label,.stat-sub{font-size:11px}.panel-head{padding:16px;align-items:flex-start}.filters{padding:14px}.filters select{width:100%;max-width:none}.filters .search{flex-basis:100%}.table-wrap{max-height:60vh}.sample-banner{font-size:12px}.pagination{padding:12px}.form-row{grid-template-columns:1fr}.projection-file-select{min-width:0}.dialog-actions{flex-wrap:wrap}}
