:root{color:#18202a;background:#eef2f5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{font:inherit}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#17212b;color:#f8fafc;display:flex;flex-direction:column;gap:32px;padding:28px 20px}.sidebar h1,.topbar h2{margin:0;letter-spacing:0}.eyebrow{color:#7aa7b8;font-size:.78rem;font-weight:700;letter-spacing:.08em;margin:0 0 6px;text-transform:uppercase}nav{display:grid;gap:8px}.nav-item{background:transparent;border:1px solid transparent;border-radius:6px;color:#cbd5e1;cursor:pointer;padding:11px 12px;text-align:left}.nav-item:hover,.nav-item.active{background:#223242;border-color:#385066;color:#fff}main{min-width:0;padding:28px}.topbar{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px}.auth-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.button{background:#0f766e;border:0;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}.button:hover{background:#115e59}.button:disabled{background:#94a3b8;cursor:not-allowed}.button.secondary{background:#334155}.user-chip{background:#fff;border:1px solid #d7dee6;border-radius:999px;color:#334155;max-width:min(48vw,320px);overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.notice,.empty-panel,.metric,.bet-card,.journal-form,.review-notes article,.team-panel,.table-wrap{background:#fff;border:1px solid #d7dee6;border-radius:8px;box-shadow:0 1px 2px #0f172a0d}.notice{color:#334155;margin-bottom:16px;padding:14px 16px}.action-notice{align-items:center;display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}.action-notice span{min-width:0}.notice.danger{border-color:#fecaca;color:#991b1b}.research-warning{border-color:#f8d58a;color:#7a4d05}.content-stack{display:grid;gap:18px}.research-page{gap:18px}.research-card-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}.system-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr))}.research-metric p{color:#64748b;margin:6px 0 0}.research-panel{display:grid;gap:12px}.section-head,.system-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between}.section-head h3,.system-card h3,.empty-panel h3{margin:0}.research-chip,.status-badge,.warning-badge{border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:800;line-height:1;padding:6px 8px;text-transform:uppercase;white-space:nowrap}.research-chip{background:#e2e8f0;color:#334155}.status-badge.stable{background:#d1fae5;color:#065f46}.status-badge.watchlist{background:#fef3c7;color:#92400e}.status-badge.diagnostic{background:#e0f2fe;color:#075985}.warning-badges{display:flex;flex-wrap:wrap;gap:6px}.warning-badge{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.muted{color:#94a3b8}.heatmap-grid{display:grid;gap:6px;overflow-x:auto}.heatmap-row-fragment{display:contents}.heatmap-axis{color:#475569;font-size:.78rem;font-weight:800;min-width:0;padding:6px;text-align:center}.row-axis{align-items:center;display:flex;justify-content:flex-start;text-align:left}.heatmap-cell{border:1px solid #d7dee6;border-radius:6px;display:grid;gap:4px;min-height:82px;min-width:110px;padding:10px}.heatmap-cell strong{font-size:1rem}.heatmap-cell.positive{background:#dcfce7;border-color:#86efac}.heatmap-cell.negative{background:#fee2e2;border-color:#fca5a5}.heatmap-cell.empty{background:#f8fafc;color:#94a3b8}.heatmap-cell.low-sample{box-shadow:inset 0 0 0 2px #f59e0b38}.system-card{background:#fff;border:1px solid #d7dee6;border-radius:8px;color:#18202a;cursor:pointer;display:grid;gap:12px;padding:16px;text-align:left}.system-card:hover,.system-card.selected{border-color:#0f766e;box-shadow:0 0 0 2px #0f766e24}.research-table table caption{align-items:center;caption-side:bottom;display:flex;gap:12px;justify-content:flex-end;padding:12px}.segmented{align-items:center;background:#e2e8f0;border-radius:6px;display:inline-flex;gap:2px;padding:3px}.segmented button{background:transparent;border:0;border-radius:4px;color:#475569;cursor:pointer;font-weight:800;padding:7px 9px}.segmented button.active{background:#fff;color:#0f766e}.status-grid,.top-bets{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-row{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.status-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}.toolbar{align-items:center;display:flex;gap:12px}.round-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.toolbar label,.round-toolbar label{color:#475569;font-size:.82rem;font-weight:800;text-transform:uppercase}.toolbar select,.round-toolbar select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#18202a;font:inherit;min-width:min(100%,360px);padding:10px 12px}.round-toolbar .button{min-width:42px;padding-inline:12px}.round-window{color:#475569;font-weight:700}.journal-form{display:grid;gap:14px;padding:18px}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid label{color:#475569;display:grid;font-size:.78rem;font-weight:800;gap:6px;text-transform:uppercase}.form-grid input,.form-grid select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#18202a;font:inherit;min-width:0;padding:10px 12px;text-transform:none}.checkbox-row{align-content:end;grid-auto-flow:column;justify-content:start}.checkbox-row input{height:18px;width:18px}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.form-error{color:#991b1b;font-weight:700}.review-notes{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.review-notes article{padding:16px}.review-notes h3{font-size:1rem;margin:0 0 8px}.review-notes p{color:#475569;margin:0}.metric{padding:15px 16px}.metric span,.bet-card dt{color:#64748b;display:block;font-size:.78rem;font-weight:700;margin-bottom:5px;text-transform:uppercase}.metric strong{display:block;font-size:1.05rem;overflow-wrap:anywhere}.bet-card{display:grid;gap:14px;padding:18px}.bet-card h3{font-size:1.35rem;margin:0}.bet-card p{color:#475569;margin:0}.bet-card dl{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.bet-card dd{font-weight:800;margin:0}.team-grid,.split-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.team-panel{display:grid;gap:16px;padding:18px}.team-panel-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.team-panel-head h3{font-size:1.3rem;margin:0}.team-panel-head strong{color:#0f766e;font-size:1.35rem}.mini-metrics{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.mini-metrics div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:12px}.mini-metrics dt{color:#64748b;font-size:.76rem;font-weight:800;margin-bottom:4px;text-transform:uppercase}.mini-metrics dd{font-weight:800;margin:0}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap.compact table{min-width:620px}table{border-collapse:collapse;min-width:980px;width:100%}th,td{border-bottom:1px solid #e2e8f0;padding:12px 14px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;font-size:.78rem;font-weight:800;text-transform:uppercase}td{color:#243142;font-size:.92rem}tr:last-child td{border-bottom:0}tbody tr{transition:background .12s ease}.clickable-row{cursor:pointer}.clickable-row:hover td,.selected-row td{background:#eef6f6}.strong{font-weight:800}.edge{color:#0f766e;font-weight:800}.odds-breakdown{display:grid;gap:5px;min-width:150px}.odds-breakdown div{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.odds-breakdown span,.odds-breakdown p{color:#64748b;font-size:.78rem;font-weight:700;margin:0}.odds-breakdown strong{font-variant-numeric:tabular-nums}.odds-layout{align-items:start;grid-template-columns:minmax(620px,3fr) minmax(440px,2fr)}.odds-table-wrap{min-width:0;overflow:hidden}.odds-table-wrap table{min-width:0;table-layout:fixed}.odds-table-wrap th:nth-child(1),.odds-table-wrap td:nth-child(1){width:44%}.odds-table-wrap th:nth-child(2),.odds-table-wrap td:nth-child(2),.odds-table-wrap th:nth-child(3),.odds-table-wrap td:nth-child(3){width:22%}.odds-table-wrap th:nth-child(4),.odds-table-wrap td:nth-child(4){width:12%}.odds-table-wrap td:nth-child(2),.odds-table-wrap td:nth-child(3),.odds-table-wrap td:nth-child(4){white-space:nowrap}.odds-table-wrap .cell-note{display:inline}.odds-panel{position:sticky;top:18px}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.84rem;overflow-wrap:anywhere}.empty-panel{color:#475569;padding:28px}.empty-panel h3{color:#18202a;margin:0 0 8px}.empty-panel p{margin:0;overflow-wrap:anywhere}.cell-note{color:#64748b;margin:4px 0 0}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{gap:18px;padding:20px}nav{grid-template-columns:repeat(2,minmax(0,1fr))}main{padding:20px}.topbar{align-items:flex-start;flex-direction:column}.action-notice{align-items:stretch;flex-direction:column}.action-notice .button{align-self:flex-start}.summary-row,.status-grid,.status-grid.five,.team-grid,.split-grid,.form-grid,.review-notes,.top-bets{grid-template-columns:1fr}.toolbar,.round-toolbar{align-items:stretch;flex-direction:column}.round-toolbar .button{align-self:flex-start}}@media (max-width: 1180px){.odds-layout{grid-template-columns:1fr}.odds-panel{position:static}}
