.search-dropdown{position:relative;width:100%}.search-dropdown--disabled{opacity:.5;pointer-events:none}.search-dropdown-label{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-weight:500}.search-dropdown-input-wrapper{display:flex;align-items:center;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast);gap:var(--space-sm)}.search-dropdown-input-wrapper:hover{border-color:var(--color-border-hover)}.search-dropdown-input-wrapper:focus-within{border-color:var(--color-accent);outline:none}.search-dropdown-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit;min-width:0}.search-dropdown-input::placeholder{color:var(--color-text-muted)}.search-dropdown-display{flex:1;color:var(--color-text-primary);font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-dropdown-display--placeholder{color:var(--color-text-muted)}.search-dropdown-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;min-width:24px;border-radius:var(--radius-full);font-size:var(--text-lg);color:var(--color-text-muted);transition:background-color var(--transition-fast),color var(--transition-fast)}.search-dropdown-clear:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.search-dropdown-arrow{font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.search-dropdown-list{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);max-height:260px;overflow-y:auto;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200}.search-dropdown-group-header{padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);position:sticky;top:0}.search-dropdown-option{padding:var(--space-sm) var(--space-md);min-height:var(--min-touch-target);display:flex;align-items:center;font-size:var(--text-base);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast)}.search-dropdown-option:hover,.search-dropdown-option--highlighted{background-color:var(--color-bg-hover)}.search-dropdown-option--selected{color:var(--color-accent);font-weight:500}.search-dropdown-no-results{padding:var(--space-md);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.viewstack,.viewstack-base,.viewstack-pushed{width:100%}.viewstack-back{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.viewstack-back:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.viewstack-back-arrow{font-size:var(--text-lg)}.viewstack-back-label{font-weight:500}.viewstack-content{width:100%}@media (max-width: 767px){.viewstack-pushed{width:100%}.viewstack-back{width:100%;justify-content:flex-start}}.datatable-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);border:1px solid var(--color-border)}.datatable{width:100%;border-collapse:collapse;font-size:var(--text-sm)}@media (min-width: 768px){.datatable{font-size:var(--text-base)}}.datatable thead{background-color:var(--color-bg-tertiary);position:sticky;top:0;z-index:1}.datatable-th{padding:var(--space-sm) var(--space-md);text-align:left;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;border-bottom:2px solid var(--color-border);-webkit-user-select:none;user-select:none}.datatable-th--sortable{cursor:pointer;transition:color var(--transition-fast)}.datatable-th--sortable:hover{color:var(--color-text-primary)}.datatable-th-label{display:inline}.datatable-sort-indicator{font-size:var(--text-xs);color:var(--color-text-muted)}.datatable-th--sortable:hover .datatable-sort-indicator{color:var(--color-accent)}.datatable-row:nth-child(odd){background-color:var(--color-bg-secondary)}.datatable-row:nth-child(2n){background-color:var(--color-bg-card)}.datatable-row:hover{background-color:var(--color-bg-hover)}.datatable-td{padding:var(--space-sm) var(--space-md);color:var(--color-text-primary);white-space:nowrap;border-bottom:1px solid var(--color-border)}.datatable-td--clickable{cursor:pointer;color:var(--color-accent);transition:color var(--transition-fast)}.datatable-td--clickable:hover{color:var(--color-accent-hover);text-decoration:underline}.datatable-empty{display:flex;align-items:center;justify-content:center;min-height:120px;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-secondary)}.datatable-empty p{color:var(--color-text-muted);font-size:var(--text-base)}@media (max-width: 767px){.datatable-th,.datatable-td{padding:var(--space-xs) var(--space-sm)}}.league-setup-page{max-width:700px;margin:0 auto;padding:var(--space-md)}.league-setup-title{font-size:var(--text-2xl);color:var(--color-text-primary);margin-bottom:var(--space-lg)}.league-setup-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.league-setup-step-dot{width:12px;height:12px;border-radius:var(--radius-full);background-color:var(--color-border);transition:background-color var(--transition-base),transform var(--transition-base)}.league-setup-step-dot--active{background-color:var(--color-accent);transform:scale(1.3)}.league-setup-step-dot--completed{background-color:var(--color-success)}.league-setup-step-connector{width:32px;height:2px;background-color:var(--color-border);transition:background-color var(--transition-base)}.league-setup-step-connector--completed{background-color:var(--color-success)}.league-setup-step-label{text-align:center;margin-bottom:var(--space-lg);font-size:var(--text-sm);color:var(--color-text-secondary)}.league-setup-step-content{opacity:1;transition:opacity var(--transition-base)}.league-setup-form-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.league-setup-form-group label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.league-setup-input{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);transition:border-color var(--transition-fast)}.league-setup-input::placeholder{color:var(--color-text-muted)}.league-setup-input:focus{outline:none;border-color:var(--color-accent)}.league-setup-type-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.league-setup-type-btn{flex:1;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:500;border:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:center}.league-setup-type-btn:not(:last-child){border-right:1px solid var(--color-border)}.league-setup-type-btn--active{background-color:var(--color-accent);color:#fff}.league-setup-type-btn:hover:not(.league-setup-type-btn--active){background-color:var(--color-bg-hover)}.league-setup-nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xl);gap:var(--space-md)}.league-setup-btn{min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast);border:none}.league-setup-btn--primary{background-color:var(--color-accent);color:#fff}.league-setup-btn--primary:hover:not(:disabled){background-color:var(--color-accent-hover)}.league-setup-btn--secondary{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.league-setup-btn--secondary:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.league-setup-btn--create{width:100%;min-height:56px;font-size:var(--text-lg);background-color:var(--color-accent);color:#fff;margin-top:var(--space-lg)}.league-setup-btn--create:hover:not(:disabled){background-color:var(--color-accent-hover)}.league-setup-btn:disabled{opacity:.5;cursor:not-allowed}.league-setup-toggle{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.league-setup-toggle-label{font-size:var(--text-base);color:var(--color-text-primary)}.league-setup-toggle-options{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.league-setup-toggle-btn{min-height:36px;padding:var(--space-xs) var(--space-md);background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;border:none;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.league-setup-toggle-btn:not(:last-child){border-right:1px solid var(--color-border)}.league-setup-toggle-btn--active{background-color:var(--color-accent);color:#fff}.league-setup-group-tree{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.league-setup-group-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.league-setup-group-item--depth-0{margin-left:0}.league-setup-group-item--depth-1{margin-left:24px}.league-setup-group-item--depth-2{margin-left:48px}.league-setup-group-item--depth-3{margin-left:72px}.league-setup-group-item__name{flex:1;font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.league-setup-group-item__id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.league-setup-group-item__actions{display:flex;gap:var(--space-xs)}.league-setup-btn-icon{min-height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;border:none;transition:background-color var(--transition-fast)}.league-setup-btn-icon--add{background-color:var(--color-accent-secondary);color:var(--color-success)}.league-setup-btn-icon--add:hover{background-color:var(--color-bg-hover)}.league-setup-btn-icon--remove{background-color:transparent;color:var(--color-error)}.league-setup-btn-icon--remove:hover{background-color:#e74c3c1a}.league-setup-add-group{display:flex;gap:var(--space-sm);align-items:center;margin-top:var(--space-sm)}.league-setup-add-group .league-setup-input{min-height:36px;font-size:var(--text-sm)}.league-setup-team-add{display:flex;gap:var(--space-sm);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-lg)}.league-setup-team-add .league-setup-form-group{margin-bottom:0;flex:1;min-width:100px}.league-setup-team-add .league-setup-input{min-height:36px;font-size:var(--text-sm)}.league-setup-select{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);transition:border-color var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0a0b0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.league-setup-select:focus{outline:none;border-color:var(--color-accent)}.league-setup-team-group-header{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin-top:var(--space-md);margin-bottom:var(--space-xs);display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.league-setup-team-count{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}.league-setup-team-list{display:flex;flex-direction:column;gap:var(--space-xs)}.league-setup-team-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.league-setup-team-item__id{font-size:var(--text-xs);color:var(--color-text-muted);font-family:var(--font-mono);min-width:40px}.league-setup-team-item__name{flex:1;font-size:var(--text-sm);color:var(--color-text-primary)}.league-setup-review{display:flex;flex-direction:column;gap:var(--space-md)}.league-setup-review-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.league-setup-review-card h3{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-md)}.league-setup-review-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.league-setup-review-row:last-child{border-bottom:none}.league-setup-review-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.league-setup-review-value{font-size:var(--text-base);color:var(--color-text-primary);font-weight:500}.league-setup-message{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);margin-top:var(--space-md)}.league-setup-message--error{background-color:#e74c3c1a;border:1px solid var(--color-error);color:var(--color-error)}.league-setup-message--success{background-color:#4ecdc41a;border:1px solid var(--color-success);color:var(--color-success)}.league-setup-section-title{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-md)}@media (max-width: 480px){.league-setup-team-add{flex-direction:column;align-items:stretch}.league-setup-team-add .league-setup-form-group{min-width:unset}.league-setup-nav{flex-direction:column-reverse;gap:var(--space-sm)}.league-setup-nav .league-setup-btn{width:100%}}@media (min-width: 768px){.league-setup-page{padding:var(--space-xl)}.league-setup-title{font-size:var(--text-3xl)}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;padding:var(--space-md);padding-bottom:calc(var(--nav-height-mobile) + var(--space-md));max-width:1200px;width:100%;margin:0 auto}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height-mobile);background-color:var(--color-bg-nav);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-around;z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--min-touch-target);min-width:var(--min-touch-target);padding:var(--space-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-xs);transition:color var(--transition-fast)}.nav-item:hover{color:var(--color-text-primary)}.nav-item.active{color:var(--color-accent)}.nav-item-icon{font-size:1.25rem;line-height:1}.nav-item-label{font-weight:500}.sidebar-nav{display:none}@media (min-width: 768px){.app-layout{flex-direction:row}.bottom-nav{display:none}.sidebar-nav{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:var(--nav-width-desktop);background-color:var(--color-bg-nav);border-right:1px solid var(--color-border);padding:var(--space-lg) var(--space-md);z-index:100;overflow-y:auto}.sidebar-logo{font-size:var(--text-2xl);font-weight:700;color:var(--color-accent);margin-bottom:var(--space-xl);padding:var(--space-sm)}.sidebar-nav .nav-item{flex-direction:row;justify-content:flex-start;gap:var(--space-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);width:100%;min-height:var(--min-touch-target)}.sidebar-nav .nav-item-icon{font-size:1.25rem;width:24px;text-align:center}.app-main{margin-left:var(--nav-width-desktop);padding:var(--space-xl);padding-bottom:var(--space-xl)}}.page-header{margin-bottom:var(--space-xl)}.page-header h1{font-size:var(--text-2xl);color:var(--color-text-primary)}@media (min-width: 768px){.page-header h1{font-size:var(--text-3xl)}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-md)}.auth-card{width:100%;max-width:400px;background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.auth-title{font-size:var(--text-2xl);color:var(--color-text-primary);margin-bottom:var(--space-lg);text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.form-group input{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);font-family:var(--font-sans);transition:border-color var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:focus{outline:none;border-color:var(--color-accent)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-button{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:var(--color-accent);color:#fff;font-size:var(--text-base);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);margin-top:var(--space-sm);text-decoration:none}.auth-button:hover:not(:disabled){background-color:var(--color-accent-hover)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background-color:#e74c3c1a;border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--color-error);font-size:var(--text-sm);margin-bottom:var(--space-md)}.auth-footer{margin-top:var(--space-lg);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.auth-success-message{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-lg);text-align:center}.auth-success-message strong{color:var(--color-text-primary)}.profile-page{max-width:600px}.profile-card{display:flex;flex-direction:column;gap:var(--space-lg)}.profile-section{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.profile-section h2{font-size:var(--text-lg);color:var(--color-text-primary);margin-bottom:var(--space-md)}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.profile-field:last-of-type{border-bottom:none}.profile-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.profile-value{font-size:var(--text-base);color:var(--color-text-primary);font-weight:500}.profile-gamertag{color:var(--color-accent);font-size:var(--text-lg)}.profile-cooldown{background-color:#f39c121a;border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--color-warning);font-size:var(--text-sm);margin-bottom:var(--space-md)}.profile-success{background-color:#4ecdc41a;border:1px solid var(--color-success);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);color:var(--color-success);font-size:var(--text-sm);margin-bottom:var(--space-md)}.gamertag-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.gamertag-history{display:flex;flex-direction:column;gap:var(--space-sm)}.gamertag-history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.gamertag-history-item:last-child{border-bottom:none}.history-gamertag{color:var(--color-text-primary);font-size:var(--text-sm)}.history-date{color:var(--color-text-muted);font-size:var(--text-xs)}.logout-button{width:100%;min-height:var(--min-touch-target);padding:var(--space-sm) var(--space-md);background-color:transparent;color:var(--color-error);font-size:var(--text-base);font-weight:500;border:1px solid var(--color-error);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.logout-button:hover{background-color:#e74c3c1a}.text-muted{color:var(--color-text-muted)}:root{--color-bg-primary: #0f0f0f;--color-bg-secondary: #1a1a2e;--color-bg-tertiary: #16213e;--color-bg-card: #1e1e3a;--color-bg-hover: #2a2a4a;--color-bg-nav: #0a0a1a;--color-text-primary: #e8e8e8;--color-text-secondary: #a0a0b0;--color-text-muted: #6a6a7a;--color-accent: #e94560;--color-accent-hover: #ff6b81;--color-accent-secondary: #0f3460;--color-success: #4ecdc4;--color-warning: #f39c12;--color-error: #e74c3c;--color-border: #2a2a3e;--color-border-hover: #3a3a5e;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--nav-height-mobile: 64px;--nav-width-desktop: 240px;--header-height: 56px;--min-touch-target: 44px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;min-height:var(--min-touch-target);min-width:var(--min-touch-target)}ul,ol{list-style:none}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}
