@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;font-family:var(--font-body)}.btn:focus{outline:none;box-shadow:0 0 0 3px #aee92b4d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.875rem}.btn-md{padding:.5rem 1rem;font-size:1rem}.btn-lg{padding:.75rem 1.5rem;font-size:1.125rem}.btn-primary{background-color:var(--lime);color:var(--forest);border-color:var(--lime)}.btn-primary:hover:not(:disabled){background-color:var(--lime-dark);border-color:var(--lime-dark)}.btn-secondary{background-color:var(--forest);color:var(--text-inverse);border-color:var(--forest)}.btn-secondary:hover:not(:disabled){background-color:var(--forest-dark);border-color:var(--forest-dark)}.btn-outline{background-color:transparent;color:var(--forest);border-color:var(--forest)}.btn-outline:hover:not(:disabled){background-color:var(--forest);color:var(--text-inverse)}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background-color:var(--bg-hover)}.navbar .btn-ghost{color:var(--text-muted)}.navbar .btn-ghost:hover:not(:disabled){color:var(--forest);background-color:var(--bg-hover)}.btn-danger{background-color:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background-color:#c23636;border-color:#c23636}.btn-full{width:100%}.btn-loading{position:relative}.btn-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-text-loading{opacity:.7}@keyframes btn-spin{to{transform:rotate(360deg)}}.input-wrapper{display:flex;flex-direction:column;gap:.25rem}.input-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.input-required{color:var(--danger);margin-left:.125rem}.input{width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.5;color:var(--text-primary);background-color:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-body)}.input:disabled{background-color:var(--bg-inset);cursor:not-allowed}.input-error{border-color:var(--danger)}.input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #dc404026}.input-textarea{resize:vertical;min-height:80px}.input-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%237E8E7E' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.input-hint{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.input-error-message{font-size:.75rem;color:var(--danger);margin-top:.25rem}.card{background-color:#fff;border-radius:.5rem;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.card-clickable{cursor:pointer;transition:box-shadow .15s ease,transform .15s ease}.card-clickable:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.card-header-text{flex:1;min-width:0}.card-title{font-size:1rem;font-weight:600;color:#111827;margin:0}.card-subtitle{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}.card-actions{display:flex;align-items:center;gap:.5rem;margin-left:1rem}.card-body{padding:1.25rem}.card-body-no-padding{padding:0}.card-list-item{padding:.75rem 1.25rem;border-bottom:1px solid #f3f4f6}.card-list-item:last-child{border-bottom:none}.card-list-item-clickable{cursor:pointer;transition:background-color .15s ease}.card-list-item-clickable:hover{background-color:#f9fafb}.card-list-item-clickable:focus{outline:none;background-color:#f3f4f6}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}.loading-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#f3eee8d9;z-index:1000}.loading-spinner{border:3px solid var(--border-light);border-top-color:var(--lime);border-radius:50%;animation:loading-spin .8s linear infinite}.loading-sm{width:1.25rem;height:1.25rem;border-width:2px}.loading-md{width:2rem;height:2rem}.loading-lg{width:3rem;height:3rem;border-width:4px}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-text{font-size:.875rem;color:var(--text-muted);margin:0}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-light) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-xs)}.skeleton-rounded{border-radius:50%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{display:flex;flex-direction:column;gap:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;animation:modal-slide-in .15s ease}@keyframes modal-slide-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-sm{width:100%;max-width:24rem}.modal-md{width:100%;max-width:32rem}.modal-lg{width:100%;max-width:48rem}.modal-xl{width:100%;max-width:64rem}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;transition:background-color .15s,color .15s}.modal-close:hover{background-color:#f3f4f6;color:#111827}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.coaches-list{margin-top:16px}.coaches-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.coaches-list-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.coaches-list-loading,.coaches-list-empty{padding:32px;text-align:center;color:var(--text-muted);background-color:var(--bg-inset);border-radius:var(--radius-md)}.coaches-list-error{padding:12px 16px;background-color:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);margin-bottom:16px}.coaches-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.coach-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--bg-inset);border-radius:var(--radius-md);gap:16px}.coach-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.coach-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.you-badge{font-size:12px;font-weight:400;color:var(--text-muted)}.coach-role{font-size:13px;font-weight:500;padding:2px 8px;border-radius:var(--radius-xs);width:fit-content}.coach-role.role-head_coach{background-color:var(--sage-dark);color:var(--forest-dark)}.coach-role.role-assistant_coach{background-color:var(--success-bg);color:var(--success-dark)}.coach-role.role-team_manager{background-color:var(--warning-bg);color:var(--warning-dark)}.coach-role.role-scorekeeper{background-color:var(--sage);color:var(--forest)}.coach-role.role-volunteer{background-color:var(--bg-hover);color:var(--text-secondary)}.coach-email{font-size:13px;color:var(--text-muted)}.coach-actions,.coach-edit-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.coach-edit-actions select{min-width:150px}.transfer-hint{font-size:12px;color:var(--text-muted);font-style:italic}.transfer-warning{padding:12px;background-color:var(--warning-bg);border-radius:var(--radius-md);color:var(--warning-dark);font-size:14px;margin:12px 0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.pending-staff-requests{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-light)}.pending-requests-title{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--warning-dark)}.pending-request-card .staff-role-requested{font-size:13px;color:var(--warning-dark);font-weight:500}@media (max-width: 640px){.coach-item{flex-direction:column;align-items:flex-start}.coach-actions,.coach-edit-actions{width:100%;margin-top:12px;flex-wrap:wrap}.coach-edit-actions select{width:100%}}.family-list{display:flex;flex-direction:column;gap:1rem}.family-list-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--text-secondary, #666)}.family-spinner{width:24px;height:24px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--lime);border-radius:50%;animation:family-spin .8s linear infinite}@keyframes family-spin{to{transform:rotate(360deg)}}.family-list-error{padding:2rem;text-align:center;color:var(--danger-text, #dc2626)}.family-list-error button{margin-top:1rem;padding:.5rem 1rem;background:var(--danger-color, #dc2626);color:#fff;border:none;border-radius:6px;cursor:pointer}.family-list-empty{padding:3rem;text-align:center;color:var(--text-secondary, #666)}.family-player-group{background:var(--bg-secondary, #f8f9fa);border-radius:8px;overflow:hidden}.family-player-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:600;color:var(--text-primary, #111827);border-bottom:1px solid var(--border-color, #e5e7eb)}.family-jersey{font-size:.8125rem;font-weight:700;color:var(--text-secondary, #6b7280);background:var(--bg-tertiary, #e5e7eb);padding:.125rem .375rem;border-radius:4px}.family-player-name{font-size:.9375rem}.family-contacts{display:flex;flex-direction:column;gap:0}.family-contact-card{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.family-contact-card:last-child{border-bottom:none}.family-contact-info{display:flex;align-items:center;gap:.5rem}.family-contact-name{font-weight:500;color:var(--text-primary, #111827)}.family-relationship{font-size:.75rem;font-weight:400;padding:.125rem .5rem;background:var(--bg-tertiary, #e5e7eb);border-radius:9999px;color:var(--text-secondary, #666)}.family-contact-details{display:flex;align-items:center;gap:1rem}.family-contact-link{font-size:.875rem;color:var(--primary-color, #1b2d4e);text-decoration:none}.family-contact-link:hover{text-decoration:underline}@media (max-width: 640px){.family-contact-card{flex-direction:column;align-items:flex-start;gap:.375rem}.family-contact-details{flex-direction:column;align-items:flex-start;gap:.25rem}}.team-nav{display:flex;gap:.25rem;border-bottom:2px solid var(--border-light);margin-bottom:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.team-nav-link{padding:.5rem .875rem;font-size:.8125rem;font-weight:500;color:var(--text-muted);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.team-nav-link:hover{color:var(--text-secondary)}.team-nav-link.active{color:var(--forest);border-bottom-color:var(--lime);font-weight:600}.event-list{display:flex;flex-direction:column;gap:0}.event-list-row{display:flex;align-items:center;gap:1rem;padding:0 1rem;height:44px;background:var(--bg-card);border:1px solid var(--border-light);border-bottom:none;cursor:pointer;transition:background-color var(--transition-fast)}.event-list-row:first-child{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.event-list-row:last-child{border-bottom:1px solid var(--border-light);border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.event-list-row:hover{background-color:var(--bg-inset)}.event-list-row:focus{outline:none;background-color:var(--bg-hover)}.event-row-type-indicator{width:4px;height:100%;min-height:2.5rem;border-radius:2px;flex-shrink:0}.event-row-type{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;padding:.25rem .5rem;border-radius:var(--radius-xs);color:var(--text-inverse);min-width:5rem;text-align:center;flex-shrink:0}.event-row-date{font-weight:600;color:var(--text-primary);min-width:4rem;flex-shrink:0}.event-row-day{font-size:.875rem;color:var(--text-muted);min-width:2.5rem;flex-shrink:0}.event-row-time{font-size:.875rem;color:var(--text-secondary);min-width:5rem;flex-shrink:0}.event-row-location{font-size:.875rem;color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-row-opponent{font-size:.875rem;color:var(--text-secondary);font-weight:500;min-width:8rem;text-align:right;flex-shrink:0}.event-row-opponent-suffix{color:var(--text-faint);font-weight:400;margin-left:.25rem}.event-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.event-list-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.4}.event-list-empty-message{font-size:1rem;color:var(--text-muted);margin-bottom:1rem}.event-list-empty-action{margin-top:.5rem}.calendar-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-list-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.event-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.event-filter-chip{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-full);border:1px solid var(--border-light);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.event-filter-chip:hover{border-color:var(--forest);background:var(--bg-inset)}.event-filter-chip.selected{background:var(--forest);border-color:var(--forest);color:var(--text-inverse)}.event-filter-chip.selected[data-type=game]{background:var(--forest);border-color:var(--forest)}.event-filter-chip.selected[data-type=scrimmage]{background:var(--forest-light);border-color:var(--forest-light)}.event-filter-chip.selected[data-type=practice]{background:var(--success);border-color:var(--success)}.event-filter-chip.selected[data-type=other]{background:#737373;border-color:#737373}.rsvp-chips{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-left:auto;overflow:hidden}.rsvp-chip{display:flex;align-items:center;gap:0;height:20px;padding:0 4px;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:4px;white-space:nowrap;overflow:hidden}.rsvp-chip>span{font-family:var(--font-body);font-size:10px!important;line-height:20px!important;font-weight:700;font-variant-numeric:tabular-nums;display:inline-block}.rsvp-chip__label{color:var(--text-muted);font-size:9px!important;letter-spacing:.04em;margin-right:3px}.rsvp-chip__yes{color:var(--success);min-width:11px;text-align:center}.rsvp-chip__no{color:var(--danger);min-width:11px;text-align:center}.rsvp-chip__maybe{color:var(--warning);min-width:11px;text-align:center}.event-row-score-btn{font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:var(--radius-xs);border:1px solid var(--lime);background:var(--lime);color:var(--forest);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background-color var(--transition-fast)}.event-row-score-btn:hover{background:var(--lime-dark);border-color:var(--lime-dark)}.event-row-score-btn:focus{outline:2px solid var(--lime);outline-offset:1px}.event-row-final-score{font-size:.75rem;font-weight:700;padding:.25rem .625rem;border-radius:var(--radius-xs);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.score-result-letter{margin-right:.25rem;font-weight:800}.event-row-final-score.score-win{background:var(--success-bg, rgba(34, 197, 94, .12));color:var(--success, #22c55e);border:1px solid var(--success, #22c55e)}.event-row-final-score.score-loss{background:var(--danger-bg, rgba(239, 68, 68, .12));color:var(--danger, #ef4444);border:1px solid var(--danger, #ef4444)}.event-row-final-score.score-tie{background:var(--warning-bg, rgba(234, 179, 8, .12));color:var(--warning, #eab308);border:1px solid var(--warning, #eab308)}@media (max-width: 600px){.event-list-row{flex-wrap:wrap;gap:.5rem;padding:.75rem;height:auto;min-height:44px}.event-row-type{min-width:auto;font-size:.625rem;padding:.2rem .4rem}.event-row-date,.event-row-day,.event-row-time{min-width:auto}.event-row-location{flex-basis:100%;order:10;margin-top:.25rem}.event-row-opponent{min-width:auto;text-align:left}.event-filter-bar{gap:.375rem}.event-filter-chip{padding:.25rem .625rem;font-size:.8125rem}.event-row-score-btn{order:11;margin-top:.25rem}.rsvp-chips{order:9;margin-left:0}}.time-picker{display:flex;align-items:center;gap:.5rem}.time-picker-select{flex:1;min-width:0}.time-picker-period{display:flex;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.time-picker-period-btn{padding:.5rem .75rem;font-size:.875rem;font-weight:500;border:none;background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.time-picker-period-btn:first-child{border-right:1px solid var(--border-default)}.time-picker-period-btn.active{background-color:var(--forest);color:var(--text-inverse)}.time-picker-period-btn:hover:not(.active){background-color:var(--bg-hover)}.places-autocomplete{position:relative;margin-bottom:.75rem}.places-autocomplete-input{width:100%;padding:.625rem .75rem;font-size:.9375rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background-color:var(--bg-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.places-autocomplete-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.places-autocomplete-input::placeholder{color:var(--text-faint)}.places-autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--bg-card);border:1px solid var(--border-light);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto}.places-autocomplete-loading,.places-autocomplete-no-results{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.875rem}.places-autocomplete-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.625rem .75rem;border:none;background:transparent;cursor:pointer;text-align:left;border-bottom:1px solid var(--bg-hover);transition:background-color .1s}.places-autocomplete-item:last-child{border-bottom:none}.places-autocomplete-item:hover{background-color:var(--sage)}.places-autocomplete-item:focus{outline:none;background-color:var(--sage-dark)}.places-autocomplete-main{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.places-autocomplete-secondary{font-size:.8125rem;color:var(--text-muted);margin-top:.125rem}.location-picker{margin:.75rem 0}.saved-locations{margin-bottom:.75rem}.saved-locations-toggle{background:none;border:none;color:var(--forest);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline}.saved-locations-toggle:hover{color:var(--forest-dark)}.saved-locations-list{margin-top:.5rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);max-height:160px;overflow-y:auto}.saved-location-item-wrapper{display:flex;align-items:center;border-bottom:1px solid var(--bg-hover)}.saved-location-item-wrapper:last-child{border-bottom:none}.saved-location-item{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:.5rem .75rem;border:none;background:var(--bg-card);cursor:pointer;text-align:left;transition:background-color .1s}.saved-location-item:hover{background-color:var(--sage)}.saved-location-remove{background:none;border:none;color:var(--text-faint);font-size:1.25rem;line-height:1;cursor:pointer;padding:.5rem;transition:color .1s}.saved-location-remove:hover{color:var(--danger)}.saved-location-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.saved-location-address{font-size:.75rem;color:var(--text-muted)}.location-map-preview{margin-top:.75rem;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-light)}.map-preview-img{width:100%;height:auto;display:block}.location-map-container{height:300px;margin-top:.75rem;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-light);position:relative}.location-map-placeholder{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--bg-inset);color:var(--text-muted);font-size:.875rem}.location-map-interactive{cursor:crosshair}.location-api-error{padding:.75rem;margin-bottom:.75rem;background-color:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-sm);color:var(--danger-dark);font-size:.875rem}.directions-link{display:inline-flex;align-items:center;margin-top:.5rem;color:var(--forest);font-size:.875rem;text-decoration:none}.directions-link:hover{text-decoration:underline}.save-location-btn{display:inline-block;margin-top:.5rem;padding:.375rem .75rem;background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.save-location-btn:hover{background-color:var(--bg-inset);border-color:var(--text-faint)}.save-location-btn:disabled{opacity:.5;cursor:not-allowed}.location-geocoding-notice{padding:.5rem .75rem;margin-bottom:.75rem;background-color:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--radius-sm);color:var(--warning-dark);font-size:.8125rem}.recurrence-config{margin:1rem 0}.recurrence-toggle{margin-bottom:.75rem}.toggle-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-switch{position:relative;width:44px;height:24px;background-color:var(--border-default);border:none;border-radius:12px;cursor:pointer;transition:background-color .2s ease;padding:0}.toggle-switch.active{background-color:var(--lime)}.toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--bg-card);border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-knob{transform:translate(20px)}.recurrence-options{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.day-chips{display:flex;gap:.375rem}.day-chip{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.day-chip.active{background-color:var(--forest);border-color:var(--forest);color:var(--text-inverse)}.day-chip:hover:not(.active){background-color:var(--bg-hover)}.end-condition{display:flex;flex-direction:column;gap:.5rem}.end-option{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.end-count-input{width:60px;padding:.25rem .5rem;text-align:center}.end-date-input{padding:.25rem .5rem}.recurrence-summary{padding:.5rem .75rem;background:var(--sage);border:1px solid var(--lime-muted);border-radius:var(--radius-sm);font-size:.875rem;color:var(--forest-dark)}.recurrence-summary.warning{background:var(--warning-bg);border-color:var(--warning);color:var(--warning-dark)}.recurrence-warning{margin-top:.25rem;font-size:.75rem;font-weight:500}.series-delete-options{display:flex;flex-direction:column;gap:.75rem}.series-delete-option{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;color:var(--text-secondary);cursor:pointer}.series-delete-option input[type=radio]{accent-color:var(--forest)}.edit-scope-description{margin:0 0 1rem;color:var(--text-muted);font-size:.9375rem}.edit-scope-options{display:flex;flex-direction:column;gap:.75rem}.edit-scope-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.edit-scope-option:hover{background-color:var(--bg-inset);border-color:var(--border-default)}.edit-scope-option:has(input:checked){border-color:var(--forest);background-color:var(--sage)}.edit-scope-option input[type=radio]{margin-top:2px;accent-color:var(--forest)}.edit-scope-option-content{display:flex;flex-direction:column;gap:.125rem}.edit-scope-option-title{font-weight:500;color:var(--text-primary)}.edit-scope-option-desc{font-size:.8125rem;color:var(--text-muted)}.conflict-modal-content{display:flex;flex-direction:column;gap:.75rem}.conflict-warning{margin:0;font-size:.9375rem;color:var(--text-primary)}.conflict-description{margin:0;color:var(--text-muted);font-size:.875rem}.conflict-options-list{margin:.5rem 0 0;padding-left:1.25rem;color:var(--text-secondary);font-size:.875rem}.conflict-options-list li{margin-bottom:.5rem}.conflict-modal-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-mode-banner{padding:.5rem .75rem;background:var(--sage);border:1px solid var(--lime-muted);border-radius:var(--radius-sm);font-size:.875rem;color:var(--forest-dark);margin-bottom:1rem}.event-status-badge.modified{background-color:var(--warning-bg);color:var(--warning-dark)}.attendance-list{margin-top:24px;border-top:1px solid #e5e7eb;padding-top:24px}.attendance-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:20px}.attendance-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.attendance-summary{display:flex;gap:6px;flex-wrap:wrap}.summary-item{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.summary-item.attending{background-color:#dcfce7;color:#166534}.summary-item.not-attending{background-color:#fee2e2;color:#991b1b}.summary-item.maybe{background-color:#fef3c7;color:#92400e}.summary-item.no-response{background-color:#f3f4f6;color:#6b7280}.attendance-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title{font-size:14px;font-weight:600;color:#374151;margin:0;text-transform:uppercase;letter-spacing:.05em}.section-summary{display:flex;gap:3px;align-items:center}.section-summary-item{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-size:10px;font-weight:700;border-radius:9px;padding:0 4px;font-variant-numeric:tabular-nums}.section-summary-item.attending{background-color:var(--success-light, #dcfce7);color:var(--success, #166534)}.section-summary-item.not-attending{background-color:var(--danger-light, #fee2e2);color:var(--danger, #991b1b)}.section-summary-item.maybe{background-color:var(--warning-light, #fef3c7);color:var(--warning, #92400e)}.section-summary-item.no-response{background-color:var(--bg-inset, #f3f4f6);color:var(--text-muted, #6b7280)}.attendance-items{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.attendance-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:#f9fafb;border-radius:8px;gap:12px}.attendance-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.attendance-name{font-weight:500;color:#111827;display:flex;align-items:center;gap:8px}.jersey-number{font-size:12px;font-weight:600;color:#6b7280;background-color:#e5e7eb;padding:2px 6px;border-radius:4px}.staff-role{font-size:12px;font-weight:400;color:#6b7280;margin-left:4px}.response-badge{font-size:13px;font-weight:500;padding:4px 10px;border-radius:16px;white-space:nowrap}.badge-attending{background-color:#dcfce7;color:#166534}.badge-not-attending{background-color:#fee2e2;color:#991b1b}.badge-maybe{background-color:#fef3c7;color:#92400e}.badge-no-response{background-color:#f3f4f6;color:#6b7280}.attendance-response-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.submitted-by{font-size:10px;color:var(--text-faint, #a3b0a3);font-style:italic;line-height:1}.response-toggle-group{display:flex;gap:6px;align-items:center;flex-shrink:0}.response-toggle{padding:4px 12px;font-size:13px;font-weight:500;border:1px solid #d1d5db;border-radius:16px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s ease}.response-toggle:hover:not(:disabled){border-color:#9ca3af;background:#f3f4f6}.response-toggle:disabled{opacity:.5;cursor:not-allowed}.response-toggle.toggle-attending{background-color:#dcfce7;color:#166534;border-color:#86efac}.response-toggle.toggle-not-attending{background-color:#fee2e2;color:#991b1b;border-color:#fca5a5}.response-toggle.toggle-maybe{background-color:#fef3c7;color:#92400e;border-color:#fcd34d}.attendance-note{font-size:13px;color:#6b7280;font-style:italic;margin-top:16px;padding:12px;background-color:#f9fafb;border-radius:8px}@media (max-width: 640px){.attendance-header{flex-direction:column}.attendance-summary{flex-direction:column;gap:8px;width:100%}.summary-item{text-align:center}.attendance-item{flex-direction:column;align-items:flex-start;gap:12px}.attendance-info{width:100%;justify-content:space-between}.response-toggle-group{width:100%;justify-content:flex-start;flex-wrap:wrap}}.srv{--srv-bg: #0d1117;--srv-surface: #161b22;--srv-surface-2: #1c2128;--srv-surface-3: #21262d;--srv-border: #30363d;--srv-border-accent: #3d444d;--srv-text: #e6edf3;--srv-text-secondary: #8b949e;--srv-text-muted: #6e7681;--srv-lime: #aee92b;--srv-lime-dim: rgba(174, 233, 43, .15);--srv-forest: #1a472a;--srv-red: #f85149;--srv-blue: #58a6ff;--srv-amber: #d29922;--srv-green: #3fb950;--srv-mono: "JetBrains Mono", "SF Mono", monospace;max-width:1080px;margin:0 auto;margin-top:1.5rem;padding:2rem .75rem;background:var(--srv-bg);color:var(--srv-text);min-height:100vh;font-family:"Outfit",var(--font-body, sans-serif)}.srv-banner{position:relative;background:var(--srv-surface);border:1px solid var(--srv-border);border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;overflow:hidden}.srv-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--srv-lime),var(--srv-green),var(--srv-lime))}.srv-banner:after{content:"";position:absolute;top:0;right:0;width:200px;height:100%;background:linear-gradient(135deg,transparent 40%,var(--srv-lime-dim) 100%);pointer-events:none}.srv-banner-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.375rem}.srv-banner-left{display:flex;align-items:center;gap:.75rem;min-width:0}.srv-banner-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.srv-player-badge{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:1.125rem;font-weight:800;color:var(--srv-lime)}.srv-report-type{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:var(--srv-lime-dim);color:var(--srv-lime);border-radius:4px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.srv-report-type:before{content:"◆";font-size:.5rem}.srv-title{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:1.5rem;font-weight:800;line-height:1;margin:0;letter-spacing:-.02em;color:#fff}.srv-meta-row{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;font-size:.8125rem;color:var(--srv-text-secondary)}.srv-meta-item{display:flex;align-items:center;gap:.375rem}.srv-meta-item:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--srv-text-muted)}.srv-meta-item:first-child:before{display:none}.srv-meta-highlight{color:var(--srv-lime);font-weight:600}.srv-meta-pos{display:inline-block;margin-left:.375rem;padding:.0625rem .375rem;background:var(--srv-surface-3);border-radius:3px;font-size:.6875rem;font-weight:600;color:var(--srv-text-secondary)}.srv-section{margin-bottom:1rem}.srv-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.625rem;padding-bottom:.5rem;border-bottom:1px solid var(--srv-border)}.srv-section-title{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--srv-text-secondary);margin:0}.srv-section-count{font-family:var(--srv-mono);font-size:.6875rem;color:var(--srv-text-muted);background:var(--srv-surface-3);padding:.125rem .5rem;border-radius:3px}.srv-section-line{flex:1;height:1px;background:var(--srv-border)}.srv-player-card{background:var(--srv-surface);border:1px solid var(--srv-border);border-radius:6px;margin-bottom:.375rem;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.srv-player-card:hover{border-color:var(--srv-border-accent)}.srv-player-card.expanded{border-color:var(--srv-lime);box-shadow:0 0 0 1px var(--srv-lime-dim)}.srv-pc-jersey{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:5px;background:var(--srv-surface-3);border:1px solid var(--srv-border-accent);font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:.8125rem;font-weight:800;color:var(--srv-lime);flex-shrink:0}.srv-pc-pos{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background:var(--srv-surface-3);border:1px solid var(--srv-border);border-radius:3px;font-family:var(--srv-mono);font-size:.625rem;font-weight:600;color:var(--srv-text-secondary);text-transform:uppercase;letter-spacing:.06em;vertical-align:middle}.srv-pc-header{display:flex;align-items:center;gap:.625rem;padding:.5rem .875rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s ease}.srv-pc-header:hover{background:var(--srv-surface-2)}.srv-pc-name{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:.9375rem;font-weight:700;color:var(--srv-text);margin:0;flex:1;min-width:0}.srv-pc-name .srv-pc-team{font-weight:400;font-size:.8125rem;color:var(--srv-text-muted);margin-left:.5rem}.srv-grades{display:flex;gap:.5rem;align-items:center}.srv-grade{display:flex;flex-direction:column;align-items:center;gap:.125rem}.srv-grade-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:.875rem;font-weight:800;color:#fff;position:relative}.srv-grade-circle:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid currentColor;opacity:.25}.srv-grade-circle--elite{background:#16a34a;color:#16a34a}.srv-grade-circle--plus{background:#2563eb;color:#2563eb}.srv-grade-circle--avg{background:#d97706;color:#d97706}.srv-grade-circle--below{background:#dc2626;color:#dc2626}.srv-grade-circle span{color:#fff;position:relative;z-index:1}.srv-grade-label{font-size:.5625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--srv-text-muted)}.srv-pc-chevron{color:var(--srv-text-muted);font-size:.75rem;transition:transform .2s ease;flex-shrink:0;margin-left:.5rem}.srv-pc-chevron.open{transform:rotate(180deg)}.srv-pc-body{border-top:1px solid var(--srv-border);padding:.75rem;animation:srv-slideDown .2s ease}@keyframes srv-slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.srv-stat-block{margin-bottom:.75rem}.srv-stat-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--srv-text-muted);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.srv-stat-label:after{content:"";flex:1;height:1px;background:var(--srv-border)}.srv-stat-table{width:100%;border-collapse:collapse;font-size:.75rem}.srv-stat-table th{font-family:var(--srv-mono);font-weight:600;font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;color:var(--srv-text-muted);padding:.25rem .375rem;text-align:center;background:var(--srv-surface-2);border-bottom:1px solid var(--srv-border);white-space:nowrap}.srv-stat-table td{font-family:var(--srv-mono);font-size:.75rem;font-weight:500;color:var(--srv-text);padding:.3125rem .375rem;text-align:center;border-bottom:1px solid var(--srv-border)}.srv-stat-table td.srv-stat-highlight{color:var(--srv-lime);font-weight:700}.srv-analytics{margin-top:.75rem}.srv-analytics-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.srv-analytics-title{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--srv-lime);margin:0}.srv-analytics-header:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--srv-lime-dim),transparent)}.srv-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.5rem}.srv .sc-chart{background:var(--srv-surface-2);border-color:var(--srv-border);color:var(--srv-text)}.srv .sc-chart-title{color:var(--srv-text-secondary)}.srv .sc-legend-item{color:var(--srv-text-muted)}.srv .sc-spray-field{fill:var(--srv-surface-3);stroke:var(--srv-border-accent)}.srv .sc-spray-infield{fill:var(--srv-surface);stroke:var(--srv-border-accent)}.srv .sc-spray-lines{stroke:var(--srv-border-accent)}.srv .sc-zone-outline{stroke:var(--srv-lime);stroke-width:1.5}.srv .sc-zone-grid{stroke:var(--srv-border)}.srv .sc-heatmap-cell{color:var(--srv-text)}.srv .sc-heatmap-cell--zone,.srv .sc-heatmap-cell--outer{border-color:var(--srv-border)}.srv .sc-heatmap-scale{color:var(--srv-text-muted)}.srv .sc-pitchmix-label{color:var(--srv-text)}.srv .sc-pitchmix-bar-wrap{background:var(--srv-surface-3)}.srv .sc-pitchmix-stats{color:var(--srv-text-secondary)}.srv .sc-count-table th,.srv .sc-eff-table th{color:var(--srv-text-muted);background:var(--srv-surface-3);border-color:var(--srv-border)}.srv .sc-count-table td,.srv .sc-eff-table td{color:var(--srv-text);border-color:var(--srv-border)}.srv .sc-count-table tbody tr:hover,.srv .sc-eff-table tbody tr:hover{background:var(--srv-surface-2)}.srv .sc-count--ahead{background:#3fb95014}.srv .sc-count--behind{background:#f8514914}.srv .sc-count--even{background:var(--srv-surface-2)}.srv .sc-eff-highlight--good{color:#4ade80;font-weight:700}.srv .sc-eff-highlight--great{color:#4ade80;font-weight:700;background:#4ade8026}.srv .sc-spray-field,.srv .sc-spray-infield{fill:none}.srv-comparison-wrap{overflow-x:auto;border:1px solid var(--srv-border);border-radius:8px;background:var(--srv-surface)}.srv-comparison{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:850px}.srv-comparison th{font-family:var(--srv-mono);font-weight:600;font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;color:var(--srv-text-muted);padding:.375rem .5rem;text-align:center;background:var(--srv-surface-2);border-bottom:2px solid var(--srv-border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color .1s ease}.srv-comparison th:hover,.srv-comparison th.srv-sorted{color:var(--srv-lime)}.srv-comparison td{font-family:var(--srv-mono);font-size:.75rem;font-weight:500;color:var(--srv-text);padding:.3125rem .5rem;text-align:center;border-bottom:1px solid var(--srv-border);white-space:nowrap}.srv-comparison td:first-child{font-family:"Bricolage Grotesque",var(--font-display, sans-serif);font-weight:700;text-align:left;color:var(--srv-text)}.srv-comparison td:nth-child(2){font-family:"Outfit",var(--font-body, sans-serif);text-align:left;color:var(--srv-text-muted);font-weight:400}.srv-comparison th:first-child,.srv-comparison th:nth-child(2){text-align:left}.srv-comparison tbody tr{transition:background .1s ease}.srv-comparison tbody tr:hover{background:var(--srv-surface-2)}.srv-comparison .srv-stat-hot{color:var(--srv-green);font-weight:700}.srv-comparison .srv-stat-cold{color:var(--srv-red)}.srv-actions{display:flex;gap:.5rem;margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--srv-border)}.srv-btn{padding:.5rem 1.25rem;border-radius:6px;font-family:"Outfit",var(--font-body, sans-serif);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid var(--srv-border)}.srv-btn--back{background:var(--srv-surface);color:var(--srv-text)}.srv-btn--back:hover{background:var(--srv-surface-2);border-color:var(--srv-border-accent)}.srv-btn--danger{background:transparent;color:var(--srv-red);border-color:#f851494d}.srv-btn--danger:hover{background:#f851491a;border-color:var(--srv-red)}.srv-grades-display{display:flex;gap:1.5rem;padding:.75rem 1rem;background:var(--srv-surface);border:1px solid var(--srv-border);border-radius:6px;margin-bottom:1rem}.srv-grade-display-item{display:flex;align-items:center;gap:.75rem}.srv-grade-display-label{font-size:.8125rem;font-weight:600;color:var(--srv-text-secondary);text-transform:uppercase;letter-spacing:.06em}.srv-empty{text-align:center;padding:1.5rem 1rem;color:var(--srv-text-muted);background:var(--srv-surface);border:1px dashed var(--srv-border);border-radius:6px;font-size:.875rem}@media (max-width: 768px){.srv{padding:0 .5rem 1.5rem}.srv-banner{padding:.875rem 1rem}.srv-title{font-size:1.125rem}.srv-banner-top{flex-direction:column;gap:.375rem}.srv-analytics-grid{grid-template-columns:1fr}.srv-grade-circle{width:32px;height:32px;font-size:.8125rem}.srv-grades-display{flex-direction:column;gap:.75rem}}@media (max-width: 480px){.srv-pc-header{flex-wrap:wrap}.srv-grades{width:100%;justify-content:flex-start}.srv-comparison-wrap{margin:0 -.75rem;border-radius:0;border-left:none;border-right:none}.srv-meta-row{flex-direction:column;gap:.375rem;align-items:flex-start}.srv-meta-item:before{display:none}}.sc-chart{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem}.sc-chart-title{font-family:var(--font-display);font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem}.sc-spray{display:flex;flex-direction:column;align-items:center}.sc-spray svg{max-width:300px;width:100%;height:auto}.sc-spray-field{fill:var(--sage-light);stroke:var(--border-default);stroke-width:1}.sc-spray-infield{fill:var(--dust);stroke:var(--border-default);stroke-width:.5}.sc-spray-lines{stroke:var(--border-default);stroke-width:.5;stroke-dasharray:4 2}.sc-spray-dot{stroke:#0000004d;stroke-width:.5;cursor:default;transition:r .15s ease}.sc-spray-dot:hover{filter:brightness(1.1)}.sc-spray-dot--hit{fill:#3da542}.sc-spray-dot--out{fill:#dc4040}.sc-spray-dot--other{fill:#d4920a}.sc-legend{display:flex;gap:1rem;justify-content:center;margin-top:.625rem;flex-wrap:wrap}.sc-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-muted)}.sc-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sc-legend-dot--hit{background:#3da542}.sc-legend-dot--out{background:#dc4040}.sc-legend-dot--other{background:#d4920a}.sc-pitch-loc{display:flex;flex-direction:column;align-items:center}.sc-pitch-loc svg{max-width:250px;width:100%;height:auto}.sc-zone-grid{fill:none;stroke:var(--border-default);stroke-width:.5}.sc-zone-outline{fill:none;stroke:var(--forest);stroke-width:1.5}.sc-pitch-dot{stroke:#0003;stroke-width:.5}.sc-pitch-dot--ball{fill:#3da542}.sc-pitch-dot--strike{fill:#dc4040}.sc-pitch-dot--foul{fill:#d4920a}.sc-pitch-dot--inplay{fill:#3b82c6}.sc-heatmap{display:flex;flex-direction:column;align-items:center}.sc-heatmap-grid{display:grid;grid-template-columns:repeat(3,60px);grid-template-rows:auto repeat(3,60px) auto;gap:2px;margin:0 auto}.sc-heatmap-cell{display:flex;align-items:center;justify-content:center;border-radius:3px;font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;font-weight:600;color:var(--text-primary);min-height:40px;transition:transform .1s ease}.sc-heatmap-cell:hover{transform:scale(1.05)}.sc-heatmap-cell--zone{border:1px solid rgba(0,0,0,.1)}.sc-heatmap-outer-row{display:flex;justify-content:center;gap:2px;grid-column:1 / -1}.sc-heatmap-cell--outer{width:90px;min-height:36px;border:1px dashed var(--border-default);border-radius:3px;font-size:.75rem}.sc-heatmap-scale{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;font-size:.6875rem;color:var(--text-muted)}.sc-heatmap-scale-bar{width:80px;height:8px;border-radius:4px;background:linear-gradient(to right,#dc40401a,#dc4040e6)}.sc-pitchmix{width:100%}.sc-pitchmix-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.sc-pitchmix-label{width:72px;font-size:.8125rem;font-weight:600;color:var(--text-primary);text-align:right;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sc-pitchmix-bar-wrap{flex:1;height:22px;background:var(--bg-inset);border-radius:var(--radius-sm);overflow:hidden;position:relative}.sc-pitchmix-bar{height:100%;border-radius:var(--radius-sm);transition:width .4s ease;min-width:2px}.sc-pitchmix-bar--fastball{background:#dc4040}.sc-pitchmix-bar--breaking{background:#3b82c6}.sc-pitchmix-bar--offspeed{background:#3da542}.sc-pitchmix-stats{width:72px;font-family:SF Mono,Fira Code,monospace;font-size:.75rem;color:var(--text-muted);flex-shrink:0;white-space:nowrap}.sc-count-table{width:100%;overflow-x:auto}.sc-count-table table{width:100%;border-collapse:collapse;font-size:.8125rem}.sc-count-table th,.sc-count-table td{padding:.375rem .5rem;text-align:center;border-bottom:1px solid var(--border-light)}.sc-count-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-inset);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.sc-count-table td{font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;color:var(--text-primary)}.sc-count-table td:first-child{font-family:var(--font-body);font-weight:600;text-align:left}.sc-count-table tbody tr:hover{background:var(--bg-hover)}.sc-count--ahead{background:var(--success-light)}.sc-count--behind{background:var(--danger-light)}.sc-count--even{background:var(--bg-inset)}.sc-eff-table{width:100%;overflow-x:auto}.sc-eff-table table{width:100%;border-collapse:collapse;font-size:.8125rem}.sc-eff-table th,.sc-eff-table td{padding:.375rem .5rem;text-align:center;border-bottom:1px solid var(--border-light)}.sc-eff-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-inset);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.sc-eff-table td{font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;color:var(--text-primary)}.sc-eff-table td:first-child{font-family:var(--font-body);font-weight:600;text-align:left;white-space:nowrap}.sc-eff-table tbody tr:hover{background:var(--bg-hover)}.sc-eff-highlight--good{color:#4ade80;font-weight:700}.sc-eff-highlight--great{color:#fff;font-weight:700;background:#4ade8033}.sc-hotcold-scale-bar{width:80px;height:8px;border-radius:4px;background:linear-gradient(to right,#2864dccc,#c8aa3280,#dc2828d9)}@media (max-width: 480px){.sc-heatmap-grid{grid-template-columns:repeat(3,50px);grid-template-rows:auto repeat(3,50px) auto}.sc-heatmap-cell--outer{width:75px}.sc-pitchmix-label{width:56px;font-size:.75rem}.sc-pitchmix-stats{width:60px;font-size:.6875rem}.sc-count-table,.sc-eff-table{margin:0 -.5rem}}.join-request-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.join-request-form-container{background:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding:24px;position:relative}.close-button{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:var(--text-faint);cursor:pointer;padding:4px;line-height:1}.close-button:hover{color:var(--text-muted)}.join-request-form-container h2{margin:0 0 8px;font-size:22px;font-weight:600;color:var(--text-primary)}.form-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:15px}.form-section{margin-bottom:20px}.form-label{display:block;font-weight:500;color:var(--text-secondary);margin-bottom:8px;font-size:14px}.relationship-options{display:flex;flex-direction:column;gap:8px}.relationship-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s,background-color .2s}.relationship-option:hover{border-color:var(--border-default);background-color:var(--bg-inset)}.relationship-option.selected{border-color:var(--forest);background-color:var(--sage)}.relationship-option input[type=radio]{margin-top:2px;flex-shrink:0}.option-content{display:flex;flex-direction:column;gap:2px}.option-label{font-weight:500;color:var(--text-primary);font-size:15px}.option-description{font-size:13px;color:var(--text-muted)}.form-textarea{width:100%;padding:12px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:14px;font-family:inherit;resize:vertical;min-height:80px}.form-textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.char-count{display:block;text-align:right;font-size:12px;color:var(--text-faint);margin-top:4px}.form-error{padding:12px;background-color:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);font-size:14px;margin-bottom:16px}.validation-hint{font-size:13px;color:var(--warning);margin-bottom:16px;padding:8px 12px;background-color:var(--warning-bg);border-radius:var(--radius-sm);border-left:3px solid var(--warning)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.cancel-button{padding:10px 20px;background-color:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .2s}.cancel-button:hover:not(:disabled){background-color:var(--border-light)}.cancel-button:disabled{opacity:.6;cursor:not-allowed}.submit-button{padding:10px 20px;background-color:var(--forest);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:var(--forest-dark)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.join-request-success{text-align:center;padding:32px 16px}.success-icon{width:64px;height:64px;background-color:var(--success);color:#fff;font-size:32px;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.join-request-success h2{margin:0 0 8px;color:var(--text-primary)}.join-request-success p{color:var(--text-muted);margin:0}.existing-request-info{text-align:center;padding:16px 0}.pending-icon{width:64px;height:64px;background-color:var(--warning-bg);color:var(--warning-dark);font-size:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.existing-request-info h2{margin:0 0 12px;color:var(--text-primary)}.existing-request-info p{color:var(--text-muted);margin:0 0 8px}.request-details{background-color:var(--bg-hover);padding:12px 16px;border-radius:var(--radius-md);margin:16px 0!important}.pending-note{font-size:14px;font-style:italic;margin-top:16px!important}.cancel-request-button{padding:10px 20px;background-color:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--danger);cursor:pointer;transition:background-color .2s}.cancel-request-button:hover:not(:disabled){background-color:#fee2e2}.cancel-request-button:disabled{opacity:.6;cursor:not-allowed}.team-search-page{max-width:800px;margin:0 auto;padding:24px}.team-search-page h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-primary)}.team-search-subtitle{color:var(--text-muted);margin-bottom:24px}.team-search-form{display:flex;gap:12px;margin-bottom:24px}.team-search-input{flex:1;padding:12px 16px;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:16px;outline:none;transition:border-color .2s,box-shadow .2s}.team-search-input:focus{border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.team-search-button{padding:12px 24px;background-color:var(--forest);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:background-color .2s}.team-search-button:hover:not(:disabled){background-color:var(--forest-dark)}.team-search-button:disabled{opacity:.6;cursor:not-allowed}.team-search-error{padding:12px 16px;background-color:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);margin-bottom:24px}.team-search-results h2,.team-roster-view h2{font-size:20px;font-weight:600;margin:0 0 16px;color:var(--text-primary)}.team-list{list-style:none;padding:0;margin:0}.team-list-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:12px;transition:box-shadow .2s}.team-list-item:hover{box-shadow:var(--shadow-md)}.team-info{display:flex;flex-direction:column;gap:4px}.team-name{font-weight:600;font-size:16px;color:var(--text-primary)}.team-details{font-size:14px;color:var(--text-muted)}.team-players{font-size:13px;color:var(--text-faint)}.team-select-button{padding:8px 16px;background-color:var(--bg-hover);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background-color .2s}.team-select-button:hover{background-color:var(--border-light)}.team-search-empty{text-align:center;padding:48px 24px;color:var(--text-muted);background-color:var(--bg-inset);border-radius:var(--radius-md)}.back-button{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:none;border:none;color:var(--forest);font-size:14px;cursor:pointer;margin-bottom:16px}.back-button:hover{text-decoration:underline}.selected-team-header{margin-bottom:16px}.roster-instructions{color:var(--text-muted);margin-bottom:16px}.roster-list{list-style:none;padding:0;margin:0}.roster-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:8px}.player-info{display:flex;align-items:center;gap:12px}.player-name{font-weight:500;color:var(--text-primary)}.player-number{font-size:13px;color:var(--text-muted);background-color:var(--bg-hover);padding:2px 8px;border-radius:var(--radius-xs)}.join-button{padding:8px 16px;background-color:var(--success);color:#fff;border:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.join-button:hover{background-color:var(--success-dark)}.roster-empty{text-align:center;padding:32px;color:var(--text-muted);background-color:var(--bg-inset);border-radius:var(--radius-md)}.team-public-view{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px}.selected-team-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:16px}.team-header-info h2{margin:0 0 4px}.staff-request-button{padding:10px 20px;background-color:var(--forest);color:var(--text-inverse);border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.staff-request-button:hover{background-color:var(--forest-dark)}.team-view-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-light);margin-bottom:20px}.team-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s}.team-tab:hover{color:var(--text-primary)}.team-tab.active{color:var(--forest);border-bottom-color:var(--lime)}.team-tab-content{min-height:200px}.tab-empty{text-align:center;padding:48px 24px;color:var(--text-muted);background-color:var(--bg-inset);border-radius:var(--radius-md)}.events-list{list-style:none;padding:0;margin:0}.event-item{display:flex;gap:20px;padding:16px;background-color:var(--bg-inset);border-radius:var(--radius-md);margin-bottom:10px}.event-date-col{min-width:100px;text-align:center}.event-date{display:block;font-weight:600;color:var(--text-primary);font-size:14px}.event-time{display:block;font-size:13px;color:var(--text-muted);margin-top:2px}.event-info-col{flex:1;display:flex;flex-direction:column;gap:4px}.event-title{font-weight:600;color:var(--text-primary)}.event-type-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;text-transform:uppercase;width:fit-content;background-color:var(--border-light);color:var(--text-secondary)}.event-type-badge[data-type=game]{background-color:var(--success-bg);color:var(--success-dark)}.event-type-badge[data-type=practice]{background-color:var(--sage-dark);color:var(--forest-dark)}.event-type-badge[data-type=tournament]{background-color:var(--warning-bg);color:var(--warning-dark)}.event-opponent{font-size:14px;color:var(--text-secondary)}.event-location{font-size:13px;color:var(--text-muted)}.event-rsvp-col{display:flex;gap:6px;align-items:center;flex-shrink:0}.event-rsvp-btn{padding:4px 12px;font-size:13px;font-weight:500;border:1px solid var(--border-default, #d1d5db);border-radius:16px;background:var(--bg-card, #fff);color:var(--text-muted, #6b7280);cursor:pointer;transition:all .15s ease}.event-rsvp-btn:hover:not(:disabled){border-color:var(--text-secondary, #9ca3af);background:var(--bg-inset, #f3f4f6)}.event-rsvp-btn:disabled{opacity:.5;cursor:not-allowed}.event-rsvp-btn.rsvp-yes{background-color:#dcfce7;color:#166534;border-color:#86efac}.event-rsvp-btn.rsvp-no{background-color:#fee2e2;color:#991b1b;border-color:#fca5a5}.event-rsvp-btn.rsvp-maybe{background-color:#fef3c7;color:#92400e;border-color:#fcd34d}.results-list{list-style:none;padding:0;margin:0}.result-item{display:flex;align-items:center;gap:20px;padding:16px;background-color:var(--bg-inset);border-radius:var(--radius-md);margin-bottom:10px}.result-date{min-width:100px;font-size:14px;color:var(--text-muted);text-align:center}.result-teams{flex:1;display:flex;align-items:center;justify-content:center;gap:16px}.result-team{display:flex;align-items:center;gap:12px;min-width:120px}.result-team:first-child{justify-content:flex-end}.result-team .team-name{font-weight:500;color:var(--text-secondary)}.result-team.our-team .team-name{font-weight:700;color:var(--text-primary)}.result-team .team-score{font-size:24px;font-weight:700;color:var(--text-primary);min-width:30px;text-align:center}.result-at{color:var(--text-faint);font-size:14px}.result-final{min-width:80px;text-align:center;font-size:13px;color:var(--text-muted);font-weight:500}@media (max-width: 640px){.result-teams{flex-direction:column;gap:8px}.result-team{min-width:auto;justify-content:space-between;width:100%}.result-team:first-child{justify-content:space-between}.result-at{display:none}}.contact-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary, #f8f9fa);border-radius:8px;margin-bottom:.5rem;transition:background-color .2s}.contact-card:hover{background:var(--bg-tertiary, #edf0f3)}.contact-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.contact-avatar{width:40px;height:40px;border-radius:50%;background:var(--forest);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.contact-details{flex:1;min-width:0}.contact-name{font-weight:500;color:var(--text-primary, #1a1a1a);display:flex;align-items:center;gap:.5rem}.contact-email{font-size:.875rem;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-relationship{font-size:.75rem;color:var(--text-tertiary, #888);margin-top:.25rem}.contact-status{font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;font-weight:500}.contact-status.pending{background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e)}.contact-actions{display:flex;gap:.5rem}.contact-edit{display:flex;align-items:center;gap:.75rem}.relationship-select{padding:.5rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.contact-list{display:flex;flex-direction:column;gap:1.5rem}.contact-group{display:flex;flex-direction:column;gap:.5rem}.group-contacts{display:flex;flex-direction:column}.contact-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary, #666);gap:1rem}.contact-list-empty{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.contact-list-empty p{margin:0}.add-contact-modal{padding:0}.field-hint{display:block;font-size:.8125rem;color:var(--text-tertiary, #888);margin-top:.375rem}.relationship-options{display:flex;flex-direction:column;gap:.75rem}.relationship-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:10px;cursor:pointer;transition:all .2s}.relationship-option:hover{border-color:var(--border-hover, #d1d5db);background:var(--bg-hover, #f9fafb)}.relationship-option.selected{border-color:var(--primary-color, #2a4470);background:var(--primary-bg, #f4fae8)}.relationship-option input[type=radio]{margin:.125rem 0 0;flex-shrink:0;accent-color:var(--primary-color, #2a4470)}.field-error{display:block;font-size:.8125rem;color:var(--danger-text, #dc2626);margin-top:.375rem}.input-error{border-color:var(--danger-color, #dc2626)!important}.input-error:focus{box-shadow:0 0 0 3px #dc26261a!important}.player-contacts-page{max-width:800px;margin:0 auto;padding:1.5rem}.contacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.contacts-header h2{margin:0;font-size:1.25rem}.error-message{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #dc2626);border-radius:8px;margin-bottom:1rem}@media (max-width: 640px){.player-contacts-page,.page-content{padding:1rem}.contacts-header{flex-direction:column;align-items:stretch;gap:1rem}}.staff-card{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary, #f8f9fa);border-radius:8px;margin-bottom:.5rem;transition:background-color .2s}.staff-card:hover{background:var(--bg-tertiary, #edf0f3)}.staff-info{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.staff-avatar{width:44px;height:44px;border-radius:50%;background:var(--forest-light);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;flex-shrink:0}.staff-details{flex:1;min-width:0}.staff-name{font-weight:500;color:var(--text-primary, #1a1a1a);display:flex;align-items:center;gap:.5rem}.staff-email{font-size:.875rem;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-role{font-size:.75rem;color:var(--primary-color, #2a4470);font-weight:500;margin-top:.25rem}.staff-status{font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;font-weight:500}.staff-status.pending{background:var(--warning-bg, #fef3c7);color:var(--warning-text, #92400e)}.staff-actions{display:flex;gap:.5rem}.btn-icon{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .2s}.btn-icon:hover{background:var(--bg-hover, #e5e7eb);color:var(--text-primary, #1a1a1a)}.btn-icon.btn-danger:hover{background:var(--danger-bg, #fee2e2);color:var(--danger-text, #dc2626)}.staff-edit{display:flex;align-items:center;gap:.75rem}.role-select{padding:.5rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer}.edit-actions{display:flex;gap:.5rem}.btn-cancel,.btn-save,.btn-danger{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--bg-hover, #d1d5db)}.btn-save:hover{background:var(--forest-dark)}.btn-danger{background:var(--danger-color, #dc2626);color:#fff}.btn-danger:hover{background:var(--danger-hover, #b91c1c)}.remove-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.remove-confirm{background:#fff;padding:1.5rem;border-radius:12px;max-width:400px;width:90%;text-align:center}.remove-confirm p{margin:0 0 .5rem}.remove-warning{font-size:.875rem;color:var(--text-secondary, #666);margin-bottom:1.5rem!important}.confirm-actions{display:flex;gap:1rem;justify-content:center}.staff-list{display:flex;flex-direction:column;gap:1.5rem}.staff-group{display:flex;flex-direction:column;gap:.5rem}.group-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.05em;margin:0;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #e5e7eb);display:flex;align-items:center;gap:.5rem}.group-count{font-weight:400;color:var(--text-tertiary, #888)}.group-staff{display:flex;flex-direction:column}.staff-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary, #666);gap:1rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}.staff-list-empty{text-align:center;padding:3rem;color:var(--text-secondary, #666)}.staff-list-empty p{margin:0}.empty-hint{font-size:.875rem;margin-top:.5rem!important;color:var(--text-tertiary, #888)}.invite-staff-modal{padding:0}.modal-subtitle{margin:0 0 1.5rem;color:var(--text-secondary, #666)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary, #1a1a1a)}.form-group input[type=email],.form-group input[type=text]{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.form-group input:disabled{background:var(--bg-disabled, #f3f4f6);cursor:not-allowed}.role-options{display:flex;flex-direction:column;gap:.75rem}.role-option{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:2px solid var(--border-color, #e5e7eb);border-radius:10px;cursor:pointer;transition:all .2s}.role-option:hover{border-color:var(--border-hover, #d1d5db);background:var(--bg-hover, #f9fafb)}.role-option.selected{border-color:var(--forest);background:var(--sage)}.role-option input[type=radio]{margin:.125rem 0 0;flex-shrink:0;accent-color:var(--forest)}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-label{font-weight:500;color:var(--text-primary, #1a1a1a)}.option-description{font-size:.8125rem;color:var(--text-secondary, #666)}.form-error{padding:.75rem 1rem;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #dc2626);border-radius:8px;margin-bottom:1rem;font-size:.875rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.btn-secondary,.btn-primary{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:var(--bg-secondary, #e5e7eb);color:var(--text-primary, #1a1a1a)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover, #d1d5db)}.btn-primary{background:var(--forest);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--forest-dark)}.btn-secondary:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.team-staff-page{max-width:800px;margin:0 auto;padding:1.5rem}.page-header{margin-bottom:2rem}.page-header h1{margin:1rem 0 .5rem;font-size:1.75rem}.team-name{margin:0;color:var(--text-secondary, #666);font-size:1rem}.page-content{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.staff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.staff-header h2{margin:0;font-size:1.25rem}.error-state{text-align:center;padding:3rem}.error-state h2{margin:0 0 1rem;color:var(--text-primary, #1a1a1a)}.error-message{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--danger-bg, #fee2e2);color:var(--danger-text, #dc2626);border-radius:var(--radius-md);margin-bottom:1rem}.error-message button{padding:.5rem 1rem;background:#fff;border:1px solid currentColor;border-radius:6px;color:inherit;cursor:pointer;font-size:.875rem}.error-message button:hover{background:#fffc}.staff-info-box{margin-top:1.5rem;padding:1rem;background:var(--info-bg, #f4fae8);border-radius:var(--radius-md);text-align:center}.staff-info-box p{margin:0;color:var(--info-text, #0f1a2b);font-size:.875rem}.pending-requests-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light)}.pending-requests-section h2{margin:0 0 1rem;font-size:1.125rem;color:var(--warning-dark)}.pending-requests-list{display:flex;flex-direction:column;gap:12px}.pending-request-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background-color:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--radius-md);gap:16px}.pending-request-card .request-info{display:flex;flex-direction:column;gap:4px;flex:1}.pending-request-card .requester-name{font-weight:600;color:var(--text-primary)}.pending-request-card .requester-email{font-size:13px;color:var(--text-muted)}.pending-request-card .staff-role-requested{font-size:13px;color:var(--warning-dark);font-weight:500;text-transform:capitalize}.pending-request-card .request-message{margin:8px 0 0;font-size:14px;color:var(--text-secondary);font-style:italic}.pending-request-card .request-actions{display:flex;gap:8px;flex-shrink:0}@media (max-width: 640px){.team-staff-page,.page-content{padding:1rem}.staff-header{flex-direction:column;align-items:stretch;gap:1rem}}.channel-sidebar{width:240px;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-right:1px solid var(--border-color, #e5e7eb);overflow-y:auto;flex-shrink:0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.sidebar-header h3{margin:0;font-size:.9375rem;font-weight:600}.create-channel-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;font-size:1.25rem;font-weight:500;color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.create-channel-btn:hover{background:var(--bg-hover, #e5e7eb);color:var(--primary-color, #1b2d4e)}.channel-list{flex:1;padding:.5rem 0}.channel-section{margin-bottom:.25rem}.section-header-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem 1rem .25rem;border:none;background:transparent;font-family:inherit;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #888);cursor:pointer;text-align:left}.section-header-btn:hover{color:var(--text-secondary, #555)}.section-chevron{font-size:.5rem;width:12px;text-align:center;flex-shrink:0}.section-count{margin-left:auto;font-size:.625rem;color:var(--text-tertiary, #aaa);font-weight:400}.channel-item-row{display:flex;align-items:center;position:relative}.channel-item-row:hover .favorite-btn{opacity:1}.channel-item{display:flex;align-items:center;gap:.5rem;flex:1;padding:.5rem 1rem;border:none;background:transparent;text-align:left;font-family:inherit;font-size:.875rem;color:var(--text-secondary, #555);cursor:pointer;transition:all .15s;border-radius:0;min-width:0}.channel-item:hover{background:var(--bg-hover, #e5e7eb)}.channel-item.active{background:#fff;color:var(--text-primary, #1a1a1a);font-weight:600;border-left:3px solid var(--forest, #2d5016);padding-left:calc(1rem - 3px)}.channel-item.unread .channel-name{font-weight:600;color:var(--text-primary, #1a1a1a)}.channel-item.archived{opacity:.6}.channel-item.archived .channel-name{font-style:italic}.channel-icon{font-size:.875rem;flex-shrink:0;width:20px;text-align:center;color:var(--text-tertiary, #888)}.channel-item.active .channel-icon{color:var(--forest, #2d5016)}.channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{flex-shrink:0;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--forest, #2d5016);color:#fff;font-size:.6875rem;font-weight:600;display:flex;align-items:center;justify-content:center}.favorite-btn{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:.75rem;color:var(--text-tertiary, #aaa);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s;margin-right:4px}.favorite-btn.favorited{opacity:1;color:var(--warning-color, #f59e0b)}.favorite-btn:hover{color:var(--warning-color, #f59e0b)}@media (max-width: 768px){.channel-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;width:280px;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 12px #00000026}.channel-sidebar.open{transform:translate(0)}.favorite-btn{opacity:1}}.channel-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.channel-back-btn{display:none;width:36px;height:36px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary, #666);cursor:pointer;align-items:center;justify-content:center}.channel-back-btn:hover{background:var(--bg-hover, #f3f4f6)}.channel-header-info{flex:1;min-width:0}.channel-header-title{display:flex;align-items:center;gap:.5rem}.channel-header-title h2{margin:0;font-size:1.0625rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-header-icon{font-size:1rem;color:var(--text-tertiary, #888)}.archived-badge{font-size:.6875rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-secondary, #666);flex-shrink:0}.channel-header-description{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-header-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.member-count-wrapper{position:relative}.member-count-btn{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--text-secondary, #666);border:none;background:transparent;padding:.375rem .5rem;border-radius:6px;cursor:pointer;font-family:inherit;transition:all .15s}.member-count-btn:hover,.member-count-btn.active{background:var(--bg-hover, #f3f4f6);color:var(--text-primary, #1a1a1a)}.members-popover{position:absolute;top:calc(100% + 4px);right:0;width:240px;max-height:360px;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:40;display:flex;flex-direction:column;overflow:hidden}.members-popover-header{padding:.75rem .75rem .5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.members-popover-header h4{margin:0;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1a1a1a)}.members-popover-list{overflow-y:auto;padding:.25rem 0}.members-popover-loading,.members-popover-empty{padding:1rem .75rem;text-align:center;font-size:.8125rem;color:var(--text-tertiary, #888)}.members-popover-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem}.members-popover-avatar{width:28px;height:28px;border-radius:50%;background:var(--forest, #2d5016);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;flex-shrink:0}.members-popover-info{display:flex;align-items:center;gap:.375rem;min-width:0;flex:1}.members-popover-name{font-size:.8125rem;color:var(--text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-popover-role{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary, #888);background:var(--bg-secondary, #f3f4f6);padding:.0625rem .375rem;border-radius:3px;flex-shrink:0}.settings-btn{width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.settings-btn:hover{background:var(--bg-hover, #f3f4f6);color:var(--primary-color, #1b2d4e)}@media (max-width: 768px){.channel-back-btn{display:flex}}.attachment-preview{position:relative;display:inline-flex;border-radius:8px;overflow:hidden}.image-preview{max-width:240px}.attachment-thumbnail{max-width:240px;max-height:180px;border-radius:8px;object-fit:cover;cursor:pointer;transition:opacity .15s;display:block}.attachment-thumbnail:hover{opacity:.9}.file-preview{background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e5e7eb);padding:.5rem .75rem;border-radius:8px}.file-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.file-link:hover .file-name{text-decoration:underline}.file-icon{font-size:1.25rem;flex-shrink:0}.file-info{display:flex;flex-direction:column;min-width:0}.file-name{font-size:.8125rem;font-weight:500;color:var(--primary-color, #1b2d4e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.file-size{font-size:.6875rem;color:var(--text-tertiary, #888)}.attachment-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border:none;background:#0009;color:#fff;border-radius:50%;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.attachment-preview:hover .attachment-remove{opacity:1}.attachment-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.lightbox-image{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}.lightbox-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;background:#fff3;color:#fff;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-close:hover{background:#ffffff4d}.staged-attachments{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.message-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.chat-message{display:flex;gap:.75rem;padding:.75rem 1rem;position:relative;transition:background-color .15s}.chat-message:hover{background:var(--bg-hover, #f8f9fa)}.chat-message.deleted,.chat-message.pending{opacity:.6}.chat-message.failed{opacity:.8;border-left:3px solid var(--danger-color, #ef4444)}.chat-message.failed .message-time{color:var(--danger-color, #ef4444);font-weight:500}.message-avatar{width:36px;height:36px;border-radius:8px;background:var(--forest);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.chat-message.own .message-avatar{background:var(--forest-light)}.message-content-wrapper{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.author-name{font-weight:600;font-size:.9375rem}.message-time{font-size:.75rem;color:var(--text-tertiary, #888)}.edited-badge{font-size:.75rem;color:var(--text-tertiary, #888);font-style:italic}.message-body{position:relative}.message-text{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.5}.message-edit{display:flex;flex-direction:column;gap:.5rem}.message-edit textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-family:inherit;font-size:.9375rem;resize:vertical;min-height:60px}.message-edit textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-actions button{padding:.375rem .75rem;border:none;border-radius:6px;font-size:.8125rem;cursor:pointer}.btn-cancel{background:var(--bg-secondary, #e5e7eb);color:var(--text-primary, #1a1a1a)}.btn-save{background:var(--forest);color:var(--text-inverse)}.message-reactions{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.reaction-badge{display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #e5e7eb);border-radius:9999px;font-size:.8125rem;cursor:pointer;transition:all .15s}.reaction-badge:hover{background:var(--bg-hover, #e5e7eb)}.reaction-badge.own{background:var(--primary-bg, #f4fae8);border-color:var(--primary-color, #1b2d4e)}.thread-preview{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;font-size:.8125rem;color:var(--primary-color, #1b2d4e);cursor:pointer;transition:all .15s}.thread-preview:hover{background:var(--primary-bg, #f4fae8);border-color:var(--primary-color, #1b2d4e)}.reply-count{font-weight:500}.last-reply{color:var(--text-tertiary, #888)}.message-actions{position:absolute;top:.25rem;right:.5rem;display:flex;gap:.25rem;padding:.25rem;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;box-shadow:0 2px 8px #0000001a}.action-btn{width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:background-color .15s}.action-btn:hover{background:var(--bg-hover, #f3f4f6)}.action-btn.delete:hover{background:var(--danger-bg, #fee2e2)}.message-avatar.removed{background:var(--text-tertiary, #888)}.removed-member{color:var(--text-tertiary, #888);font-style:italic}.chat-message.system-message{padding:.75rem 1rem;background:transparent}.chat-message.system-message:hover{background:transparent}.system-message-icon{width:36px;height:36px;border-radius:8px;background:var(--primary-bg, #f4fae8);display:flex;align-items:center;justify-content:center;font-size:1.125rem;flex-shrink:0}.system-label{color:var(--forest, #2d5016);font-weight:600}.system-message-card{margin-top:.25rem;padding:.75rem 1rem;background:var(--bg-secondary, #f8f9fa);border-left:3px solid var(--forest, #2d5016);border-radius:0 6px 6px 0}.system-message-card .message-text{white-space:pre-wrap;word-break:break-word;line-height:1.5;font-size:.875rem;color:var(--text-secondary, #555)}@media (max-width: 640px){.message-actions{position:static;margin-top:.5rem;justify-content:flex-end;box-shadow:none;border:none;background:transparent;padding:0}}.file-upload{position:relative;display:flex;align-items:center}.file-input-hidden{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.attach-btn{width:36px;height:36px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #666);transition:all .15s;flex-shrink:0}.attach-btn:hover:not(:disabled){background:var(--bg-hover, #f3f4f6);color:var(--forest, #2d5016)}.attach-btn:disabled{opacity:.5;cursor:not-allowed}.upload-spinner{width:16px;height:16px;border:2px solid var(--border-color, #d1d5db);border-top-color:var(--forest, #2d5016);border-radius:50%;animation:spin .8s linear infinite}.upload-progress{position:absolute;bottom:-4px;left:4px;right:4px;height:3px;background:var(--bg-secondary, #e5e7eb);border-radius:2px;overflow:hidden}.upload-progress-bar{height:100%;background:var(--forest, #2d5016);border-radius:2px;transition:width .3s ease}.chat-input-container{padding:1rem;background:#fff;border-top:1px solid var(--border-color, #e5e7eb)}.reply-indicator{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--primary-bg, #f4fae8);border-radius:6px;font-size:.875rem;color:var(--primary-color, #2a4470)}.cancel-reply{width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary, #666);font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.cancel-reply:hover{background:#0000001a}.chat-input-form{display:flex;align-items:flex-end;gap:.75rem}.chat-textarea{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color, #d1d5db);border-radius:8px;font-family:inherit;font-size:.9375rem;resize:none;min-height:44px;max-height:150px;line-height:1.5;transition:border-color .2s,box-shadow .2s}.chat-textarea:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.chat-textarea:disabled{background:var(--bg-disabled, #f3f4f6);cursor:not-allowed}.chat-textarea::placeholder{color:var(--text-tertiary, #9ca3af)}.send-button{width:44px;height:44px;border:none;background:var(--forest);color:var(--text-inverse);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s}.send-button:hover:not(:disabled){background:var(--forest-dark)}.send-button:disabled{background:var(--bg-tertiary, #d1d5db);cursor:not-allowed}.sending-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-hint{margin-top:.5rem;font-size:.75rem;color:var(--text-tertiary, #9ca3af);text-align:right}.upload-error{padding:.5rem .75rem;margin-bottom:.5rem;background:var(--danger-bg, #fee2e2);color:var(--danger-color, #dc2626);border-radius:6px;font-size:.8125rem}@media (max-width: 640px){.input-hint{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.create-channel-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600}.modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-hover, #f3f4f6)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-error{padding:.75rem 1rem;margin-bottom:1rem;background:var(--danger-bg, #fee2e2);color:var(--danger-color, #dc2626);border-radius:6px;font-size:.875rem}.form-field{margin-bottom:1.25rem}.form-field label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.form-field input[type=text],.form-field textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-family:inherit;font-size:.9375rem;transition:border-color .15s}.form-field input[type=text]:focus,.form-field textarea:focus{outline:none;border-color:var(--forest, #2d5016);box-shadow:0 0 0 3px #2d50161a}.form-field textarea{resize:vertical;min-height:60px}.field-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-tertiary, #888);text-align:right}.member-search{margin-bottom:.5rem}.member-picker{max-height:200px;overflow-y:auto;border:1px solid var(--border-color, #e5e7eb);border-radius:6px}.picker-loading,.picker-empty{padding:1.5rem;text-align:center;font-size:.875rem;color:var(--text-tertiary, #888)}.member-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;transition:background-color .1s}.member-row:hover{background:var(--bg-hover, #f3f4f6)}.member-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--forest, #2d5016)}.member-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.member-name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{font-size:.75rem;color:var(--text-tertiary, #888);text-transform:capitalize}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.modal-footer .btn-secondary{padding:.5rem 1rem;border:1px solid var(--border-color, #d1d5db);background:#fff;border-radius:6px;font-size:.875rem;cursor:pointer}.modal-footer .btn-secondary:hover{background:var(--bg-hover, #f3f4f6)}.modal-footer .btn-primary{padding:.5rem 1.25rem;border:none;background:var(--forest, #2d5016);color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s}.modal-footer .btn-primary:hover:not(:disabled){background:var(--forest-dark, #1a3a0a)}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.settings-panel{width:360px;display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--border-color, #e5e7eb);overflow:hidden}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.settings-header h3{margin:0;font-size:1rem;font-weight:600}.close-settings{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center}.close-settings:hover{background:var(--bg-hover, #f3f4f6)}.settings-body{flex:1;overflow-y:auto;padding:1rem}.settings-loading{padding:2rem;text-align:center;color:var(--text-tertiary, #888)}.settings-error{padding:.625rem .75rem;margin-bottom:1rem;background:var(--danger-bg, #fee2e2);color:var(--danger-color, #dc2626);border-radius:6px;font-size:.8125rem}.settings-section{margin-bottom:1.5rem}.settings-section h4{margin:0 0 .75rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #888)}.settings-section .form-field{margin-bottom:.75rem}.settings-section .form-field label{display:block;margin-bottom:.25rem;font-size:.8125rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.settings-section .form-field input[type=text],.settings-section .form-field textarea{width:100%;padding:.5rem .625rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-family:inherit;font-size:.875rem}.settings-section .form-field input[type=text]:focus,.settings-section .form-field textarea:focus{outline:none;border-color:var(--forest, #2d5016);box-shadow:0 0 0 2px #2d50161a}.settings-section .form-field textarea{resize:vertical;min-height:48px}.btn-save-details{width:100%;padding:.5rem;border:none;background:var(--forest, #2d5016);color:#fff;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .15s}.btn-save-details:hover:not(:disabled){background:var(--forest-dark, #1a3a0a)}.btn-save-details:disabled{opacity:.5;cursor:not-allowed}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-title-row h4{margin:0}.btn-add-member{padding:.25rem .625rem;border:1px solid var(--border-color, #d1d5db);background:#fff;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;color:var(--forest, #2d5016)}.btn-add-member:hover{background:var(--bg-hover, #f3f4f6)}.add-member-picker{margin-bottom:.75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;overflow:hidden}.available-list{max-height:240px;overflow-y:auto}.available-list .picker-empty{padding:1rem;text-align:center;font-size:.8125rem;color:var(--text-tertiary, #888)}.available-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem}.available-row:hover{background:var(--bg-hover, #f3f4f6)}.person-info{display:flex;align-items:center;gap:.375rem;min-width:0;flex:1}.person-name{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-role{font-size:.625rem;font-weight:500;text-transform:capitalize;color:var(--text-tertiary, #888);background:var(--bg-secondary, #f3f4f6);padding:.0625rem .375rem;border-radius:3px;flex-shrink:0;white-space:nowrap}.btn-add-small{padding:.125rem .5rem;border:1px solid var(--forest, #2d5016);background:transparent;color:var(--forest, #2d5016);border-radius:4px;font-size:.6875rem;font-weight:500;cursor:pointer;flex-shrink:0}.btn-add-small:hover{background:var(--forest, #2d5016);color:#fff}.member-list{display:flex;flex-direction:column}.settings-member-row{display:flex;align-items:center;gap:.625rem;padding:.5rem 0;border-bottom:1px solid var(--border-color, #f3f4f6)}.member-avatar-sm{width:28px;height:28px;border-radius:6px;background:var(--forest, #2d5016);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.member-details{flex:1;min-width:0;display:flex;align-items:center;gap:.375rem}.member-display-name{font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-channel-role{font-size:.6875rem;color:var(--text-tertiary, #888);text-transform:capitalize;flex-shrink:0}.btn-remove-member{width:24px;height:24px;border:none;background:transparent;color:var(--text-tertiary, #888);font-size:1.125rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove-member:hover{background:var(--danger-bg, #fee2e2);color:var(--danger-color, #dc2626)}.settings-actions{border-top:1px solid var(--border-color, #e5e7eb);padding-top:1rem}.btn-archive{width:100%;padding:.5rem;margin-bottom:.625rem;border:1px solid var(--border-color, #d1d5db);background:#fff;border-radius:6px;font-size:.8125rem;cursor:pointer}.btn-archive:hover{background:var(--bg-hover, #f3f4f6)}.btn-delete-channel{width:100%;padding:.5rem;border:1px solid var(--danger-color, #dc2626);background:transparent;color:var(--danger-color, #dc2626);border-radius:6px;font-size:.8125rem;cursor:pointer}.btn-delete-channel:hover{background:var(--danger-bg, #fee2e2)}.delete-confirm{padding:.75rem;background:var(--danger-bg, #fee2e2);border-radius:6px;font-size:.8125rem}.delete-confirm p{margin:0 0 .75rem;color:var(--danger-color, #dc2626)}.delete-confirm-actions{display:flex;gap:.5rem}.btn-cancel-delete{flex:1;padding:.375rem;border:1px solid var(--border-color, #d1d5db);background:#fff;border-radius:4px;font-size:.75rem;cursor:pointer}.btn-confirm-delete{flex:1;padding:.375rem;border:none;background:var(--danger-color, #dc2626);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer}.btn-confirm-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 900px){.settings-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}}.team-chat-page{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.chat-top-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.chat-title{display:flex;align-items:center;gap:.75rem;flex:1}.chat-title h1{margin:0;font-size:1.125rem}.chat-logo{width:32px;height:32px;border-radius:8px;object-fit:cover}.chat-logo-placeholder{width:32px;height:32px;border-radius:8px;background:var(--forest, #2d5016);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.sidebar-toggle{display:none;width:36px;height:36px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary, #666);cursor:pointer;align-items:center;justify-content:center}.sidebar-toggle:hover{background:var(--bg-hover, #f3f4f6)}.chat-layout{display:flex;flex:1;overflow:hidden}.chat-main{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--bg-primary, #fff)}.messages-container{flex:1;overflow-y:auto;padding:1rem 0}.loading-messages,.chat-error,.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--text-secondary, #666)}.chat-error button{margin-top:1rem;padding:.5rem 1rem;background:var(--primary-color, #1b2d4e);color:#fff;border:none;border-radius:6px;cursor:pointer}.no-messages .hint{font-size:.875rem;color:var(--text-tertiary, #888);margin-top:.5rem}.load-more{display:block;width:fit-content;margin:0 auto 1rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s}.load-more:hover:not(:disabled){background:var(--bg-hover, #f3f4f6);border-color:var(--primary-color, #1b2d4e);color:var(--primary-color, #1b2d4e)}.load-more:disabled{opacity:.5;cursor:not-allowed}.announcements-banner{padding:.625rem 1rem;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e5e7eb);font-size:.8125rem;color:var(--text-secondary, #666);text-align:center}.archived-banner{padding:.625rem 1rem;background:var(--bg-tertiary, #e5e7eb);font-size:.8125rem;color:var(--text-secondary, #666);text-align:center}.thread-panel{width:400px;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-left:1px solid var(--border-color, #e5e7eb)}.thread-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb)}.thread-header h3{margin:0;font-size:1rem}.close-thread{width:32px;height:32px;border:none;background:transparent;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.close-thread:hover{background:var(--bg-hover, #f3f4f6)}.thread-messages{flex:1;overflow-y:auto;background:#fff}.thread-parent{border-bottom:1px solid var(--border-color, #e5e7eb)}.thread-divider{padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #666);background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e5e7eb)}.loading-thread{padding:2rem;text-align:center}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;text-align:center;padding:2rem}.error-state h2{margin:0 0 1rem}.error-state p{margin:0 0 1.5rem;color:var(--text-secondary, #666)}@media (max-width: 900px){.thread-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}.thread-header{position:sticky;top:0;z-index:1}}@media (max-width: 768px){.sidebar-toggle{display:flex}.chat-top-bar{padding:.5rem .75rem}.chat-title h1{font-size:1rem}}@media (max-width: 640px){.chat-top-bar{padding:.5rem}}.player-detail-page{max-width:800px;margin:0 auto;padding:24px}.player-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-light)}.player-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--forest),var(--forest-dark));color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;flex-shrink:0}.player-info h1{margin:0 0 4px;font-size:28px;color:var(--text-primary)}.player-position{display:inline-block;padding:4px 12px;background:var(--bg-hover);border-radius:16px;font-size:14px;color:var(--text-secondary);margin-right:8px}.player-info .team-name{color:var(--text-muted);font-size:14px}.tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-light)}.tab{padding:12px 20px;border:none;background:transparent;font-size:15px;font-weight:500;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;display:flex;align-items:center;gap:8px}.tab:hover{color:var(--text-primary)}.tab .badge{background:var(--danger);color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;font-weight:600}.tab-content{min-height:300px}.info-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px;margin-bottom:24px}.info-card h3{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.info-item span{font-size:16px;color:var(--text-primary)}.quick-links{display:flex;gap:16px}.quick-link{display:inline-block;padding:12px 20px;background:var(--bg-hover);border-radius:var(--radius-md);color:var(--forest);text-decoration:none;font-weight:500;transition:background .2s}.quick-link:hover{background:var(--border-light)}.stats-summary{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:24px}.stats-summary h3{margin:0 0 20px;font-size:18px;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px;margin-bottom:20px}.stat-item{text-align:center;padding:16px;background:var(--bg-inset);border-radius:var(--radius-md)}.stat-value{display:block;font-size:28px;font-weight:700;color:var(--text-primary)}.stat-label{display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;margin-top:4px}.view-all-link{color:var(--forest);text-decoration:none;font-weight:500}.view-all-link:hover{text-decoration:underline}.no-stats{text-align:center;padding:48px 24px;background:var(--bg-inset);border-radius:var(--radius-lg)}.no-stats p{margin:0;color:var(--text-secondary)}.no-stats .hint{color:var(--text-faint);font-size:14px;margin-top:8px}.contacts-tab{display:flex;flex-direction:column;gap:24px}.pending-requests{background:var(--warning-bg);border:1px solid var(--warning);border-radius:var(--radius-lg);padding:20px}.pending-requests h3{margin:0 0 16px;color:var(--warning-dark);font-size:16px}.request-list{display:flex;flex-direction:column;gap:12px}.request-card{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:var(--bg-card);border-radius:var(--radius-md);gap:16px}.request-info{display:flex;flex-direction:column;gap:4px}.requester-name{font-weight:600;color:var(--text-primary)}.requester-email{font-size:14px;color:var(--text-muted)}.relationship-type{display:inline-block;padding:2px 8px;background:var(--sage);color:var(--forest);border-radius:var(--radius-xs);font-size:12px;width:fit-content}.request-message{font-style:italic;color:var(--text-muted);font-size:14px;margin:8px 0 0}.request-actions{display:flex;gap:8px;flex-shrink:0}.contacts-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0;font-size:18px;color:var(--text-primary)}.no-contacts{text-align:center;padding:24px;color:var(--text-faint)}.denied-section{background:var(--danger-bg);border-color:#fecaca}.denied-section h3{color:var(--danger-dark)}.denied-list{display:flex;flex-direction:column;gap:8px}.denied-contact{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-card);border-radius:var(--radius-md)}.denied-contact .contact-name{font-weight:500;color:var(--text-secondary)}.denied-contact .contact-email{color:var(--text-muted);font-size:14px;flex:1}.denied-contact .status-badge{padding:2px 8px;background:#fee2e2;color:var(--danger);border-radius:var(--radius-xs);font-size:12px}.error-message{padding:12px;background:var(--danger-bg);border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--danger);display:flex;justify-content:space-between;align-items:center}.error-message button{background:none;border:none;color:var(--danger);text-decoration:underline;cursor:pointer}.unified-sidebar{width:260px;min-width:260px;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-right:1px solid var(--border-color, #e5e7eb);overflow-y:auto;flex-shrink:0}.unified-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-sidebar-header h3{margin:0;font-size:1rem;font-weight:700}.unified-sidebar-list{flex:1;padding:.25rem 0}.unified-empty{padding:2rem 1rem;text-align:center;color:var(--text-tertiary, #888);font-size:.875rem}.unified-empty p{margin:0}.unified-workspace{border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-workspace:last-child{border-bottom:none}.workspace-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s}.workspace-header:hover{background:var(--bg-hover, #e5e7eb)}.workspace-identity{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.workspace-logo{width:24px;height:24px;border-radius:6px;object-fit:cover;flex-shrink:0}.workspace-logo-placeholder{width:24px;height:24px;border-radius:6px;background:var(--forest, #2d5016);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.6875rem;flex-shrink:0}.workspace-name{font-size:.875rem;font-weight:600;color:var(--text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-meta{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.workspace-unread-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--forest, #2d5016);color:#fff;font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center}.workspace-chevron{font-size:.75rem;color:var(--text-tertiary, #888);width:16px;text-align:center}.workspace-channels{padding-bottom:.25rem}.channels-loading{padding:.5rem 1rem;font-size:.75rem;color:var(--text-tertiary, #888)}.channel-group{margin-bottom:.125rem}.channel-group-label{display:flex;align-items:center;gap:.25rem;width:100%;padding:.375rem .75rem .25rem 1rem;border:none;background:transparent;font-family:inherit;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #888)}.channel-group-label.team-group{cursor:pointer;font-size:.6875rem}.channel-group-label.team-group:hover{color:var(--text-secondary, #555)}.group-chevron{font-size:.5rem;width:10px;text-align:center}.group-unread{margin-left:auto;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--forest, #2d5016);color:#fff;font-size:.5625rem;font-weight:600;display:flex;align-items:center;justify-content:center}.group-count{margin-left:auto;font-size:.5625rem;color:var(--text-tertiary, #aaa);font-weight:400}.channel-group-label.section-toggle{cursor:pointer;margin-top:.25rem}.channel-group-label.section-toggle:hover{color:var(--text-secondary, #555)}.unified-channel-row{display:flex;align-items:center;position:relative}.unified-channel-row .unified-channel-item{flex:1;min-width:0}.unified-channel-row.active{background:#fff}.unified-channel-item{display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .75rem .375rem 1.5rem;border:none;background:transparent;text-align:left;font-family:inherit;font-size:.8125rem;color:var(--text-secondary, #555);cursor:pointer;transition:all .15s;border-radius:0;min-width:0}.unified-channel-item:hover{background:var(--bg-hover, #e5e7eb)}.unified-channel-item.active{background:#fff;color:var(--text-primary, #1a1a1a);font-weight:600;border-left:3px solid var(--forest, #2d5016);padding-left:calc(1.5rem - 3px)}.unified-channel-item.unread .unified-channel-name{font-weight:600;color:var(--text-primary, #1a1a1a)}.unified-channel-item.archived{opacity:.6}.unified-channel-item.archived .unified-channel-name{font-style:italic}.unified-channel-icon{font-size:.8125rem;flex-shrink:0;width:16px;text-align:center;color:var(--text-tertiary, #888)}.unified-channel-item.active .unified-channel-icon{color:var(--forest, #2d5016)}.unified-channel-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-unread-badge{flex-shrink:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--forest, #2d5016);color:#fff;font-size:.625rem;font-weight:600;display:flex;align-items:center;justify-content:center}.sidebar-create-channel-btn{display:flex;align-items:center;gap:.375rem;width:100%;padding:.375rem .75rem .375rem 1.5rem;border:none;background:transparent;text-align:left;font-family:inherit;font-size:.8125rem;color:var(--text-tertiary, #888);cursor:pointer;transition:all .15s}.sidebar-create-channel-btn:hover{background:var(--bg-hover, #e5e7eb);color:var(--primary-color, #2563eb)}.unified-favorite-btn{width:24px;height:24px;border:none;background:transparent;cursor:pointer;font-size:.75rem;color:var(--text-tertiary, #aaa);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .15s,color .15s;margin-right:4px}.unified-favorite-btn.favorited{opacity:1;color:var(--warning-color, #f59e0b)}.unified-channel-row:hover .unified-favorite-btn{opacity:1}.unified-favorite-btn:hover{color:var(--warning-color, #f59e0b)}@media (max-width: 768px){.unified-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:50;width:300px;min-width:300px;transform:translate(-100%);transition:transform .3s ease;box-shadow:2px 0 12px #00000026}.unified-sidebar.open{transform:translate(0)}}.unified-chat-page{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden}.unified-top-bar{display:none;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.unified-sidebar-toggle{width:36px;height:36px;border:none;background:transparent;border-radius:6px;color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center}.unified-sidebar-toggle:hover{background:var(--bg-hover, #f3f4f6)}.unified-context-label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1a1a1a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unified-chat-layout{display:flex;flex:1;overflow:hidden}.unified-sidebar-wrapper{flex-shrink:0}.unified-sidebar-overlay{display:none}.unified-chat-main{display:flex;flex-direction:column;flex:1;min-width:0;background:var(--bg-primary, #fff)}.unified-channel-toolbar{display:flex;align-items:center;border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-channel-toolbar .channel-header{flex:1;border-bottom:none}.unified-create-channel-btn{padding:.375rem .75rem;margin-right:.75rem;border:1px solid var(--border-color, #d1d5db);background:transparent;border-radius:6px;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--text-secondary, #555);cursor:pointer;white-space:nowrap;transition:all .15s}.unified-create-channel-btn:hover{background:var(--bg-hover, #f3f4f6);border-color:var(--primary-color, #2563eb);color:var(--primary-color, #2563eb)}.unified-no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--text-secondary, #666)}.no-selection-icon{font-size:3rem;margin-bottom:1rem}.unified-no-selection h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-primary, #1a1a1a)}.unified-no-selection p{margin:0;font-size:.9rem}.unified-chat-page .messages-container{flex:1;overflow-y:auto;padding:1rem 0}.unified-chat-page .loading-messages,.unified-chat-page .chat-error,.unified-chat-page .no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--text-secondary, #666)}.unified-chat-page .chat-error button{margin-top:1rem;padding:.5rem 1rem;background:var(--primary-color, #1b2d4e);color:#fff;border:none;border-radius:6px;cursor:pointer}.unified-chat-page .no-messages .hint{font-size:.875rem;color:var(--text-tertiary, #888);margin-top:.5rem}.unified-chat-page .load-more{display:block;width:fit-content;margin:0 auto 1rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;color:var(--text-secondary, #666);cursor:pointer;transition:all .2s}.unified-chat-page .load-more:hover:not(:disabled){background:var(--bg-hover, #f3f4f6);border-color:var(--primary-color, #1b2d4e);color:var(--primary-color, #1b2d4e)}.unified-chat-page .load-more:disabled{opacity:.5;cursor:not-allowed}.unified-chat-page .announcements-banner{padding:.625rem 1rem;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e5e7eb);font-size:.8125rem;color:var(--text-secondary, #666);text-align:center}.unified-chat-page .archived-banner{padding:.625rem 1rem;background:var(--bg-tertiary, #e5e7eb);font-size:.8125rem;color:var(--text-secondary, #666);text-align:center}.unified-chat-page .thread-panel{width:400px;display:flex;flex-direction:column;background:var(--bg-secondary, #f8f9fa);border-left:1px solid var(--border-color, #e5e7eb)}.unified-chat-page .thread-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-chat-page .thread-header h3{margin:0;font-size:1rem}.unified-chat-page .close-thread{width:32px;height:32px;border:none;background:transparent;font-size:1.5rem;color:var(--text-secondary, #666);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.unified-chat-page .close-thread:hover{background:var(--bg-hover, #f3f4f6)}.unified-chat-page .thread-messages{flex:1;overflow-y:auto;background:#fff}.unified-chat-page .thread-parent{border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-chat-page .thread-divider{padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #666);background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e5e7eb)}.unified-chat-page .loading-thread{padding:2rem;text-align:center}@media (max-width: 900px){.unified-chat-page .thread-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;z-index:100}.unified-chat-page .thread-header{position:sticky;top:0;z-index:1}}@media (max-width: 768px){.unified-top-bar{display:flex}.unified-sidebar-wrapper{position:fixed;left:0;top:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .3s ease}.unified-sidebar-wrapper.open{transform:translate(0)}.unified-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:49}}.scout-hub{max-width:900px;margin:0 auto}.scout-hub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem;flex-wrap:wrap;gap:.75rem}.scout-hub-header h2{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--text-primary)}.scout-hub-actions{display:flex;gap:.5rem}.scout-section h3{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem}.scout-games-list{display:flex;flex-direction:column;gap:.5rem}.scout-game-card{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.875rem 1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.scout-game-card:hover{border-color:var(--lime);box-shadow:var(--shadow-sm)}.scout-game-card-main{flex:1;display:flex;align-items:center;gap:1rem;min-width:0}.scout-game-teams{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem;color:var(--text-primary);min-width:0;flex:1}.scout-game-teams .team-name{font-weight:600}.scout-game-teams .vs{color:var(--text-faint);font-weight:400;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.scout-game-score{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);min-width:60px;text-align:center;flex-shrink:0}.scout-game-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8125rem;color:var(--text-muted);flex-shrink:0}.scout-reports-list{display:flex;flex-direction:column;gap:.5rem}.scout-report-card{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.875rem 1rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.scout-report-card:hover{border-color:var(--lime);box-shadow:var(--shadow-sm)}.scout-report-card-main{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0}.scout-report-title{font-weight:600;color:var(--text-primary);font-size:.9375rem}.scout-report-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8125rem;color:var(--text-muted)}.badge{display:inline-block;padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-muted{background:var(--dust);color:var(--text-muted)}.badge-live{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-success{background:var(--success-light);color:var(--success)}.badge-info{background:var(--info-light);color:var(--info)}.meta-item{color:var(--text-muted)}.meta-item:before{content:"·";margin-right:.5rem;color:var(--text-faint)}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.125rem;padding:.375rem .5rem;color:var(--text-faint);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.btn-icon:hover{color:var(--danger);background:var(--danger-light)}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--text-muted);background:var(--bg-inset);border-radius:var(--radius-md);border:1px dashed var(--border-default)}.empty-state p{margin-bottom:1rem;font-size:.9375rem}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.alert-error{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.sgs{max-width:680px;margin:0 auto}.sgs-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.sgs-back{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:border-color var(--transition-fast),color var(--transition-fast)}.sgs-back:hover{border-color:var(--forest);color:var(--forest)}.sgs-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.sgs-subtitle{font-size:.875rem;color:var(--text-muted);margin:.125rem 0 0}.sgs-matchup-card{display:flex;align-items:center;gap:0;background:var(--forest);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;position:relative;overflow:hidden}.sgs-matchup-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(174,233,43,.08) 0%,transparent 60%);pointer-events:none}.sgs-matchup-team{flex:1;display:flex;flex-direction:column;gap:.375rem;position:relative;z-index:1}.sgs-matchup-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--lime-pale);opacity:.7}.sgs-team-input{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:.5rem .75rem;font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:#fff;width:100%;outline:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.sgs-team-input::placeholder{color:#ffffff4d;font-weight:400}.sgs-team-input:focus{border-color:var(--lime);background:#ffffff1f}.sgs-matchup-vs{font-family:var(--font-display);font-size:.75rem;font-weight:700;color:var(--lime);letter-spacing:.1em;padding:0 1rem;flex-shrink:0;position:relative;z-index:1}.sgs-info-strip{display:flex;gap:.5rem;margin-bottom:1rem;align-items:stretch}.sgs-info-field{position:relative}.sgs-info-location{flex:1;min-width:0}.sgs-info-date{flex-shrink:0;width:150px}.sgs-info-time{flex-shrink:0;width:120px}.sgs-info-field .input,.sgs-info-field .places-autocomplete-input{height:100%;font-size:.875rem}.sgs-info-location .places-autocomplete{height:100%}.sgs-info-location .places-autocomplete-input{width:100%;height:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:.625rem .875rem;font-family:var(--font-body);font-size:.875rem;background:var(--bg-card);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.sgs-info-location .places-autocomplete-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.sgs-info-location .places-autocomplete-input::placeholder{color:var(--text-faint)}.sgs-location-input-wrap{position:relative;height:100%}.sgs-location-input-wrap .input{padding-right:2rem}.sgs-location-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.125rem;color:var(--text-faint);cursor:pointer;padding:.125rem .25rem;line-height:1;border-radius:var(--radius-xs);transition:color var(--transition-fast)}.sgs-location-clear:hover{color:var(--text-secondary)}.sgs-lineup-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden}.sgs-lineup-tabs{display:flex;border-bottom:1px solid var(--border-light)}.sgs-lineup-tab{flex:1;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:color var(--transition-fast),border-color var(--transition-fast)}.sgs-lineup-tab:hover{color:var(--text-primary)}.sgs-lineup-tab.active{color:var(--forest);border-bottom-color:var(--lime);font-weight:600}.sgs-lineup-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:var(--radius-full);background:var(--bg-inset);font-size:.6875rem;font-weight:700;color:var(--text-muted)}.sgs-lineup-tab.active .sgs-lineup-count{background:var(--sage);color:var(--forest)}.sgs-lineup-body{padding:1rem}.sgs-lineup-body .card{border:none;box-shadow:none;background:transparent}.sgs-lineup-body .card-header{display:none}.sgs-lineup-body .card-body{padding:0}.sgs-actions{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem}.scout-game-setup{max-width:700px;margin:0 auto}.scout-game-meta{display:flex;flex-direction:column;gap:0;margin-bottom:1.5rem}.game-setup-row{display:flex;gap:.75rem}.game-setup-section{margin-bottom:.25rem}@media (max-width: 640px){.sgs-matchup-card{flex-direction:column;gap:0;padding:1rem}.sgs-matchup-vs{padding:.5rem 0}.sgs-matchup-team{width:100%}.sgs-info-strip{flex-wrap:wrap}.sgs-info-location{flex-basis:100%}.sgs-info-date,.sgs-info-time{flex:1;width:auto}}.report-builder{max-width:800px;margin:0 auto}.report-builder h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.report-builder>.text-muted{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.5rem}.report-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.report-type-card{background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);text-align:center}.report-type-card:hover{border-color:var(--lime);box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-type-card h3{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.0625rem;font-weight:700;color:var(--text-primary);border:none;padding:0}.report-type-card p{margin:0;font-size:.8125rem;color:var(--text-muted);line-height:1.5}.form-section{margin-bottom:1.25rem}.input-label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.375rem}.input{width:100%;padding:.625rem .875rem;border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:.9375rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.input::placeholder{color:var(--text-faint)}.team-select-list,.player-select-list{max-height:280px;overflow-y:auto;border:1px solid var(--border-light);border-radius:var(--radius-md);margin-top:.5rem;background:var(--bg-card)}.selectable-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;cursor:pointer;border-bottom:1px solid var(--border-light);transition:background var(--transition-fast);font-size:.9375rem}.selectable-item:last-child{border-bottom:none}.selectable-item:hover{background:var(--bg-hover)}.selectable-item.selected{background:var(--sage-light);border-left:3px solid var(--lime)}.selectable-item .text-muted{font-size:.8125rem;color:var(--text-muted)}.checkbox-item{display:flex;align-items:center;gap:.625rem;padding:.375rem 0;cursor:pointer;font-size:.9375rem}.checkbox-item input[type=checkbox]{margin:0;width:1rem;height:1rem;accent-color:var(--forest)}.correlation-builder{margin-top:.5rem}.correlation-row{display:flex;align-items:center;gap:.5rem;padding:.375rem 0;font-size:.9375rem}.correlation-row select{padding:.375rem .625rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.8125rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text-primary)}.correlations-list{margin-top:.75rem;padding:.75rem 1rem;background:var(--bg-inset);border-radius:var(--radius-md);border:1px solid var(--border-light)}.correlations-list strong{font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.correlation-item{padding:.375rem 0;font-size:.9375rem}.correlation-alias{display:inline-flex;align-items:center;gap:.25rem;background:var(--sage);color:var(--forest);padding:.125rem .5rem;border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;margin-right:.25rem}.correlation-alias button{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--text-muted);padding:0;line-height:1;transition:color var(--transition-fast)}.correlation-alias button:hover{color:var(--danger)}.selected-player-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:.375rem;font-size:.9375rem}.selected-player-item button{background:none;border:none;cursor:pointer;font-size:1.125rem;color:var(--text-faint);padding:0 .25rem;transition:color var(--transition-fast)}.selected-player-item button:hover{color:var(--danger)}.report-summary{background:var(--bg-inset);padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:1.25rem;border:1px solid var(--border-light)}.report-summary p{margin:.25rem 0;font-size:.9375rem;color:var(--text-secondary)}.report-summary p strong{color:var(--text-primary)}.form-actions{display:flex;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-light)}.report-view{max-width:900px;margin:0 auto}.report-header{margin-bottom:1.75rem}.report-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.report-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.875rem;color:var(--text-muted)}.report-section{margin-bottom:1.75rem}.report-section h3{font-family:var(--font-display);font-size:1.0625rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.03em;font-size:.8125rem}.player-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:.75rem;transition:box-shadow var(--transition-fast);overflow:hidden}.player-card:hover{box-shadow:var(--shadow-sm)}.player-card h4{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary)}.player-card-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap}.player-card-header:hover{background:var(--bg-hover)}.player-card-chevron{margin-left:auto;font-size:.75rem;color:var(--text-muted);transition:transform .2s ease;flex-shrink:0}.player-card-chevron.open{transform:rotate(180deg)}.player-card-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-light)}.player-analytics{margin-top:1rem}.analytics-section-title{font-family:var(--font-display);font-size:.875rem;font-weight:700;color:var(--forest);text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .75rem;padding-bottom:.375rem;border-bottom:2px solid var(--lime)}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}@media (max-width: 640px){.analytics-grid{grid-template-columns:1fr}}.grades{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap;font-size:.9375rem}.grade-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);color:#fff;font-size:.8125rem;font-weight:600;letter-spacing:.01em}.stat-tables{display:flex;flex-direction:column;gap:.75rem}.stat-table h4{margin:0 0 .25rem;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.stat-table table{width:100%;border-collapse:collapse;font-size:.8125rem}.stat-table th,.stat-table td{padding:.375rem .5rem;text-align:center;border-bottom:1px solid var(--border-light)}.stat-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-inset);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.stat-table td{font-family:SF Mono,Fira Code,monospace;font-size:.8125rem;color:var(--text-primary)}.comparison-table-wrapper{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-md)}.comparison-table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:800px}.comparison-table th,.comparison-table td{padding:.5rem .75rem;text-align:center;border-bottom:1px solid var(--border-light);white-space:nowrap}.comparison-table th{font-weight:600;color:var(--text-secondary);background:var(--bg-inset);position:sticky;top:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.comparison-table th:hover{color:var(--forest)}.comparison-table td{font-family:SF Mono,Fira Code,monospace;font-size:.8125rem}.comparison-table td:first-child{text-align:left;font-family:var(--font-body)}.comparison-table td:nth-child(2){text-align:left;font-family:var(--font-body);color:var(--text-muted)}.comparison-table th:first-child,.comparison-table th:nth-child(2){text-align:left}.comparison-table tbody tr{transition:background var(--transition-fast)}.comparison-table tbody tr:hover{background:var(--bg-hover)}.report-actions{display:flex;gap:.5rem;margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--border-light)}.linked-reports{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.linked-report-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;background:var(--info-light);color:var(--info);border-radius:var(--radius-full);font-size:.8125rem;font-weight:500;text-decoration:none;transition:background var(--transition-fast)}.linked-report-badge:hover{background:var(--sage);color:var(--forest)}@media (max-width: 640px){.scout-hub-header{flex-direction:column;align-items:flex-start}.scout-hub-actions{width:100%}.scout-hub-actions button{flex:1}.scout-game-card-main{flex-direction:column;align-items:flex-start;gap:.375rem}.scout-game-score{min-width:auto;text-align:left;font-size:1.125rem}.report-type-cards{grid-template-columns:1fr}.game-setup-row{flex-direction:column}.comparison-table-wrapper{margin:0 -1rem;border-radius:0;border-left:none;border-right:none}.report-meta{flex-direction:column;align-items:flex-start;gap:.375rem}}.srb{max-width:740px;margin:0 auto;padding:0 1rem 3rem}.srb-steps{display:flex;align-items:center;gap:0;margin-bottom:1.75rem;padding:0 .5rem}.srb-step{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text-faint);white-space:nowrap}.srb-step.active{color:var(--forest);font-weight:600}.srb-step.done{color:var(--text-secondary)}.srb-step-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.6875rem;font-weight:700;border:2px solid var(--border-default);color:var(--text-faint);flex-shrink:0}.srb-step.active .srb-step-num{background:var(--forest);border-color:var(--forest);color:#fff}.srb-step.done .srb-step-num{background:var(--lime);border-color:var(--lime);color:var(--forest)}.srb-step-line{flex:1;height:1px;background:var(--border-default);margin:0 .75rem;min-width:24px}.srb-step-line.done{background:var(--lime)}.srb-header{margin-bottom:1.5rem}.srb-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.srb-subtitle{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.srb-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.srb-type-card{background:var(--bg-card);border:2px solid var(--border-light);border-radius:10px;padding:1.25rem 1rem;cursor:pointer;transition:all .15s ease;text-align:center;position:relative;overflow:hidden}.srb-type-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:transparent;transition:background .15s ease}.srb-type-card:hover{border-color:var(--lime);box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.srb-type-card:hover:before{background:var(--lime)}.srb-type-icon{font-size:1.5rem;margin-bottom:.5rem;display:block}.srb-type-card h3{margin:0 0 .375rem;font-family:var(--font-display);font-size:.9375rem;font-weight:700;color:var(--text-primary)}.srb-type-card p{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.45}.srb-panel{background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.srb-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-inset);border-bottom:1px solid var(--border-light)}.srb-panel-title{font-family:var(--font-display);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin:0}.srb-panel-badge{font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;font-weight:600;color:var(--text-muted);background:var(--bg-card);padding:.125rem .5rem;border-radius:3px;border:1px solid var(--border-light)}.srb-panel-body{padding:.75rem 1rem}.srb-panel-hint{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.srb-team-list{display:flex;flex-direction:column;gap:0}.srb-team-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;cursor:pointer;border-radius:6px;transition:background .1s ease;font-size:.9375rem;font-weight:500}.srb-team-item:hover{background:var(--bg-hover)}.srb-team-item.selected{background:var(--sage-light);color:var(--forest);font-weight:600}.srb-team-item.selected:before{content:"";display:inline-block;width:3px;height:20px;background:var(--lime);border-radius:2px;margin-right:.5rem}.srb-team-games{font-size:.75rem;font-weight:500;color:var(--text-muted)}.srb-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0}.srb-check-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:4px;cursor:pointer;font-size:.8125rem;transition:background .1s ease;line-height:1.3}.srb-check-item:hover{background:var(--bg-hover)}.srb-check-item input[type=checkbox]{margin:0;width:15px;height:15px;accent-color:var(--forest);flex-shrink:0}.srb-check-name{font-weight:500;color:var(--text-primary)}.srb-check-meta{font-size:.6875rem;color:var(--text-muted);margin-left:.125rem}.srb-check-grid.single-col{grid-template-columns:1fr}.srb-search{position:relative;margin-bottom:.5rem}.srb-search-input{width:100%;padding:.5rem .75rem .5rem 2rem;border:1px solid var(--border-default);border-radius:6px;font-size:.875rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.srb-search-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b26}.srb-search-input::placeholder{color:var(--text-faint)}.srb-search-icon{position:absolute;left:.625rem;top:50%;transform:translateY(-50%);font-size:.8125rem;color:var(--text-faint);pointer-events:none}.srb-player-list{max-height:220px;overflow-y:auto;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-card)}.srb-player-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;border-bottom:1px solid var(--border-light);transition:background .1s ease}.srb-player-item:last-child{border-bottom:none}.srb-player-item:hover{background:var(--bg-hover)}.srb-player-item.selected{background:var(--sage-light);border-left:3px solid var(--lime)}.srb-player-item-name{font-weight:500;color:var(--text-primary)}.srb-player-item-meta{font-size:.75rem;color:var(--text-muted)}.srb-selected-grid{display:flex;flex-wrap:wrap;gap:.375rem}.srb-selected-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--sage-light);border:1px solid var(--sage);border-radius:20px;font-size:.8125rem;font-weight:500;color:var(--forest)}.srb-selected-chip button{background:none;border:none;cursor:pointer;font-size:.9375rem;color:var(--text-muted);padding:0;line-height:1;transition:color .1s ease}.srb-selected-chip button:hover{color:var(--danger)}.srb-corr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.375rem}.srb-corr-row{display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.srb-corr-row span{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srb-corr-row select{flex:1;padding:.25rem .5rem;border:1px solid var(--border-default);border-radius:4px;font-size:.75rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text-primary);min-width:0}.srb-corr-active{margin-top:.625rem;padding:.625rem .75rem;background:var(--bg-inset);border-radius:6px;border:1px solid var(--border-light)}.srb-corr-active-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.375rem}.srb-corr-entry{font-size:.8125rem;padding:.25rem 0;display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.srb-corr-entry strong{color:var(--text-primary)}.srb-corr-alias{display:inline-flex;align-items:center;gap:.25rem;background:var(--sage);color:var(--forest);padding:.0625rem .5rem;border-radius:20px;font-size:.75rem;font-weight:500}.srb-corr-alias button{background:none;border:none;cursor:pointer;font-size:.75rem;color:var(--text-muted);padding:0;line-height:1}.srb-corr-alias button:hover{color:var(--danger)}.srb-summary{background:var(--bg-card);border:1px solid var(--border-light);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1rem}.srb-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.875rem;border-bottom:1px solid var(--border-light)}.srb-summary-row:last-child{border-bottom:none}.srb-summary-label{font-weight:500;color:var(--text-secondary)}.srb-summary-value{font-weight:600;color:var(--text-primary)}.srb-actions{display:flex;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-light)}.srb-actions .spacer{flex:1}.srb-error{padding:.625rem 1rem;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);border-radius:6px;font-size:.8125rem;margin-bottom:1rem}.srb-empty{text-align:center;padding:1.5rem 1rem;color:var(--text-muted);font-size:.875rem}.srb-input{width:100%;padding:.5rem .75rem;border:1px solid var(--border-default);border-radius:6px;font-size:.9375rem;font-family:var(--font-body);background:var(--bg-card);color:var(--text-primary);transition:border-color .15s ease,box-shadow .15s ease}.srb-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b26}.srb-input::placeholder{color:var(--text-faint)}@media (max-width: 640px){.srb-type-grid,.srb-check-grid,.srb-corr-grid{grid-template-columns:1fr}.srb-step span{display:none}.srb-step.active span{display:inline}}.navbar{background-color:var(--bg-card);border-bottom:1px solid var(--border-light);height:60px;display:flex;align-items:center;position:sticky;top:0;z-index:1000;padding:0 1.5rem;box-shadow:var(--shadow-sm)}.navbar-container{width:100%;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.navbar-logo-img{height:44px;width:auto}.navbar-wordmark{height:20px;width:auto;margin-left:10px}.navbar-links{display:flex;align-items:center;gap:1.5rem}.navbar-link{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9rem;transition:color var(--transition-fast);position:relative}.navbar-link:hover{color:var(--text-primary)}.navbar-link.active{color:var(--forest);font-weight:600}.navbar-link.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--lime);border-radius:1px}.App{min-height:100vh;background-color:var(--bg-page)}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:1rem}.auth-form{background:var(--bg-card);padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:420px;border:1px solid var(--border-light)}.auth-logo{display:block;width:120px;height:auto;margin:0 auto 1rem}.auth-form h2{margin:0 0 1.5rem;font-size:1.5rem;text-align:center;color:var(--text-primary)}.auth-form form{display:flex;flex-direction:column;gap:1rem}.auth-error{background:var(--danger-light);color:var(--danger);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem;border:1px solid var(--danger)}.auth-success{background:var(--success-light);color:var(--success);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem;border:1px solid var(--success)}.auth-message{color:var(--text-muted);font-size:.875rem;text-align:center;margin-bottom:1.5rem;line-height:1.5}.auth-divider{display:flex;align-items:center;margin:1.25rem 0;color:var(--text-faint);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.auth-divider span{padding:0 .75rem}.auth-links{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--text-muted)}.auth-links p{margin:.5rem 0}.link-button{background:none;border:none;color:var(--forest);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline;font-weight:500;transition:color var(--transition-fast)}.link-button:hover{color:var(--forest-dark)}.profile-form .profile-email{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light)}.profile-form .profile-email label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem}.profile-form .profile-email p{margin:0;color:var(--text-primary)}.profile-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.home-page{max-width:800px;margin:0 auto;padding:2rem;text-align:center}.home-page h1{font-size:2rem;color:var(--text-primary);margin-bottom:.5rem}.home-nav{margin-top:2rem;display:flex;gap:1rem;justify-content:center}.home-nav a{color:var(--forest);text-decoration:none}.home-nav a:hover{text-decoration:underline}.page-container{max-width:960px;margin:0 auto;padding:2rem 1rem}.team-search-section{background:linear-gradient(135deg,var(--sage-light) 0%,var(--sage) 100%);border-radius:var(--radius-xl);padding:2.5rem 2rem;margin-bottom:2rem;text-align:center;border:1px solid var(--sage-dark)}.team-search-section h2{margin:0 0 .5rem;color:var(--forest-dark)}.search-description{color:var(--forest-light);margin:0 0 1.5rem;font-size:.9375rem}.home-search-form{display:flex;gap:.75rem;max-width:500px;margin:0 auto}.home-search-input{flex:1;padding:.75rem 1rem;border:2px solid var(--lime);border-radius:var(--radius-md);font-size:1rem;background:var(--bg-card);font-family:var(--font-body);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.home-search-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px #aee92b33}.section-divider{height:1px;background:var(--border-light);margin:2rem 0}.team-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.team-cards{display:flex;flex-direction:column;gap:1rem}.team-card-row{display:flex;align-items:center;gap:1rem}.team-card-logo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border-light);flex-shrink:0}.team-card-logo-placeholder{background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1.125rem;font-weight:700}.team-card-info{flex:1;min-width:0}.team-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.team-card-details{display:flex;gap:1rem;font-size:.875rem;color:var(--text-muted)}.team-meta{font-size:.875rem;color:var(--text-muted)}.team-form{max-width:600px;margin:0 auto}.team-form h2{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.td-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.td-header-left{display:flex;align-items:center;gap:.625rem;min-width:0}.td-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-muted);font-size:1rem;cursor:pointer;flex-shrink:0;transition:border-color var(--transition-fast),color var(--transition-fast)}.td-back:hover{border-color:var(--forest);color:var(--forest)}.td-title-group{min-width:0}.td-name-row{display:flex;align-items:center;gap:.5rem}.td-name{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-record-badge{flex-shrink:0;font-size:.75rem;font-weight:700;color:var(--forest);background:var(--sage);padding:.125rem .5rem;border-radius:var(--radius-full);letter-spacing:.02em}.td-meta{margin:.125rem 0 0;font-size:.8125rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-meta-sep{margin:0 .375rem;opacity:.4}.td-edit-btn{flex-shrink:0;padding:.375rem .875rem;font-size:.8125rem;font-weight:600;color:var(--forest);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.td-edit-btn:hover{border-color:var(--forest);background:var(--sage)}.td-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--border-light);flex-shrink:0}.td-logo-placeholder{width:48px;height:48px;border-radius:50%;background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0;border:2px solid var(--border-light)}.chat-logo{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border-light);flex-shrink:0}.chat-logo-placeholder{width:36px;height:36px;border-radius:50%;background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0;border:2px solid var(--border-light)}.logo-upload{margin-bottom:1rem}.logo-upload-row{display:flex;align-items:center;gap:1rem}.logo-preview{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border-light);flex-shrink:0}.logo-preview-placeholder{background:var(--sage);color:var(--forest);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.logo-upload-actions{display:flex;flex-direction:column;gap:.25rem}.logo-upload-btn{padding:.375rem .875rem;font-size:.8125rem;font-weight:600;color:var(--forest);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);width:fit-content}.logo-upload-btn:hover:not(:disabled){border-color:var(--forest);background:var(--sage)}.logo-upload-btn:disabled{opacity:.6;cursor:not-allowed}.logo-upload-hint{font-size:.75rem;color:var(--text-muted)}.logo-upload-error{margin-top:.5rem;font-size:.8125rem;color:var(--danger)}.td-subtabs{display:inline-flex;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-full);padding:3px;gap:3px;margin-bottom:1rem}.td-subtab{padding:.375rem 1rem;border:none;border-radius:var(--radius-full);background:transparent;cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast);font-family:var(--font-body)}.td-subtab:hover:not(.active){color:var(--text-secondary);background:var(--bg-hover)}.td-subtab.active{background:var(--lime);color:var(--forest)}.tab-nav{display:flex;border-bottom:2px solid var(--border-light);margin-bottom:1.5rem}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-muted)}.tab.active{color:var(--forest);border-bottom-color:var(--lime)}.roster-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.roster-controls{display:flex;align-items:center;gap:1rem}.roster-sort{display:flex;align-items:center;gap:.25rem}.sort-label{font-size:.875rem;color:var(--text-muted);margin-right:.25rem}.sort-btn{padding:.25rem .5rem;border:1px solid var(--border-default);background:var(--bg-card);cursor:pointer;font-size:.75rem;font-weight:500;color:var(--text-muted)}.sort-btn:first-of-type{border-radius:4px 0 0 4px}.sort-btn:last-of-type{border-radius:0 4px 4px 0;margin-left:-1px}.sort-btn.active{background:var(--forest);border-color:var(--forest);color:#fff}.sort-btn:hover:not(.active){background:var(--bg-inset)}.roster-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-light);overflow:hidden;font-size:.875rem}.roster-th{text-align:left;padding:.5rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--bg-inset);border-bottom:1px solid var(--border-light)}.roster-th-num{width:2.5rem;text-align:center}.roster-th-pos{width:10rem}.roster-th-actions{width:3.5rem}.roster-row:not(:last-child) .roster-td{border-bottom:1px solid var(--border-light)}.roster-row:hover{background:var(--bg-hover)}.roster-td{padding:.4rem .75rem;vertical-align:middle}.roster-td-num{text-align:center;font-weight:700;color:var(--text-secondary)}.roster-td-pos{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.roster-td-actions{text-align:right;white-space:nowrap}.roster-name-link{text-decoration:none;color:var(--forest);font-weight:500;transition:color .15s}.roster-name-link:hover{color:var(--forest-dark);text-decoration:underline}.roster-icon-btn{background:none;border:none;cursor:pointer;padding:.15rem .35rem;font-size:.9rem;line-height:1;color:var(--text-faint);border-radius:3px;transition:color .15s,background .15s}.roster-icon-btn:hover{color:var(--forest);background:var(--bg-inset)}.roster-icon-btn--danger:hover{color:var(--danger);background:var(--danger-light)}.player-form{display:flex;flex-direction:column;gap:1rem}.position-grid{display:flex;flex-wrap:wrap;gap:.5rem}.position-chip{padding:.375rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-card);cursor:pointer;font-size:.875rem;font-weight:500}.position-chip.selected{background:var(--forest);color:#fff;border-color:var(--forest)}.form-group .form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.form-error{color:var(--danger);font-size:.75rem;font-weight:400;margin-left:.5rem}.form-actions{display:flex;gap:.75rem;margin-top:.5rem}.coach-invite{max-width:400px}.coach-invite h3{margin-bottom:1rem}.coach-invite form{display:flex;flex-direction:column;gap:1rem}.calendar{background:var(--bg-card);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-light)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-nav{display:flex;align-items:center;gap:.5rem}.calendar-nav h3{margin:0;min-width:180px;text-align:center}.calendar-actions{display:flex;align-items:center;gap:1rem}.view-toggle{display:flex;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden}.view-toggle button{padding:.375rem .75rem;border:none;background:var(--bg-card);cursor:pointer;font-size:.875rem}.view-toggle button.active{background:var(--forest);color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:4px;overflow:hidden}.calendar-day-header{background:var(--bg-inset);padding:.5rem;text-align:center;font-weight:600;font-size:.75rem;color:var(--text-muted)}.calendar-cell{background:var(--bg-card);padding:.5rem;min-height:80px;cursor:pointer}.calendar-cell:hover{background:var(--bg-inset)}.calendar-cell.blank{background:var(--bg-inset);cursor:default}.calendar-cell.today .calendar-date{background:var(--forest);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.calendar-date{font-size:.875rem;font-weight:500}.calendar-dots{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}.calendar-event-dot{width:8px;height:8px;border-radius:50%;cursor:pointer}.calendar-more{font-size:.625rem;color:var(--text-muted)}.calendar-week-view{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-light);border:1px solid var(--border-light);border-radius:4px;overflow:hidden}.week-day{background:var(--bg-card);min-height:200px;padding:.5rem}.week-day.today{background:var(--sage-light)}.week-day-header{display:flex;flex-direction:column;align-items:center;margin-bottom:.5rem}.week-day-name{font-size:.75rem;color:var(--text-muted);font-weight:600}.week-day-date{font-size:1.125rem;font-weight:500}.week-event{padding:.25rem .5rem;margin-bottom:4px;border-left:3px solid;border-radius:2px;background:var(--bg-inset);cursor:pointer;font-size:.75rem}.week-event:hover{background:var(--bg-hover)}.week-event-time{display:block;font-weight:600;color:var(--text-secondary)}.week-event-title{color:var(--text-muted)}.event-form{max-width:600px;margin:0 auto}.event-form h2{margin-bottom:1.5rem}.event-form form{display:flex;flex-direction:column;gap:1rem}.event-type-selector{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.event-type-chip{padding:.5rem 1rem;border:2px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-card);cursor:pointer;font-weight:500;font-size:.875rem}.event-type-chip.selected{color:#fff}.computed-title{padding:.75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-inset);color:var(--text-secondary);font-size:.875rem}.event-detail-header{margin-bottom:2rem}.event-detail-title{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.5rem 0}.event-detail-title h2{margin:0}.event-detail-title h2.cancelled{text-decoration:line-through;color:var(--text-faint)}.event-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);color:#fff;font-size:.75rem;font-weight:600}.event-status-badge.cancelled{background:var(--danger-light);color:var(--danger);padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.event-detail-actions{display:flex;gap:.5rem;margin-top:.5rem}.event-game-score-summary{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-weight:600}.event-game-score-summary.score-summary-win{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.event-game-score-summary.score-summary-loss{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.event-game-score-summary.score-summary-tie{background:#eab3081a;border:1px solid rgba(234,179,8,.3)}.score-summary-result{font-size:1.5rem;font-weight:800;min-width:2rem;text-align:center}.score-summary-win .score-summary-result{color:var(--success, #22c55e)}.score-summary-loss .score-summary-result{color:var(--danger, #ef4444)}.score-summary-tie .score-summary-result{color:var(--warning, #eab308)}.score-summary-teams{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;color:var(--text-primary)}.score-summary-our{font-weight:700}.score-summary-sep{color:var(--text-muted)}.score-summary-their{font-weight:500;color:var(--text-secondary)}.score-summary-label{margin-left:auto;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.event-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;background:var(--bg-inset);padding:1rem;border-radius:var(--radius-md);margin-bottom:1.5rem}.event-info-item label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem}.event-info-item p{margin:0;font-weight:500;color:var(--text-primary)}.event-location-section,.event-notes{margin-bottom:1.5rem}.event-location-section h3,.event-notes h3{margin:0 0 .5rem;font-size:1rem}.location-name{font-weight:500;margin:0 0 .25rem}.location-address{color:var(--text-muted);margin:0 0 .5rem}.directions-link{display:inline-block;color:var(--forest);font-weight:500;font-size:.875rem;margin-top:.25rem}.event-map-link{display:block;margin-bottom:1rem;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:opacity .2s ease}.event-map-link:hover{opacity:.9}.event-static-map{width:100%;height:auto;max-height:300px;object-fit:cover;display:block;border-radius:var(--radius-md)}@media (max-width: 640px){.event-static-map{max-height:200px}}.location-picker{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem}.location-picker>.form-label{margin-bottom:.75rem;font-weight:600}.rsvp-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-light)}.rsvp-section h3{margin:0 0 1rem}.rsvp-buttons{display:flex;gap:.75rem;margin-bottom:1.5rem}.rsvp-summary{display:flex;gap:2rem}.rsvp-group{display:flex;flex-direction:column;align-items:center}.rsvp-count{font-size:1.5rem;font-weight:700}.rsvp-count.attending{color:var(--success)}.rsvp-count.not-attending{color:var(--danger)}.rsvp-count.maybe{color:var(--warning)}.rsvp-label{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.rsvp-names{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;text-align:center}.invitation-section{background:var(--bg-card);border-radius:var(--radius-md);padding:1.5rem;border:1px solid var(--border-light);margin-bottom:1.5rem}.invitation-section h3{margin:0 0 1rem}.invitation-code-display{display:flex;align-items:center;gap:.75rem;background:var(--bg-inset);padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.invitation-code-display code{font-size:1.5rem;font-weight:700;letter-spacing:.1em;color:var(--text-primary)}.invitation-list{display:flex;flex-direction:column;gap:.5rem}.invitation-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-inset);border-radius:var(--radius-sm);font-size:.875rem}.invitation-item code{font-weight:600}.join-team-form{max-width:400px;margin:0 auto}.join-team-form input{text-transform:uppercase;letter-spacing:.15em;font-weight:600;text-align:center;font-size:1.25rem}.search-results{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.access-request-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:.5rem}.access-request-actions{display:flex;gap:.5rem}.org-cards{display:flex;flex-direction:column;gap:1rem}.org-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer}.org-card:hover{border-color:var(--forest)}.org-card h3{margin:0}.org-card p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-muted)}.org-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.org-teams-list{display:flex;flex-direction:column;gap:.75rem}.org-team-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-inset);border-radius:var(--radius-sm)}.org-admin-invite{max-width:400px;margin-top:1.5rem}.game-mode-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0 1.5rem}.mode-card{border:2px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;text-align:center;transition:border-color .15s,box-shadow .15s}.mode-card:hover,.mode-card.selected{border-color:var(--forest)}.mode-card.selected{box-shadow:0 0 0 2px #aee92b40}.mode-card .card-title{font-size:1rem}.mode-description{margin:0;font-size:.875rem;color:var(--text-muted)}.lineup-editor{max-width:600px}.lineup-list{display:flex;flex-direction:column;gap:.5rem}.lineup-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.lineup-row-warning{border-color:var(--lime-dark);background:var(--warning-light)}.lineup-order{display:flex;align-items:center;gap:.5rem;min-width:3.5rem;flex-shrink:0}.batting-order{font-weight:700;font-size:1.125rem;min-width:1.5rem;text-align:center;color:var(--text-muted)}.lineup-controls{display:flex;flex-direction:column;gap:2px}.lineup-btn{padding:0 .25rem;background:none;border:1px solid var(--border-default);border-radius:3px;cursor:pointer;font-size:.75rem;color:var(--text-muted);line-height:1.2}.lineup-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-secondary)}.lineup-btn:disabled{opacity:.3;cursor:default}.lineup-player{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.player-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-number{font-size:.875rem;color:var(--text-muted);flex-shrink:0}.position-cell{display:flex;flex-direction:column;gap:.125rem;min-width:7rem;flex-shrink:0}.position-select{min-width:6rem}.position-warning{font-size:.7rem;color:var(--warning);font-weight:500}.dh-toggle{margin-bottom:1rem}.dh-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer}.dh-hint{font-size:.75rem;color:var(--text-muted);margin:.25rem 0 0 1.5rem}.add-player-section{margin-top:.75rem}.opponent-lineup{display:flex;flex-direction:column;gap:.5rem}.opponent-lineup-row{display:flex;align-items:center;gap:.5rem}.opponent-lineup-row .batting-order{min-width:1.5rem;text-align:center}.jersey-input{max-width:4rem}.opponent-position-select{max-width:7rem}.scoreboard{display:flex;background:var(--scoreboard-bg);color:#fff;border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;gap:.75rem}.scoreboard-left{flex:1 1 0%;min-width:0}.scoreboard-right{flex:0 0 180px;display:flex;align-items:center;justify-content:center}.scoreboard-teams{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700}.scoreboard-score{font-size:2rem}.scoreboard-innings{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem;font-size:.75rem}.scoreboard-inning{text-align:center;min-width:1.5rem}.scoreboard-inning.current{color:var(--lime);font-weight:700}.scoreboard-status{display:flex;justify-content:center;gap:2rem;margin-top:.75rem;font-size:.875rem;color:var(--text-faint)}.outs-display{display:flex;gap:4px;align-items:center}.out-circle.active{background:var(--lime);border-color:var(--lime)}.count-display{font-weight:500}.base-runners{display:flex;justify-content:center;margin:.75rem 0}.diamond{display:flex;flex-direction:column;align-items:center;gap:.25rem}.diamond-middle{display:flex;gap:1.5rem;align-items:center}.home-plate{width:16px;height:16px;background:var(--bg-card);border:2px solid var(--border-default);transform:rotate(45deg)}.base{width:48px;height:48px;transform:rotate(45deg);border:2px solid var(--border-default);background:var(--bg-inset);display:flex;align-items:center;justify-content:center}.base-occupied{background:var(--lime);border-color:var(--lime-dark)}.base-empty{background:var(--bg-inset)}.base-player{transform:rotate(-45deg);text-align:center;line-height:1.1}.base-player-name{font-size:.5625rem;font-weight:600;color:var(--text-primary);display:block;max-width:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-player-number{font-size:.5rem;color:var(--text-muted)}.scoreboard-info{display:flex;align-items:center;gap:1.25rem;margin-top:.75rem;font-size:.875rem;color:var(--border-default);flex-wrap:wrap}.info-label{color:var(--text-faint);margin-right:.25rem}.info-value{font-weight:600;color:#fff}.inning-info,.outs-info,.count-info{display:flex;align-items:center;gap:.375rem}.outs-indicator{display:flex;gap:4px;align-items:center}.out-circle{width:12px;height:12px;border-radius:50%;border:2px solid var(--text-muted)}.out-filled{background:var(--lime);border-color:var(--lime)}.inning-half-indicator{font-size:.625rem}.bases-field{position:relative;width:100%;max-width:140px}.bases-field-svg{display:block;width:100%;height:auto}.scoreboard-at-bat-info{display:flex;gap:1.5rem;margin-top:.5rem;font-size:.8125rem;color:var(--border-default)}.batter-game-summary{margin-top:.375rem;font-size:.75rem;color:var(--text-faint)}.batter-summary-top{display:flex;align-items:center;gap:.75rem}.batter-summary-line{font-weight:600;color:var(--border-default);white-space:nowrap}.batter-summary-results{display:flex;gap:.25rem;flex-wrap:wrap}.batter-result-chip{padding:.125rem .375rem;border-radius:4px;background:#ffffff14;font-size:.6875rem;font-weight:500;color:var(--text-faint)}.batter-result-chip.chip-hit{background:#aee92b26;color:var(--lime)}.batter-ab-details{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.375rem}.batter-ab-detail-row{display:flex;align-items:center;gap:.25rem}.ab-detail-result{font-size:.625rem;font-weight:600;color:var(--text-faint)}.ab-detail-result.detail-hit{color:var(--lime)}.ab-detail-tag{font-size:.5625rem;padding:.0625rem .25rem;border-radius:3px;background:#ffffff0f;color:var(--text-muted)}.ab-detail-pitch{background:#aee92b1f;color:var(--text-faint)}.ab-detail-fielder{color:var(--text-muted)}.scoreboard-table{overflow-x:auto}.scoreboard-table table{width:100%;border-collapse:collapse;font-size:.625rem;text-align:center}.scoreboard-table th,.scoreboard-table td{padding:.125rem .1875rem;min-width:1.125rem}.scoreboard-table th{color:var(--text-faint);font-weight:500}.scoreboard-table .team-name{text-align:left;font-weight:600;color:#fff;min-width:3rem;max-width:5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-table .current-inning{color:var(--lime);font-weight:700}.scoreboard-table .total-column{border-left:1px solid var(--forest-lighter);font-weight:600}.scoreboard-table .total-runs{color:var(--lime)}.pitch-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.pitch-btn{padding:1rem;border:2px solid;border-radius:var(--radius-md);font-weight:700;font-size:1rem;cursor:pointer;text-align:center}.pitch-btn.ball{background:var(--sage-light);border-color:var(--forest);color:var(--forest)}.pitch-btn.strike{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.pitch-btn.foul{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.pitch-btn.in-play{background:var(--success-light);border-color:var(--success);color:var(--success)}.pitch-btn.hbp{background:var(--sage-light);border-color:var(--forest-light);color:var(--forest-light)}.pitch-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1rem}.pitch-type-chip{padding:.5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-size:.75rem;text-align:center;font-weight:500}.pitch-type-chip.selected{background:var(--forest);color:#fff;border-color:var(--forest)}.strike-zone-container{display:flex;flex-direction:column;align-items:center}.strike-zone-container>h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.strike-zone-wrapper{display:flex;flex-direction:column;align-items:center;gap:0}.strike-zone-row{display:flex;align-items:center;gap:0}.strike-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:120px;height:120px;border:2px solid var(--forest);background:var(--border-light)}.zone-cell{background:var(--bg-card);cursor:pointer;border:none;transition:background var(--transition-fast)}.zone-cell:hover,.zone-cell.zone-hovered{background:var(--sage-light)}.zone-cell.zone-selected{background:var(--forest)}.border-zone{display:flex;align-items:center;justify-content:center}.border-zone-top,.border-zone-bottom{width:120px;margin-left:auto;margin-right:auto}.border-zone-left,.border-zone-right{width:36px}.border-zone-btn{display:block;width:100%;padding:.25rem .35rem;font-size:.7rem;font-weight:600;color:var(--text-muted);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:all var(--transition-fast)}.border-zone-btn:hover{border-color:var(--forest);color:var(--forest);background:var(--sage-light)}.border-zone-btn.zone-selected{background:var(--forest);border-color:var(--forest);color:#fff}.zone-label{margin-top:.25rem;font-size:.75rem;color:var(--text-muted);text-align:center}.strike-zone{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:120px;height:120px;margin:0 auto 1rem;border:2px solid var(--forest);background:var(--border-light)}.strike-zone-cell{background:var(--bg-card);cursor:pointer;border:none}.strike-zone-cell:hover{background:var(--sage-light)}.strike-zone-cell.selected{background:var(--forest)}.at-bat-results{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.result-group h4{margin:0 0 .5rem;font-size:.75rem;text-transform:uppercase;color:var(--text-muted)}.result-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.result-btn{padding:.5rem 1rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-size:.875rem;font-weight:500}.result-btn:hover{background:var(--bg-inset);border-color:var(--forest)}.pbp{max-height:500px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md)}.pbp-title{position:sticky;top:0;z-index:3;background:var(--bg-card);margin:0;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;border-bottom:2px solid var(--border-light)}.pbp-scroll{display:flex;flex-direction:column}.pbp-empty{color:var(--text-muted);text-align:center;padding:2rem 0}.pbp-inning{border-bottom:1px solid var(--border-light)}.pbp-inning:last-child{border-bottom:none}.pbp-inning-header{position:sticky;top:42px;z-index:2;background:var(--scoreboard-bg);color:var(--scoreboard-text);padding:.375rem 1rem;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.pbp-inning-plays{display:flex;flex-direction:column}.pbp-nonpitch{padding:.375rem 1rem;font-size:.75rem;font-weight:600;font-style:italic;color:var(--text-muted);background:var(--bg-hover);border-bottom:1px solid var(--border-light)}.pbp-substitution{display:flex;align-items:center;gap:.5rem;padding:.375rem 1rem;font-size:.75rem;color:var(--text-muted);background:var(--bg-hover);border-bottom:1px solid var(--border-light);border-left:3px solid var(--info)}.pbp-sub-icon{font-size:.875rem;color:var(--info);flex-shrink:0}.pbp-sub-text{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.pbp-sub-text strong{color:var(--text-primary);font-weight:600}.pbp-sub-pos{font-size:.625rem;font-weight:700;background:var(--info-light);color:var(--info);padding:.0625rem .3rem;border-radius:var(--radius-sm);margin-left:.25rem}.pbp-ab{border-bottom:1px solid var(--border-light);transition:background .1s}.pbp-ab:last-child{border-bottom:none}.pbp-ab.ab-hit{border-left:3px solid var(--success)}.pbp-ab.ab-out{border-left:3px solid var(--text-faint)}.pbp-ab.ab-walk{border-left:3px solid var(--info)}.pbp-ab.ab-error{border-left:3px solid var(--warning)}.pbp-ab-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.pbp-ab-summary:hover{background:var(--bg-inset)}.pbp-ab-left{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;overflow:hidden}.pbp-ab-batter{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.pbp-ab-result-badge{font-size:.6875rem;font-weight:700;padding:.125rem .4rem;border-radius:var(--radius-xs);white-space:nowrap;letter-spacing:.01em}.pbp-ab-result-badge.ab-hit{background:var(--success-light);color:var(--success)}.pbp-ab-result-badge.ab-out{background:var(--bg-inset);color:var(--text-muted)}.pbp-ab-result-badge.ab-walk{background:var(--info-light);color:var(--info)}.pbp-ab-result-badge.ab-error{background:var(--warning-light);color:var(--warning)}.pbp-ab-detail{font-size:.6875rem;color:var(--text-faint);white-space:nowrap}.pbp-ab-runs{font-size:.6875rem;font-weight:700;color:var(--success);white-space:nowrap}.pbp-ab-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pbp-ab-sequence{display:flex;align-items:center;gap:2px}.seq-dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:9px;font-weight:800;border-radius:3px;line-height:1}.seq-ball{background:#dbeafe;color:#2563eb}.seq-strike{background:#fee2e2;color:#dc2626}.seq-foul{background:#fef3c7;color:#d97706}.seq-inplay{background:var(--success-light);color:var(--success)}.seq-hbp{background:#fce7f3;color:#be185d}.pbp-ab-pitch-count{font-size:.6875rem;font-weight:600;color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:1.5rem;text-align:right}.pbp-ab-chevron{font-size:.625rem;color:var(--text-faint);transition:transform .15s ease}.pbp-ab-chevron.open{transform:rotate(180deg)}.pbp-ab-pitches{background:var(--bg-inset);border-top:1px solid var(--border-light);padding:.25rem 0}.pbp-pitch{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem .25rem 1.25rem;font-size:.75rem;transition:background .1s}.pbp-pitch:hover{background:var(--bg-hover)}.pbp-pitch-clickable{cursor:pointer}.pbp-pitch-edited{border-left:2px solid var(--warning);margin-left:-2px}.pbp-pitch-num{font-size:.625rem;font-weight:600;color:var(--text-faint);min-width:1.25rem;font-variant-numeric:tabular-nums}.pbp-pitch-count-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);min-width:1.5rem;font-variant-numeric:tabular-nums}.pbp-pitch-outcome{font-weight:500;color:var(--text-secondary)}.pbp-pitch-outcome.outcome-ball{color:#2563eb}.pbp-pitch-outcome.outcome-strike{color:#dc2626}.pbp-pitch-outcome.outcome-foul{color:#d97706}.pbp-pitch-outcome.outcome-play{color:var(--success)}.pbp-pitch-result{background:var(--bg-hover)}.pbp-pitch-final{font-size:.6875rem;font-weight:700;margin-left:auto}.pbp-pitch-final.ab-hit{color:var(--success)}.pbp-pitch-final.ab-out{color:var(--text-muted)}.pbp-pitch-final.ab-walk{color:var(--info)}.pbp-pitch-final.ab-error{color:var(--warning)}.pbp-pitch-edited-badge{font-size:.5625rem;font-weight:600;text-transform:uppercase;color:var(--warning);background:var(--warning-light);padding:.0625rem .25rem;border-radius:2px;letter-spacing:.03em}@media (max-width: 600px){.pbp-ab-summary{padding:.5rem;gap:.375rem}.pbp-ab-left{flex-wrap:wrap;gap:.25rem}.pbp-ab-sequence{display:none}.pbp-pitch{padding-left:1rem;font-size:.6875rem}}.empty-message{color:var(--text-muted);text-align:center;padding:2rem 0}.live-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--danger-light);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;color:var(--danger)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.game-setup{max-width:700px;margin:0 auto}.game-setup h2,.game-setup-section{margin-bottom:1.5rem}.game-setup-section .input-label{display:block;margin-bottom:.5rem}.game-setup-section .form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.home-away-toggle{display:flex;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem}.home-away-toggle button{flex:1;padding:.75rem;border:none;background:var(--bg-card);cursor:pointer;font-weight:500}.home-away-toggle button.active{background:var(--forest);color:#fff}.scorekeeper-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}.scorekeeper-main{display:flex;flex-direction:column;gap:1rem}.scorekeeper-sidebar{display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.scorekeeper-layout{grid-template-columns:1fr}.pitch-type-grid{grid-template-columns:repeat(3,1fr)}.game-mode-selector{grid-template-columns:1fr;gap:.75rem}}.stats-table-wrapper{overflow-x:auto;margin-bottom:1.5rem}.stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.stats-table th{background:var(--bg-inset);padding:.625rem .75rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-light);white-space:nowrap}.stats-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light);white-space:nowrap}.stats-table tr:hover{background:var(--bg-inset)}.stats-table .stat-highlight{font-weight:700;color:var(--text-primary)}.stats-tabs{display:inline-flex;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-full);padding:4px;gap:4px;margin-bottom:1.5rem}.stats-tabs .toggle-btn{padding:.5rem 1.25rem;border:none;border-radius:var(--radius-full);background:transparent;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);font-family:var(--font-body)}.stats-tabs .toggle-btn:hover:not(.active){color:var(--text-secondary);background:var(--bg-hover)}.stats-tabs .toggle-btn.active{background:var(--lime);color:var(--forest);box-shadow:0 1px 3px #aee92b4d}.stats-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.stats-section h3{margin:0 0 1rem}.stats-record-bar{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.record-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem 1.25rem;text-align:center;min-width:80px}.record-card-main{background:var(--forest);border-color:var(--forest)}.record-card-main .record-card-value{color:#fff}.record-card-main .record-card-label{color:#ffffffb3}.record-card-value{display:block;font-size:1.5rem;font-weight:700;color:var(--forest);line-height:1.2}.record-card-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.125rem}.record-card-w .record-card-value{color:var(--success)}.record-card-l .record-card-value{color:var(--danger)}.game-log-table td:first-child{color:var(--text-muted);font-size:.8125rem}.game-result-badge{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-weight:700;font-size:.75rem;text-align:center;min-width:24px}.result-W{background:var(--success-light);color:var(--success)}.result-L{background:var(--danger-light);color:var(--danger)}.result-T{background:var(--bg-hover);color:var(--text-muted)}.stats-leaders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.leader-card{background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.75rem;text-align:center}.leader-stat-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.leader-stat-value{display:block;font-size:1.375rem;font-weight:700;color:var(--forest);line-height:1.3}.leader-player-name{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.125rem}.leaderboard-section{margin-bottom:2rem}.leaderboard-section h3{margin-bottom:.75rem}.leaderboard-chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:1rem;-webkit-overflow-scrolling:touch}.leaderboard-chip{flex-shrink:0;padding:.375rem .875rem;border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.leaderboard-chip:hover{border-color:var(--text-faint)}.leaderboard-chip.active{background:var(--forest);color:#fff;border-color:var(--forest)}.leaderboard-list{display:flex;flex-direction:column;gap:.25rem}.leaderboard-row{display:flex;align-items:center;padding:.625rem .75rem;background:var(--bg-inset);border-radius:var(--radius-md)}.leaderboard-row:nth-child(odd){background:var(--bg-card)}.leaderboard-rank{width:2rem;font-weight:700;font-size:.875rem;color:var(--text-muted)}.leaderboard-rank.gold{color:#d4a017}.leaderboard-rank.silver{color:#a0a0a0}.leaderboard-rank.bronze{color:#cd7f32}.leaderboard-name{flex:1;font-size:.9375rem;color:var(--text-primary)}.leaderboard-value{font-weight:700;font-size:.9375rem;color:var(--forest);text-align:right;min-width:3rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.stat-card{background:var(--bg-inset);border-radius:var(--radius-md);padding:1rem;text-align:center}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-card .stat-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-top:.25rem}.leaderboard-sort{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.sort-chip{padding:.375rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-card);cursor:pointer;font-size:.75rem;font-weight:500}.sort-chip.active{background:var(--forest);color:#fff;border-color:var(--forest)}.leaderboard-rank{font-weight:700;color:var(--text-muted);min-width:1.5rem}.leaderboard-rank.top-3{color:#f59e0b}.insights-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.insights-section h3{margin:0 0 1rem}.trend-chart{display:flex;align-items:flex-end;gap:4px;height:120px;padding:.5rem 0}.trend-bar{flex:1;background:var(--forest);border-radius:2px 2px 0 0;min-height:4px;position:relative}.trend-bar:hover:after{content:attr(data-value);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--scoreboard-bg);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.625rem;white-space:nowrap}.direction-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.direction-badge.improving{background:var(--success-light);color:var(--success)}.direction-badge.declining{background:var(--danger-light);color:var(--danger)}.direction-badge.stable{background:var(--bg-inset);color:var(--text-muted)}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.comparison-item{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-inset);border-radius:var(--radius-md)}.comparison-item .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;margin-bottom:.25rem}.comparison-item .value{font-size:1.25rem;font-weight:700}.comparison-item .value.player{color:var(--forest)}.comparison-item .value.team{color:var(--text-muted)}.insight-item{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border-light)}.insight-item:last-child{border-bottom:none}.insight-icon{font-size:1.25rem;line-height:1}.insight-text{font-size:.875rem;color:var(--text-secondary)}.insight-label{display:inline-block;font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.125rem .375rem;border-radius:3px;margin-right:.5rem}.insight-label.strength{background:var(--success-light);color:var(--success)}.insight-label.improvement{background:var(--warning-light);color:var(--warning)}.error-boundary{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.error-boundary-content{text-align:center;max-width:400px}.error-boundary-content h2{margin:0 0 .75rem;color:var(--danger)}.error-boundary-content p{color:var(--text-muted);margin-bottom:1.5rem}.offline-indicator{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--warning-light);color:var(--warning);padding:.5rem 1rem;font-size:.875rem;font-weight:500}.offline-dot{width:8px;height:8px;border-radius:50%;background:var(--warning)}.game-control-bar{display:flex;align-items:center;gap:.5rem;padding:.625rem 0;margin-bottom:.5rem;border-bottom:1px solid var(--border-light);flex-wrap:wrap}.game-ctrl-btn{padding:.5rem 1rem;border-radius:var(--radius-sm);border:2px solid;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.game-ctrl-start{background:var(--success);border-color:var(--success);color:#fff}.game-ctrl-start:hover{background:#2d8a33;border-color:var(--success)}.game-ctrl-pause{background:var(--warning);border-color:var(--lime-dark);color:#fff}.game-ctrl-pause:hover{background:#d97706;border-color:var(--warning)}.game-ctrl-resume{background:var(--forest);border-color:var(--forest);color:#fff}.game-ctrl-resume:hover{background:var(--forest-dark);border-color:var(--forest-dark)}.game-ctrl-end{background:var(--bg-card);border-color:var(--danger);color:var(--danger)}.game-ctrl-end:hover{background:var(--danger-light)}.game-ctrl-restart{background:var(--bg-card);border-color:var(--text-muted);color:var(--text-muted)}.game-ctrl-restart:hover{background:var(--bg-inset);border-color:var(--text-secondary);color:var(--text-secondary)}.game-ctrl-undo{background:var(--bg-card);border-color:var(--lime-dark);color:var(--warning)}.game-ctrl-undo:hover{background:var(--warning-light);border-color:var(--warning);color:var(--warning)}.game-ctrl-sub{background:var(--bg-card);border-color:var(--forest-lighter);color:var(--forest-light)}.game-ctrl-sub:hover{background:var(--sage-light);border-color:var(--forest-light);color:var(--forest)}.game-ctrl-status{font-weight:700;font-size:1rem;color:var(--text-secondary)}.game-status-badge{margin-left:auto;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.status-not_started{background:var(--bg-hover);color:var(--text-muted)}.status-in_progress{background:var(--success-light);color:var(--success)}.status-suspended{background:var(--warning-light);color:var(--warning)}.status-final{background:var(--border-light);color:var(--text-secondary)}.game-paused-overlay{background:var(--bg-inset);border:1px dashed #d1d5db;border-radius:var(--radius-md);padding:2rem;text-align:center;margin-bottom:1rem}.game-paused-message{margin:0 0 .75rem;font-size:1rem;color:var(--text-muted)}.matchup-bar-paused{opacity:.6}.matchup-bar{display:flex;align-items:center;gap:1rem;background:var(--scoreboard-bg);color:#fff;padding:.625rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.matchup-inning{font-weight:700;font-size:1rem;min-width:60px}.matchup-batter{display:flex;align-items:center;gap:.375rem;flex:1}.matchup-number{color:var(--text-faint);font-size:.8125rem}.matchup-name{font-weight:600}.matchup-count{display:flex;align-items:center;gap:.25rem;font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums}.count-balls{color:#4ade80}.count-strikes{color:#f87171}.count-sep{color:var(--text-muted)}.matchup-outs{display:flex;gap:.3rem}.out-dot{width:12px;height:12px;border-radius:50%;background:var(--forest-lighter);display:inline-block}.out-dot.active{background:var(--lime)}.matchup-pitcher{display:flex;align-items:center;gap:.25rem;color:var(--text-faint);font-size:.8125rem}.matchup-label{font-weight:600}.scorekeeper-actions{display:flex;flex-wrap:nowrap;gap:.375rem}.scorekeeper-actions .btn{flex:1 1 0%;white-space:nowrap;font-size:.75rem;padding:.375rem .5rem}.pitch-recorder{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.25rem;text-align:center}.count-display-large{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.25rem}.count-item{display:flex;flex-direction:column;align-items:center}.count-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.125rem}.count-number{font-size:2.5rem;font-weight:800;line-height:1;color:var(--text-primary)}.count-balls-lg{color:var(--success)}.count-strikes-lg{color:var(--danger)}.count-separator{font-size:2rem;font-weight:700;color:var(--border-default)}.pitch-made-btn{display:block;width:140px;height:140px;margin:0 auto .75rem;border-radius:50%;border:4px solid var(--lime);background:var(--lime);color:var(--forest);font-size:1.5rem;font-weight:800;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:background var(--transition-fast),transform .1s,box-shadow var(--transition-fast);box-shadow:0 4px 20px #aee92b4d}.pitch-made-btn:hover{background:var(--lime-light);box-shadow:0 6px 28px #aee92b66}.pitch-made-btn:active{transform:scale(.96);background:var(--lime-dark)}.pitch-hint{margin:0;font-size:.8125rem;color:var(--text-faint)}.pitch-prompt-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.pitch-prompt-label{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--forest)}.pitch-prompt-count{font-size:1.125rem;font-weight:800;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pitch-step-title{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.pitch-outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}.outcome-btn{padding:.875rem .5rem;border-radius:var(--radius-md);border:2px solid var(--border-light);background:var(--bg-card);font-size:.875rem;font-weight:600;cursor:pointer;transition:background .1s,border-color .1s}.outcome-btn:active{transform:scale(.97)}.outcome-ball{border-color:var(--success);color:var(--success)}.outcome-ball:hover{background:var(--success-light);border-color:var(--success)}.outcome-strike{border-color:var(--danger);color:var(--danger)}.outcome-strike:hover{background:var(--danger-light);border-color:var(--danger)}.outcome-foul{border-color:var(--lime-pale);color:var(--warning)}.outcome-foul:hover{background:var(--warning-light);border-color:var(--lime)}.outcome-in-play{grid-column:span 2;border-color:var(--forest);background:var(--forest);color:#fff}.outcome-in-play:hover{background:var(--forest-dark);border-color:var(--forest-dark)}.outcome-hbp{border-color:var(--border-default);color:var(--forest-light)}.outcome-hbp:hover{background:var(--sage-light);border-color:var(--forest-light)}.pitch-cancel-btn{margin-top:.75rem;padding:.375rem 1rem;border:none;background:none;color:var(--text-muted);font-size:.8125rem;cursor:pointer}.pitch-cancel-btn:hover{color:var(--text-secondary)}.pitch-type-inline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem}.pitch-type-inline-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;text-align:left;transition:background .1s,border-color .1s}.pitch-type-inline-btn:hover{background:var(--sage-light);border-color:var(--lime)}.pitch-type-inline-btn:active{background:var(--sage);border-color:var(--forest)}.pitch-type-inline-code{font-weight:700;font-size:.8125rem;color:var(--forest);min-width:2rem}.pitch-type-inline-name{font-size:.75rem;color:var(--text-secondary)}.pitch-prompt-type{background:var(--sage);color:var(--forest-dark);padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.sz-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.sz-area{position:relative;width:240px;height:300px;margin:0 auto;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none}.sz-outer{position:absolute;top:0;right:0;bottom:40px;left:0;border:2px solid var(--border-default);border-radius:4px;background:var(--bg-inset)}.sz-inner{position:absolute;border:2.5px solid var(--forest);background:#ffffffb3}.sz-gridline{position:absolute;background:var(--border-default)}.sz-gridline-v{width:1px}.sz-gridline-h{height:1px}.sz-label{position:absolute;transform:translate(-50%,-50%);font-size:.6875rem;font-weight:600;color:var(--text-faint);pointer-events:none;transition:color .1s,transform .1s}.sz-label-active{color:var(--forest);transform:translate(-50%,-50%) scale(1.3);font-weight:700}.sz-label-outer{color:var(--text-faint)}.sz-home-plate{position:absolute;bottom:2px;width:50px;height:25px;transform:translate(-50%);pointer-events:none}.sz-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--danger);border:2.5px solid #fff;box-shadow:0 0 0 1px #0003,0 2px 6px #00000040;transform:translate(-50%,-50%);pointer-events:none;transition:left .05s,top .05s}.sz-readout{text-align:center;min-height:1.25rem}.sz-zone-name{font-size:.8125rem;font-weight:600;color:var(--forest)}.sz-zone-hint{font-size:.8125rem;color:var(--text-faint)}.sz-confirm-btn{padding:.5rem 1.5rem;border:none;border-radius:var(--radius-sm);background:var(--forest);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.sz-confirm-btn:hover,.sz-confirm-btn:active{background:var(--forest-dark)}.basic-at-bat{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem}.at-bat-result{display:flex;flex-direction:column;gap:.75rem}.result-step-title{margin:0;font-size:1rem;font-weight:600}.result-step-subtitle{margin:0;font-size:.875rem;color:var(--text-muted)}.result-group-name{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;margin-bottom:.5rem}.result-btn{font-size:.8125rem;padding:.625rem .375rem}.fielder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem}.fielder-btn{padding:.625rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-weight:600;font-size:.875rem;text-align:center}.fielder-btn:hover{border-color:var(--forest);background:var(--sage-light)}.fielder-btn.fielder-selected{background:var(--forest);color:#fff;border-color:var(--forest)}.fielder-actions{display:flex;gap:.5rem;margin-top:.5rem}.spray-chart-wrapper{margin:.5rem auto;max-width:320px}.spray-chart-field{position:relative;cursor:crosshair;overflow:hidden;border-radius:var(--radius-md);border:1px solid var(--border-light)}.spray-chart-svg{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none}.spray-drag-hint{margin:.375rem 0 0;font-size:.8125rem;color:var(--text-faint);text-align:center}.advanced-controls{display:flex;gap:1rem;align-items:flex-start}.runner-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.runner-confirm-panel{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;width:90%;max-width:380px;text-align:center}.confirm-title{font-size:1.125rem;font-weight:700;margin:0 0 1rem}.confirm-diamond{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:1.25rem}.confirm-diamond-middle{display:flex;gap:2rem;align-items:center}.confirm-home{width:16px;height:16px;background:var(--bg-card);border:2px solid var(--border-default);transform:rotate(45deg)}.confirm-base{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem .75rem;border:2px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-inset);min-width:70px}.confirm-base-occupied{border-color:var(--lime);background:var(--warning-light)}.confirm-base-label{font-size:.6875rem;color:var(--text-muted);font-weight:600;text-transform:uppercase}.confirm-runner-name{font-size:.8125rem;font-weight:600;color:var(--text-primary)}.confirm-actions{display:flex;gap:.75rem;justify-content:center}.confirm-hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-faint)}.confirm-base{cursor:pointer;transition:border-color .15s,background .15s,transform .1s;-webkit-user-select:none;user-select:none}.confirm-base-occupied:hover{border-color:var(--lime-dark);transform:scale(1.05)}.confirm-base-occupied:active{transform:scale(.97)}.confirm-base-advanced{border-color:var(--success);background:var(--success-light)}.confirm-base-advanced:hover{border-color:var(--success)}.confirm-scored{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.625rem .75rem;background:var(--success-light);border:1px solid var(--success);border-radius:var(--radius-md);font-size:.875rem}.confirm-scored-label{font-weight:600;color:var(--success)}.confirm-scored-runner{padding:.25rem .625rem;background:var(--success-light);border-radius:var(--radius-full);font-weight:500;color:var(--success);cursor:pointer;font-size:.8125rem}.confirm-scored-runner:hover{background:var(--success-light)}.confirm-runner-controls{display:flex;flex-direction:column;gap:.375rem;margin-bottom:.75rem;text-align:left}.confirm-runner-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-sm);transition:background .15s,border-color .15s}.confirm-runner-row.confirm-runner-out{background:var(--danger-light);border-color:var(--danger);opacity:.7}.confirm-runner-info{display:flex;flex-direction:column;gap:.125rem}.confirm-runner-row-name{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.confirm-runner-number{font-weight:400;color:var(--text-muted)}.confirm-runner-status{font-size:.75rem}.confirm-status-safe{color:var(--text-muted)}.confirm-status-advanced{color:var(--success);font-weight:600}.confirm-status-scored{color:var(--success);font-weight:700}.confirm-status-out{color:var(--danger);font-weight:700}.confirm-runner-actions{flex-shrink:0}.confirm-out-btn{padding:.25rem .625rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s}.confirm-out-btn:hover{border-color:var(--danger);color:var(--danger)}.confirm-out-btn.confirm-out-active{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.confirm-out-section{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;background:var(--danger-light);border-radius:var(--radius-sm);font-size:.8125rem}.confirm-out-label{font-weight:600;color:var(--danger)}.confirm-out-runner{padding:.25rem .625rem;background:var(--bg-card);border:1px solid var(--danger);border-radius:var(--radius-full);font-weight:500;font-size:.8125rem;color:var(--danger);cursor:pointer}.confirm-out-runner:hover{background:var(--danger-light)}.confirm-reasons{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1rem;text-align:left}.confirm-reason-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .75rem;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.confirm-reason-name{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.confirm-reason-arrow{font-size:.75rem;color:var(--text-muted)}.confirm-reason-select{padding:.375rem .5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.8125rem;background:var(--bg-card)}.mid-play-toggle{display:flex;gap:.5rem;margin-top:.5rem}.mid-play-panel{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin-top:.5rem}.mid-play-panel h4{margin:0 0 .75rem;font-size:.9375rem}.mid-play-options{display:flex;flex-wrap:wrap;gap:.5rem}.mid-play-runner-select,.mid-play-confirm{display:flex;flex-direction:column;gap:.5rem}.mid-play-runner-select p,.mid-play-confirm p{margin:0 0 .25rem;font-size:.875rem;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;max-width:420px;width:90%;max-height:85vh;overflow-y:auto}.play-edit-modal h3{margin:0 0 .25rem}.edit-play-info{color:var(--text-muted);font-size:.875rem;margin:0 0 1rem}.edit-field{margin-bottom:1rem}.edit-field label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.375rem}.edit-field select{width:100%;padding:.5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:.875rem}.earned-run-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.25rem}.edit-actions{display:flex;gap:.5rem;margin-top:1rem}.play-edit-modal{max-width:500px}.edit-chip-row{display:flex;flex-wrap:wrap;gap:.375rem}.edit-chip{padding:.375rem .625rem;font-size:.8125rem;font-weight:500;border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.edit-chip:hover{border-color:var(--forest);background:var(--sage-light)}.edit-chip.edit-chip-active{background:var(--forest);border-color:var(--forest);color:#fff}.edit-result-group{margin-bottom:.5rem}.edit-result-group-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.edit-pitch-type-row{gap:.25rem}.edit-pitch-type-row .edit-chip{display:flex;flex-direction:column;align-items:center;padding:.3rem .5rem;min-width:3rem;line-height:1.2}.edit-pitch-code{font-weight:700;font-size:.75rem;letter-spacing:.03em}.edit-pitch-name{font-size:.6rem;opacity:.7;white-space:nowrap}.edit-chip.edit-chip-active .edit-pitch-name{opacity:.9}.edit-chip-clear{padding:.25rem .5rem;font-size:.75rem;color:var(--text-muted);background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.edit-chip-clear:hover{color:var(--forest);border-color:var(--forest)}.play-edit-modal .strike-zone-container>h3{display:none}.play-edit-modal .strike-zone-wrapper{max-width:220px}.play-edit-modal .spray-chart-wrapper{max-width:260px}.undo-confirm-modal h3{margin:0 0 1rem}.undo-preview{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:1rem}.undo-preview-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.undo-label{color:var(--text-muted);font-weight:500}.undo-value{font-weight:600;color:var(--text-primary);text-transform:capitalize}.undo-result{color:var(--forest)}.undo-confirm-btn{background:var(--danger);border-color:var(--danger);color:#fff}.undo-confirm-btn:hover{background:var(--danger);border-color:var(--danger)}.substitution-panel{background:var(--bg-card);border:1px solid var(--border-light);border-radius:10px;padding:1.25rem;margin-top:.5rem}.sub-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sub-header h3{margin:0;font-size:1rem;font-weight:700}.sub-team-toggle{display:flex;border:1px solid var(--border-default);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem}.sub-team-toggle .toggle-btn{flex:1;padding:.5rem;border:none;background:var(--bg-card);cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--text-muted);transition:background .15s,color .15s}.sub-team-toggle .toggle-btn.active{background:var(--forest);color:#fff}.sub-step{margin-bottom:1rem}.sub-step h4{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.sub-lineup-list{display:flex;flex-direction:column;gap:.25rem}.sub-lineup-item{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;background:var(--bg-inset);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;text-align:left;width:100%;transition:border-color .15s,background .15s}.sub-lineup-item:hover{border-color:var(--lime);background:var(--sage-light)}.sub-lineup-item.sub-selected{border-color:var(--forest);background:var(--sage-light);box-shadow:0 0 0 1px #1b2d4e}.sub-order{font-weight:700;color:var(--text-muted);min-width:1.25rem;text-align:center}.sub-name{flex:1;font-weight:500;color:var(--text-primary)}.sub-pos{font-size:.75rem;font-weight:600;color:var(--text-muted);background:var(--border-light);padding:.125rem .375rem;border-radius:3px}.sub-bench-list{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.75rem}.sub-bench-item{padding:.375rem .75rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-size:.8125rem;font-weight:500;transition:border-color .15s,background .15s}.sub-bench-item:hover{border-color:var(--lime);background:var(--sage-light)}.sub-bench-item.sub-selected{border-color:var(--forest);background:var(--sage);color:var(--forest-dark)}.sub-manual-entry{display:flex;gap:.5rem}.sub-manual-entry .form-input{flex:1;font-size:.8125rem}.sub-jersey-input{max-width:3.5rem;text-align:center}.sub-position-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.375rem}.sub-pos-btn{padding:.5rem;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;font-weight:600;font-size:.8125rem;text-align:center;transition:border-color .15s,background .15s}.sub-pos-btn:hover{border-color:var(--lime);background:var(--sage-light)}.sub-pos-btn.sub-selected{background:var(--forest);color:#fff;border-color:var(--forest)}.sub-error{padding:.5rem .75rem;background:var(--danger-light);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);font-size:.8125rem;margin-bottom:.75rem}.sub-actions{margin-top:.75rem}.sub-mode-toggle{display:flex;gap:.25rem;margin-bottom:.75rem;background:var(--bg-inset);border-radius:var(--radius-md);padding:.2rem}.sub-mode-toggle .toggle-btn{flex:1;font-size:.75rem}.swap-player-row{margin-bottom:.375rem}.swap-pos-row{display:flex;align-items:center;gap:.5rem;padding:.375rem 0 .375rem 1.5rem}.swap-arrow{font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.sub-position-grid-sm{gap:.25rem}.sub-pos-btn-sm{padding:.3rem .375rem;font-size:.7rem}.swap-summary{margin-top:.75rem;padding:.5rem .75rem;background:var(--sage-light);border-radius:var(--radius-sm)}.swap-summary h4{margin:0 0 .375rem;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.swap-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.2rem 0;font-size:.8125rem}.swap-summary-name{font-weight:600;color:var(--text-primary)}.swap-summary-change{font-weight:500;color:var(--forest)}.pbp-sub-from{font-size:.75rem;color:var(--text-muted)}.box-score-section{margin-top:1.5rem;padding-top:1rem;border-top:2px solid var(--border-light)}.box-score-toggle{display:block;width:100%;padding:.625rem;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-inset);cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-secondary);text-align:center;transition:background .15s,border-color .15s}.box-score-toggle:hover{background:var(--sage-light);border-color:var(--lime);color:var(--forest)}.box-score{margin-top:1rem}.box-linescore{background:var(--scoreboard-bg);border-radius:var(--radius-md);padding:.75rem;margin-bottom:1rem;overflow-x:auto}.box-table{width:100%;border-collapse:collapse;font-size:.8125rem;text-align:center}.box-table th,.box-table td{padding:.375rem .5rem;white-space:nowrap}.box-linescore .box-table{color:var(--scoreboard-text);font-size:.75rem}.box-linescore .box-table th{color:var(--text-faint);font-weight:500;font-size:.6875rem}.box-linescore .box-table .team-name{text-align:left;font-weight:600;color:#fff}.box-linescore .box-table .total-column{border-left:1px solid var(--forest-lighter);font-weight:700;color:var(--lime)}.box-team-toggle{display:flex;gap:0;margin-bottom:1rem;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-default)}.box-team-btn{flex:1;padding:.5rem .75rem;border:none;background:var(--bg-inset);font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.box-team-btn:first-child{border-right:1px solid var(--border-default)}.box-team-btn:hover{background:var(--sage-light);color:var(--forest)}.box-team-btn-active{background:var(--forest);color:#fff}.box-team-btn-active:hover{background:var(--forest-dark);color:#fff}.box-linescore .box-table .box-row-active{background:#aee92b26}.box-linescore .box-table .box-row-active .team-name{color:var(--lime)}.box-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:.75rem;overflow:hidden}.box-section h4{margin:0;padding:.625rem .75rem;font-size:.8125rem;font-weight:700;background:var(--bg-inset);border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.box-table-scroll{overflow-x:auto}.box-section .box-table{font-size:.75rem}.box-section .box-table th{background:var(--bg-inset);font-weight:600;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border-light)}.box-section .box-table td{border-bottom:1px solid var(--border-light)}.box-section .box-table tr:last-child td{border-bottom:none}.box-section .box-table tr:hover{background:var(--bg-inset)}.box-sub-row td{border-top:none}.box-sub-dash{color:var(--text-muted);font-weight:400;font-size:.75rem}.box-section .box-table .player-name-cell{text-align:left;font-weight:500;color:var(--text-primary);min-width:7rem;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-number{font-size:.65rem;font-weight:600;color:var(--text-muted);margin-right:.25rem}.box-position{display:inline-block;font-size:.6rem;font-weight:700;color:var(--forest);background:var(--sage-light);padding:.05rem .3rem;border-radius:var(--radius-sm);margin-left:.3rem;vertical-align:middle;letter-spacing:.02em}@media (max-width: 768px){.matchup-bar{flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;font-size:.8125rem}.matchup-inning{min-width:auto}.advanced-controls{flex-direction:column}.scorekeeper-actions{gap:.25rem}.scorekeeper-actions .btn{font-size:.6875rem;padding:.375rem}}.back-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--forest);text-decoration:none;padding:.375rem .75rem;margin-bottom:1rem;border-radius:var(--radius-full);background:var(--sage);transition:background var(--transition-fast),color var(--transition-fast)}.back-link:hover{background:var(--sage-dark);color:var(--forest-dark)}.back-link:before{content:"←";font-size:1rem;line-height:1}.scout-player-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.scout-section{margin-bottom:2rem}.scout-section h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text-primary)}.scout-report{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem}.scout-report h4{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.scout-overview{font-style:italic;color:var(--text-secondary);margin:.5rem 0 0;line-height:1.5}.scout-profile-badge{display:inline-block;padding:.25rem .75rem;background:var(--forest);color:#fff;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em}.scout-grades{display:flex;flex-direction:column;gap:.75rem}.scout-grade{display:flex;flex-direction:column;gap:.25rem}.scout-grade-header{display:flex;justify-content:space-between;align-items:center}.scout-grade-tool{font-size:.875rem;font-weight:600;color:var(--text-primary)}.scout-grade-number{font-size:.875rem;font-weight:700;color:var(--text-secondary)}.scout-grade-track{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.scout-grade-bar{height:100%;border-radius:4px;transition:width .3s ease}.scout-grade-bar.elite{background:var(--success)}.scout-grade-bar.plus{background:#2563eb}.scout-grade-bar.average{background:#9ca3af}.scout-grade-bar.below{background:#d97706}.scout-grade-label{font-size:.75rem;color:var(--text-muted)}.scout-notes{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1rem}.scout-notes h4{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.scout-note{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.4}.scout-note.strength{border-left:3px solid #16a34a;background:var(--success-light);color:var(--success)}.scout-note.improvement{border-left:3px solid #d97706;background:var(--warning-light);color:var(--warning)}.scout-note-icon{font-weight:700;flex-shrink:0;width:1rem;text-align:center}.stat-comparisons{display:flex;flex-direction:column;gap:.5rem}.stat-comparison-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.875rem}.stat-comparison-row:last-child{border-bottom:none}.stat-comparison-label{font-weight:600;color:var(--text-primary);min-width:3rem}.stat-comparison-value{font-weight:700;color:var(--text-secondary);min-width:3.5rem;text-align:right}.stat-comparison-vs{color:var(--text-faint);font-size:.75rem}.stat-comparison-avg{color:var(--text-muted);min-width:3.5rem;text-align:right}.stat-diff{font-size:.75rem;font-weight:600;min-width:1rem;text-align:center}.stat-diff.positive{color:var(--success)}.stat-diff.negative{color:var(--danger)}.scout-cards{display:flex;flex-direction:column;gap:.75rem}.scout-card{display:block;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem 1.25rem;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}.scout-card:hover{border-color:var(--forest);box-shadow:0 2px 8px #00000014}.scout-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.scout-card-name{font-weight:700;font-size:1rem;color:var(--text-primary)}.scout-card-overview{font-style:italic;color:var(--text-muted);font-size:.8125rem;margin:0 0 .75rem;line-height:1.4}.scout-card-grades{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.scout-grade-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;color:#fff}.scout-grade-badge.elite{background:var(--success)}.scout-grade-badge.plus{background:#2563eb}.scout-grade-badge.average{background:#9ca3af}.scout-grade-badge.below{background:#d97706}.scout-card-stats{display:flex;gap:1.25rem}.scout-card-stat{display:flex;flex-direction:column;align-items:center}.scout-card-stat-label{font-size:.6875rem;color:var(--text-faint);text-transform:uppercase;font-weight:600}.scout-card-stat-value{font-size:.9375rem;font-weight:700;color:var(--text-primary)}.spray-insights{overflow:visible}.spray-insights-field{max-width:400px;margin:0 auto}.spray-insights-field .spray-chart-field{cursor:default}.spray-hit-marker{position:absolute;pointer-events:auto;opacity:.85;border:1px solid rgba(255,255,255,.6)}.spray-filters{display:flex;gap:.5rem;margin-bottom:1rem}.spray-legend{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.spray-legend-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.spray-legend-title{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem}.spray-legend-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.spray-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.spray-legend-shape{width:8px;height:8px;flex-shrink:0;background:#6b7280}.spray-legend-shape.circle{border-radius:50%}.spray-legend-shape.square{border-radius:2px}.spray-legend-shape.diamond{transform:rotate(45deg);border-radius:1px}.spray-legend-shape.triangle{width:0;height:0;background:transparent;border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:8px solid #6b7280}.spray-stats{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.spray-stats-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0;font-size:.875rem}.spray-stats-label{font-weight:600;color:var(--text-secondary)}.spray-stats-value{font-weight:700;color:var(--text-primary)}.spray-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.75rem}.spray-zone-item{display:flex;flex-direction:column;align-items:center;padding:.5rem;background:var(--bg-inset);border-radius:var(--radius-sm)}.spray-zone-label{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.spray-zone-pct{font-size:1.125rem;font-weight:700;color:var(--text-primary)}.spray-zone-avg{font-size:.6875rem;color:var(--text-muted)}.spray-bb-breakdown{margin-top:.75rem}.spray-bb-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.spray-bb-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--bg-inset);border-radius:4px;font-size:.75rem}.spray-bb-label{color:var(--text-secondary)}.spray-bb-pct{font-weight:700;color:var(--text-primary)}.opponent-list{display:flex;flex-direction:column;gap:.75rem}.opponent-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.opponent-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s}.opponent-header:hover{background:var(--bg-inset)}.opponent-header-left{display:flex;flex-direction:column;gap:.25rem}.opponent-name{font-size:1.0625rem;font-weight:700;color:var(--text-primary)}.opponent-meta{font-size:.8125rem;color:var(--text-muted)}.opponent-header-right{display:flex;align-items:center;gap:.75rem}.opponent-score-summary{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.opponent-chevron{font-size:.75rem;color:var(--text-faint);transition:transform .2s}.opponent-chevron.expanded{transform:rotate(180deg)}.opponent-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-light)}.opponent-summary{margin-bottom:1rem;padding-top:1rem}.opponent-games{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}.opponent-game-chip{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:700;letter-spacing:.02em}.opponent-game-chip.win{background:var(--success-light);color:var(--success);border:1px solid var(--success)}.opponent-game-chip.loss{background:var(--danger-light);color:var(--danger);border:1px solid var(--danger)}.opponent-game-chip.tie{background:var(--bg-inset);color:var(--text-muted);border:1px solid var(--border-light)}@media (max-width: 768px){.scout-grades{gap:.5rem}.stat-comparison-row{font-size:.8125rem;gap:.5rem}.scout-card-grades{gap:.375rem}.spray-legend{flex-direction:column;gap:.5rem}.spray-zone-grid{gap:.375rem}.opponent-header{padding:.75rem 1rem}.opponent-body{padding:0 1rem 1rem}.opponent-header-right{flex-direction:column;align-items:flex-end;gap:.25rem}}:root{--lime: #AEE92B;--lime-dark: #96CD1F;--lime-darker: #7DB11A;--lime-light: #C3F050;--lime-pale: #D8F68A;--sage: #E8F3DA;--sage-dark: #D4E8C1;--sage-darker: #C0DCA8;--sage-light: #F0F7E8;--sage-lighter: #F5FAF0;--dust: #F3EEE8;--dust-dark: #E8E0D6;--dust-light: #F9F6F2;--dust-lighter: #FDFCFA;--forest: #2A352A;--forest-dark: #1E271E;--forest-light: #3D4F3D;--forest-lighter: #4F634F;--text-primary: #2A352A;--text-secondary: #556455;--text-muted: #7E8E7E;--text-faint: #A3B0A3;--text-inverse: #FFFFFF;--bg-page: #F3EEE8;--bg-card: #FFFFFF;--bg-surface: #E8F3DA;--bg-elevated: #FFFFFF;--bg-inset: #F0F7E8;--bg-hover: #F5FAF0;--border-light: #E2E8DA;--border-default: #D4DCD0;--border-strong: #B8C8AD;--success: #3DA542;--success-light: #E8F5E3;--danger: #DC4040;--danger-light: #FDE8E8;--warning: #D4920A;--warning-light: #FDF3D7;--info: #3B82C6;--info-light: #E0EFFA;--scoreboard-bg: #2A352A;--scoreboard-surface: #354535;--scoreboard-text: #FFFFFF;--scoreboard-accent: #AEE92B;--scoreboard-muted: #8A9E8A;--primary-color: #2A352A;--primary-hover: #1E271E;--primary-bg: #E8F3DA;--secondary-color: #556455;--border-color: #D4DCD0;--bg-secondary: #F0F7E8;--bg-tertiary: #E8F3DA;--bg-disabled: #F0F7E8;--bg-hover-legacy: #F5FAF0;--text-tertiary: #7E8E7E;--danger-color: #DC4040;--danger-bg: #FDE8E8;--danger-text: #DC4040;--danger-hover: #C23636;--warning-bg: #FDF3D7;--warning-text: #92400e;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Outfit", system-ui, sans-serif;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(42, 53, 42, .04);--shadow-sm: 0 1px 4px rgba(42, 53, 42, .06);--shadow-md: 0 4px 12px rgba(42, 53, 42, .08);--shadow-lg: 0 8px 30px rgba(42, 53, 42, .1);--shadow-xl: 0 16px 50px rgba(42, 53, 42, .14);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .15s var(--ease-out);--transition-base: .2s var(--ease-out);--transition-slow: .35s var(--ease-out);--navy: #2A352A;--navy-dark: #1E271E;--navy-darker: #151D15;--navy-light: #3D4F3D;--lime-bg: #E8F3DA;--lime-bg-light: #F0F7E8}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background:var(--bg-page);line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--text-primary)}code{font-family:SF Mono,Fira Code,Cascadia Code,monospace}::selection{background:var(--lime);color:var(--forest)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}
