body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--pl-purple:#37003c;--pl-purple-mid:#4a0a50;--pl-magenta:#e90052;--pl-lime:#00ff85;--pl-text:#fff}body{background:#fff;color:#1a1a1a;font-family:Barlow Condensed,Arial Narrow,Arial,sans-serif;font-weight:600;letter-spacing:.04em;min-height:100vh;text-transform:uppercase}.text-normal,input[type=date],input[type=number],input[type=text],textarea.text-normal{font-weight:500;letter-spacing:normal;text-transform:none}.App{display:flex;flex-direction:column;min-height:100vh}.App,.navbar{background:#fff}.navbar{border-bottom:3px solid #e90052;border-bottom:3px solid var(--pl-magenta);box-shadow:0 1px 8px #0000000f;padding:.75rem 0;text-transform:none}.nav-container{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1180px;padding:0 1.5rem}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{color:#37003c;color:var(--pl-purple);font-weight:800;gap:.75rem;letter-spacing:.04em;text-decoration:none;text-transform:none}.nav-logo-img{background:#fff;border:2px solid #e90052;border:2px solid var(--pl-magenta);border-radius:50%;height:48px;object-fit:cover;width:48px}.nav-logo small{color:#6b6570;display:block;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:none}.nav-menu{display:flex;flex-wrap:wrap;gap:.25rem}.nav-link{border-radius:2px;color:#37003c;color:var(--pl-purple);font-size:.95rem;font-weight:700;letter-spacing:.02em;padding:.65rem .9rem;text-decoration:none;text-transform:none}.nav-link.active,.nav-link:hover{background:#e90052;background:var(--pl-magenta);color:#fff}.nav-link-button{background:none;border:none;cursor:pointer;font-family:inherit}.login-page{display:flex;justify-content:center}.login-card{width:min(420px,100%)}.admin-badge{background:#e90052;background:var(--pl-magenta);border-radius:2px;color:#fff;display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.04em;padding:.2rem .5rem;text-transform:none}.page-tabs{border-bottom:3px solid #eee;display:flex;gap:0;margin:-.25rem 0 1.25rem}.page-tab{background:none;border:none;border-bottom:3px solid #0000;color:#6b6570;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:800;letter-spacing:.02em;margin-bottom:-3px;padding:.7rem 1.15rem;text-transform:none}.page-tab.active,.page-tab:hover{color:#37003c;color:var(--pl-purple)}.page-tab.active{border-bottom-color:#e90052;border-bottom-color:var(--pl-magenta)}.players-page .card h2{text-transform:none}.hero{align-items:flex-end;background:linear-gradient(90deg,#ffffffe0,#ffffff8c 50%,#fff3),url(/static/media/football-action.83a9877d18ed992ec551.png) 50% /cover no-repeat;border:1px solid #eee;border-radius:4px;color:#37003c;color:var(--pl-purple);display:flex;margin:0 0 1.5rem;min-height:200px;overflow:hidden;padding:2rem;position:relative}.hero-kicker{color:#e90052;color:var(--pl-magenta);font-size:.75rem}.hero h1,.hero-kicker{font-weight:800;letter-spacing:.02em;margin-bottom:.4rem}.hero h1{font-size:clamp(1.8rem,4vw,2.8rem)}.dashboard-page,.dashboard-page .btn,.dashboard-page .card h2,.dashboard-page .card h3,.dashboard-page .hero h1,.dashboard-page .hero-kicker,.dashboard-page .season-selector,.dashboard-page .table th,.players-page,.players-page .btn,.players-page .card h2,.players-page .card h3,.players-page .form-group label,.players-page .table th{letter-spacing:.02em;text-transform:none}.hero-copy p:last-child{color:#444;font-weight:500;max-width:36rem}.main-content{flex:1 1;margin:1.5rem auto;max-width:1180px;padding:0 1.5rem 2rem;width:100%}.card{background:#fff;border:1px solid #eee;border-radius:4px;box-shadow:0 2px 12px #0000000f;margin-bottom:1.5rem;padding:1.75rem 2rem 2rem}.card h2{border-bottom:4px solid #e90052;border-bottom:4px solid var(--pl-magenta);font-size:1.35rem;letter-spacing:.04em;margin-bottom:1.25rem;padding-bottom:.5rem}.card h2,.card h3{color:#37003c;color:var(--pl-purple);font-weight:800;text-transform:uppercase}.card h3{font-size:1rem;letter-spacing:.03em}.btn{border:none;border-radius:2px;cursor:pointer;display:inline-block;font-family:inherit;font-size:.85rem;font-weight:800;letter-spacing:.05em;padding:.7rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:all .2s}.btn-primary{background:#e90052;background:var(--pl-magenta);color:#fff}.btn-primary:hover{background:#c10045}.btn-secondary{background:#37003c;background:var(--pl-purple);color:#fff}.btn-secondary:hover{background:#2a002e}.btn-danger{background:#7a0c2e;color:#fff}.btn-danger:hover{background:#5c0923}.btn-success{background:#007a3d;color:#fff}.btn-success:hover{background:#006432}.form-group{margin-bottom:1.5rem}.form-group label{color:#37003c;color:var(--pl-purple);display:block;font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;border-radius:2px;font-family:inherit;font-size:1rem;padding:.75rem;width:100%}.form-group textarea{resize:vertical}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.table th.sortable:hover{background:#e9e9ee}.funny-fact-cell{font-weight:500;letter-spacing:normal;max-width:220px;text-transform:none}.table{border-collapse:collapse;margin-top:1rem;width:100%}.table td,.table th{border-bottom:1px solid #ece6ee;padding:.85rem 1rem;text-align:left}.table th{background:#f4f4f6;color:#37003c;color:var(--pl-purple);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.table tbody tr:nth-child(2n){background:#fafafa}.table tr:hover{background:#fff5f8}.match-team-hover{border-bottom:1px dotted #37003c;border-bottom:1px dotted var(--pl-purple);cursor:default;display:inline-block;position:relative;text-transform:none}.match-team-popover{min-width:220px;pointer-events:none;position:fixed;z-index:200}.match-team-popover-inner{background:#e6e6e6;border:1px solid #c8c8c8;border-radius:4px;box-shadow:0 8px 24px #00000038;color:#1a1a1a;opacity:1;overflow:hidden;padding:0;text-transform:none}.match-team-popover-inner p{font-size:.85rem;font-weight:500;margin:0;padding:.5rem .55rem}.match-team-popover-inner table{border-collapse:collapse;border-radius:0;box-shadow:none;margin:0;width:100%}.table .match-team-popover-inner table,.table .match-team-popover-inner tbody,.table .match-team-popover-inner tbody tr,.table .match-team-popover-inner td,.table .match-team-popover-inner th{background:#e6e6e6!important;border-radius:0!important;box-shadow:none!important}.table .match-team-popover-inner tbody tr:hover,.table tbody tr:hover .match-team-popover-inner tbody tr,.table tbody tr:nth-child(2n) .match-team-popover-inner tbody tr{background:#e6e6e6!important}.match-team-popover-inner td,.match-team-popover-inner th{border-bottom:1px solid #cfcfcf;font-size:.8rem;letter-spacing:.02em;padding:.3rem .4rem;text-transform:none}.match-team-popover-inner th{background:#d4d4d4!important;font-size:.7rem}.stats-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem}.stat-card{background:#fff;border:1px solid #eee;border-bottom:4px solid #e90052;border-bottom:4px solid var(--pl-magenta);border-radius:4px;padding:1.5rem;text-align:center}.stat-card,.stat-card h3{color:#37003c;color:var(--pl-purple)}.stat-card h3{font-size:.8rem;margin-bottom:.5rem;opacity:.85}.stat-card .stat-value{color:#e90052;color:var(--pl-magenta);font-size:2.5rem;font-weight:800}.stat-card.team-black{background:#111;border-color:#111 #111 #e90052;border-bottom-color:var(--pl-magenta);color:#fff}.stat-card.team-black .stat-value,.stat-card.team-black h3,.stat-card.team-black small{color:#fff;opacity:1}.section-heading-row{align-items:baseline;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;justify-content:space-between;margin:2rem 0 1rem}.section-heading-row h3{margin:0}.season-game-meta{color:#444;display:flex;flex-wrap:wrap;font-size:.9rem;font-weight:600;gap:.5rem 1.1rem}.historical-seasons a{color:#e90052;color:var(--pl-magenta);font-size:1.1rem;font-weight:800;text-transform:none}.loading{font-weight:700;padding:2rem;text-align:center}.card .loading,.loading{color:#37003c;color:var(--pl-purple)}.error{background:#fde8f0;color:#7a0c2e}.error,.success{border-radius:2px;font-weight:600;margin-bottom:1rem;padding:1rem}.success{background:#e6fff3;color:#0a5c38}.team-selector{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin:2rem 0}.team-box{background:#f8f9fa;border:3px solid #ddd;border-radius:4px;padding:1.5rem}.team-box.team-black{background:#111;border-color:#111;color:#fff}.team-box.team-black h3,.team-box.team-black label{color:#fff}.team-box.team-black select{background:#222;border:1px solid #555;color:#fff}.team-box.team-black .player-item{background:#2a2a2a;color:#fff}.team-box.team-white{background:#fff;border-color:#ccc}.team-box h3{color:#37003c;color:var(--pl-purple);margin-bottom:1rem}.player-list{list-style:none}.player-item{align-items:center;background:#fff;border-radius:2px;box-shadow:0 2px 5px #00000014;display:flex;justify-content:space-between;margin:.5rem 0;padding:.75rem}.player-item.unmatched{background:#fff3cd;border:2px solid #ffc107}.player-item input{margin:0 .5rem;padding:.25rem;width:60px}.image-upload-area{background:#faf6fb;border:3px dashed #e90052;border:3px dashed var(--pl-magenta);border-radius:4px;cursor:pointer;padding:3rem;text-align:center;transition:all .3s}.image-upload-area.dragover,.image-upload-area:hover{background:#fde8f0;border-color:#37003c;border-color:var(--pl-purple)}.image-preview{border-radius:4px;margin:1rem 0;max-height:400px;max-width:100%}.season-selector{color:#37003c;color:var(--pl-purple);font-size:.8rem;font-weight:700;letter-spacing:.05em;margin-bottom:1.5rem;text-transform:uppercase}.season-selector select{background:#fff;border:2px solid #37003c;border:2px solid var(--pl-purple);border-radius:2px;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:700;margin-left:.5rem;padding:.65rem 1.2rem}.season-hint{color:#666;display:block;font-size:.8rem;font-weight:600;letter-spacing:.02em;margin:0 0 .45rem;text-transform:none}.modal-overlay{align-items:flex-start;background:#00000059;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:2rem 1rem;position:fixed;z-index:1000}.modal-content{background:#fff;border-radius:4px;border-top:4px solid #e90052;border-top:4px solid var(--pl-magenta);margin-bottom:2rem;padding:2rem;width:min(900px,100%)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.site-footer{background:#f7f7f8;border-top:1px solid #eee;color:#666;font-size:.8rem;font-weight:600;letter-spacing:.08em;margin-top:auto;text-align:center;text-transform:uppercase}.footer-pitch{background:url(/static/media/hero-pitch.5555a815691c912fd2fe.png) 50%/cover no-repeat;height:64px;opacity:.35}.site-footer p{padding:1rem}.checkbox-label{align-items:center;cursor:pointer;display:flex!important;font-size:1rem!important;font-weight:700;gap:.6rem;letter-spacing:.02em!important;text-transform:none!important}.checkbox-label input{accent-color:#e90052;accent-color:var(--pl-magenta);width:auto}.date-picker{background:#fff;border:2px solid #ddd;border-radius:4px;max-width:22rem;padding:.75rem}.date-picker-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.75rem}.date-picker-header .btn{font-size:.75rem;padding:.35rem .7rem}.date-picker-grid,.date-picker-weekdays{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);text-align:center}.date-picker-weekdays span{color:#666;font-size:.75rem;font-weight:800}.date-picker-day.wednesday,.date-picker-weekdays .weekday-wed{background:#fff3b0;color:#5a4300;font-weight:800}.date-picker-day{background:#f7f7f8;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-weight:700;padding:.45rem 0}.date-picker-day.outside-month{opacity:.35}.date-picker-day.selected{background:#e90052;background:var(--pl-magenta);color:#fff}.date-picker-day.wednesday.selected{background:#37003c;background:var(--pl-purple);color:#fff}.date-picker-hint{color:#666;font-size:.8rem;font-weight:500;margin-top:.6rem}@media (max-width:700px){.hero{margin:0 0 1rem;min-height:160px}.team-selector{grid-template-columns:1fr}}
/*# sourceMappingURL=main.36a2a27d.css.map*/