:root{--navy: #12173f;--blue: #5d76a9;--gold: #f5b112;--bg: #f5f5f5;--card-bg: #ffffff;--text: #1a1a1a;--text-light: #6b6b6b;--text-faint: #999;--border: #e0e0e0;--win: #2e7d32;--loss: #c62828;--work-bg: #fff8e1;--radius: 10px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.team-selector{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem}.team-selector-card{background:var(--card-bg);border-radius:var(--radius);padding:2rem 1.5rem;width:100%;max-width:400px;box-shadow:0 2px 12px #00000014;text-align:center}.selector-logo{height:40px;margin-bottom:1rem}.team-selector-card h2{color:var(--navy);font-size:1.2rem;margin-bottom:1.5rem}.selector-field{margin-bottom:1rem;text-align:left}.selector-field label{display:block;font-size:.8rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.3rem}.selector-field select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:6px;font-size:1rem;background:#fff;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.selector-button{width:100%;padding:.85rem;border:none;border-radius:6px;background:var(--blue);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;min-height:48px}.selector-button:disabled{opacity:.4;cursor:not-allowed}.dashboard{max-width:600px;margin:0 auto;padding:0 1rem 2rem;position:relative}.pull-indicator{position:fixed;top:0;left:50%;transform:translate(-50%);font-size:1.2rem;color:var(--text-light);z-index:100;transition:opacity .2s}.pull-indicator.refreshing{animation:spin .8s linear infinite}@keyframes spin{0%{transform:translate(-50%) rotate(0)}to{transform:translate(-50%) rotate(360deg)}}.app-header{padding:1rem 0;margin-bottom:1rem;text-align:center}.header-top{margin-bottom:.5rem}.header-logo{height:96px}.header-team{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.header-team-name{font-size:1.1rem;font-weight:700;color:var(--navy)}.header-rank{font-size:.85rem;font-weight:600;color:var(--blue);background:#e8eaf6;padding:.1rem .4rem;border-radius:3px}.header-change-btn{background:none;border:none;color:var(--blue);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:.25rem}.header-season{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.header-season-label{font-size:.85rem;font-weight:600;color:var(--navy)}.header-season-link{background:none;border:none;color:var(--text-faint);font-size:.75rem;cursor:pointer;text-decoration:underline;padding:0}.header-meta{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.header-updated{font-size:.75rem;color:var(--text-faint)}.header-schedule-btn{font-size:.8rem;color:var(--blue);text-decoration:none;border:1px solid var(--blue);border-radius:4px;padding:.25rem .6rem}.loading-message,.error-message{text-align:center;padding:3rem 1rem;color:var(--text-light)}.error-message{color:var(--loss)}.next-up-banner{margin-bottom:1rem}.next-up-empty{text-align:center;padding:1.5rem;color:var(--text-light);background:var(--card-bg);border-radius:var(--radius)}.next-up-card{background:var(--card-bg);border-radius:var(--radius);padding:1rem;margin-bottom:.5rem;border-left:4px solid var(--blue)}.next-up-work{border-left-color:var(--gold)}.next-up-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-light);margin-bottom:.25rem}.next-up-opponent{font-size:1.05rem;font-weight:700;color:var(--navy)}.next-up-details{font-size:.85rem;color:var(--text-light);margin-top:.15rem}.next-up-event{font-size:.75rem;color:var(--text-faint);margin-top:.25rem}.season-record{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;background:var(--card-bg);border-radius:var(--radius);margin-bottom:1rem}.season-record-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-light)}.season-record-value{font-size:1.1rem;font-weight:700;color:var(--navy)}.season-record-pct{font-size:.85rem;color:var(--text-light)}.event-card{background:var(--card-bg);border-radius:var(--radius);margin-bottom:.75rem;overflow:hidden;box-shadow:0 1px 4px #0000000f}.event-card-header{padding:.85rem 1rem;cursor:pointer;position:relative;border-bottom:1px solid var(--border);transition:background .3s}.event-card-header.resyncing{background:#e3f2fd}.event-card-title{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;padding-right:1.5rem}.event-card-title h3{font-size:.95rem;font-weight:700;color:var(--navy);flex:1}.status-badge{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;padding:.15rem .4rem;border-radius:3px;font-weight:600;white-space:nowrap}.status-live{background:var(--win);color:#fff}.status-upcoming{background:var(--blue);color:#fff}.status-complete{background:var(--border);color:var(--text-light)}.event-card-meta{font-size:.8rem;color:var(--text-light);display:flex;gap:.5rem}.event-dates{color:var(--text-faint)}.event-record{font-weight:700;color:var(--navy);font-size:.85rem}.event-record-group{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.event-record-badge{font-size:.8rem;font-weight:700;color:var(--navy);background:#e8eaf6;padding:.1rem .5rem;border-radius:3px;white-space:nowrap}.event-record-wl{font-size:.75rem;font-weight:600}.wl-wins{color:var(--win)}.wl-sep{color:var(--text-faint);margin:0 .1rem}.wl-losses{color:var(--loss)}.collapse-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--text-faint);font-size:1.8rem}.event-card-body{padding:0}.event-aes-link{display:block;text-align:center;font-size:.8rem;color:var(--blue);text-decoration:none;padding:.4rem;border-bottom:1px solid var(--border)}.day-section{margin-bottom:0}.day-header{padding:.6rem 1rem;background:var(--blue);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;letter-spacing:.5px;text-transform:uppercase}.day-header .collapse-indicator{position:static;transform:none;color:#ffffffb3}.day-body{padding:0}.pool-section{border-bottom:1px solid var(--border);padding:.5rem 0}.pool-section:last-child{border-bottom:none}.pool-header{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;flex-wrap:wrap}.pool-name{font-size:.8rem;font-weight:600;color:var(--navy);flex:1}.pool-record{font-size:.8rem;font-weight:700;color:var(--text)}.pool-rank{font-size:.75rem;color:var(--blue);font-weight:600}.champion-badge{font-size:.65rem;text-transform:uppercase;background:var(--gold);color:var(--navy);padding:.1rem .4rem;border-radius:3px;font-weight:700;letter-spacing:.5px}.bracket-gold .pool-name{color:#b8860b}.bracket-silver .pool-name{color:#71717a}.bracket-bronze .pool-name{color:sienna}.match-row{padding:.6rem 1rem;border-bottom:1px solid #f0f0f0}.match-row:last-child{border-bottom:none}.match-win{border-left:3px solid var(--win)}.match-loss{border-left:3px solid var(--loss)}.match-work{background:var(--work-bg)}.match-row-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.match-time{font-size:.8rem;color:var(--text-light);font-weight:500}.match-court{font-size:.75rem;color:var(--text-faint)}.work-badge{font-size:.6rem;background:var(--gold);color:var(--navy);padding:0 .3rem;border-radius:2px;font-weight:700}.result-badge{font-size:.65rem;font-weight:700;padding:.05rem .3rem;border-radius:2px;margin-left:auto}.result-badge.match-win{background:var(--win);color:#fff;border-left:none}.result-badge.match-loss{background:var(--loss);color:#fff;border-left:none}.match-row-opponent{display:flex;align-items:center;gap:.5rem}.opponent-name{font-size:.95rem;font-weight:600;color:var(--text)}.rank-badge{font-size:.7rem;color:var(--blue);background:#e8eaf6;padding:.1rem .35rem;border-radius:3px;font-weight:600}.h2h-badge{font-size:.7rem;color:var(--text-faint);background:#f0f0f0;padding:.1rem .35rem;border-radius:3px}.match-row-sets{display:flex;gap:.4rem;margin-top:.3rem}.set-score{font-size:.8rem;font-weight:500;padding:.1rem .3rem;border-radius:3px}.set-won{color:var(--win);background:#e8f5e9}.set-lost{color:var(--loss);background:#ffebee}.possible-paths{padding:.5rem 1rem;background:#fafafa;border-top:1px solid var(--border)}.paths-header{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-bottom:.4rem}.path-row{display:flex;gap:.5rem;padding:.25rem 0;font-size:.8rem}.path-rank{font-weight:600;color:var(--blue);white-space:nowrap;min-width:50px}.path-details{display:flex;flex-direction:column;gap:.15rem}.path-play{color:var(--text)}.path-work{color:var(--text-light);font-size:.75rem}.events-list{display:flex;flex-direction:column;gap:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;min-height:100vh;color:#2a2a2a}#root{width:100%}
