.login-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f172a 100%);display:flex;align-items:center;justify-content:center;padding:2rem;font-family:system-ui,-apple-system,sans-serif}.login-container{background:rgba(30,41,59,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;border:1px solid rgba(79,70,229,.2);padding:3rem;width:100%;max-width:480px;box-shadow:0 25px 50px -12px #0006,0 0 0 1px #4f46e50d}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-size:2.5rem;font-weight:700;color:#f1f5f9;margin:0 0 .5rem;background:linear-gradient(135deg,#8b5cf6,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-header p{color:#94a3b8;margin:0;font-size:1.1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.auth-form h2{color:#f1f5f9;font-size:1.75rem;font-weight:600;margin:0 0 1rem;text-align:center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}.form-group{display:flex;flex-direction:column;gap:.5rem;min-width:0}.form-group label{color:#e2e8f0;font-weight:500;font-size:.9rem;line-height:1.2}.form-group input{background:rgba(51,65,85,.6);border:1px solid rgba(79,70,229,.3);border-radius:8px;padding:.875rem 1rem;color:#f1f5f9;font-size:1rem;transition:all .2s ease;width:100%;box-sizing:border-box}.form-group input::placeholder{color:#64748b}.form-group input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf626,0 1px 3px #0000001a;background:rgba(51,65,85,.8)}.form-group input:disabled{opacity:.6;cursor:not-allowed}.password-requirements{color:#94a3b8;font-size:.8rem;line-height:1.4}.auth-button{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 25px #8b5cf64d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:.5rem;text-align:center}.success-message{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.3);color:#86efac;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:.5rem;text-align:center}.auth-switch{text-align:center;color:#94a3b8;margin:.5rem 0 0}.link-button{background:none;border:none;color:#8b5cf6;cursor:pointer;text-decoration:underline;font-size:inherit;font-weight:500;transition:color .2s ease}.link-button:hover:not(:disabled){color:#a78bfa}.link-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 540px){.login-page{padding:1rem}.login-container{padding:2rem}.form-row{grid-template-columns:1fr}.login-header h1{font-size:2rem}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.auth-button:disabled{animation:pulse 2s infinite}.league-selector{padding:var(--spacing-xl);flex:1;overflow-y:auto}.league-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.league-button{background:var(--bg-alpha-3);border:1px solid var(--background-panel);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);cursor:pointer;transition:var(--transition-base);color:var(--text-secondary);text-align:left;width:100%}.league-button:hover{background:var(--bg-alpha-6);border-color:#4a5568;transform:translateY(-1px)}.league-button.active{background:var(--purple-alpha);border-color:var(--primary-purple);box-shadow:0 0 0 1px var(--purple-alpha-lighter)}.league-display{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.league-button.active .league-display{color:var(--primary-purple-light)}.league-name{font-size:var(--text-xs);color:var(--text-muted);line-height:1.2}@media (max-width: 768px){.league-selector{padding:var(--spacing-xl)}.league-grid{flex-direction:row;flex-wrap:wrap}.league-button{flex:1;min-width:120px}}.loading,.error,.empty-state{padding:var(--spacing-2xl) var(--spacing-2xl);text-align:center;color:var(--text-muted)}.error{color:var(--error-color)}.error p:first-child{font-weight:600;margin-bottom:var(--spacing-sm)}.no-fixtures,.no-selection,.no-markets{padding:var(--spacing-2xl) var(--spacing-2xl);text-align:center;color:var(--text-muted)}.fixtures-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.fixtures-header{padding:var(--spacing-xl) var(--spacing-2xl);border-bottom:1px solid var(--background-panel);background:var(--bg-alpha-2);flex-shrink:0}.fixtures-header h2{color:var(--text-primary);font-size:var(--text-3xl);font-weight:600;margin-bottom:var(--spacing-xs)}.fixtures-header p{color:var(--text-muted);font-size:var(--text-base);margin:0}.fixtures-list{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.date-group{margin-bottom:var(--spacing-2xl)}.date-header{color:var(--text-primary);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--background-panel)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.game-card{background:var(--bg-alpha-3);border:1px solid var(--background-panel);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:var(--transition-base);cursor:pointer}.game-card:hover{background:var(--bg-alpha-6);border-color:#4a5568;transform:translateY(-1px);box-shadow:0 4px 20px #0000004d}.game-card.selected{background:linear-gradient(135deg,#a855f720 0%,#c084fc20 100%);border-color:var(--primary-purple);box-shadow:0 0 20px var(--purple-alpha)}.game-teams{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.away-team,.home-team{font-weight:600;color:var(--text-primary);font-size:var(--text-base);flex:1}.away-team{text-align:left}.home-team{text-align:right}.vs{color:var(--text-muted);font-weight:500;margin:0 var(--spacing-lg);font-size:var(--text-sm)}.game-time{color:var(--primary-purple);font-size:var(--text-base);font-weight:500;text-align:center}@media (max-width: 768px){.games-grid{grid-template-columns:1fr}}.betslip-section{background:rgba(168,85,247,.05);border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-lg);margin:var(--spacing-lg);margin-bottom:0;flex-shrink:0}.betslip-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid rgba(168,85,247,.2);background:rgba(168,85,247,.05)}.betslip-actions{display:flex;gap:var(--spacing-sm);align-items:center}.betslip-header h3{color:#a855f7;font-size:var(--text-base);font-weight:600;margin:0}.calculate-sgp{background:linear-gradient(135deg,#a855f720 0%,#c084fc20 100%);border:1px solid rgba(168,85,247,.4);border-radius:var(--radius-sm);color:#a855f7;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:var(--transition-base)}.calculate-sgp:hover:not(:disabled){background:linear-gradient(135deg,#a855f730 0%,#c084fc30 100%);border-color:#a855f7;transform:translateY(-1px);box-shadow:0 4px 12px #a855f733}.calculate-sgp:disabled{opacity:.5;cursor:not-allowed;transform:none}.clear-betslip{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-sm);color:#ff6b6b;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-base)}.clear-betslip:hover{background:rgba(255,107,107,.2);border-color:#ff6b6b}.betslip-bet{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-xl);border-bottom:1px solid rgba(168,85,247,.1);transition:background var(--transition-base)}.betslip-bet:hover{background:rgba(168,85,247,.05)}.betslip-bet:last-child{border-bottom:none}.bet-info{flex:1}.bet-name-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xs);min-height:24px}.bet-name{color:var(--text-primary);font-weight:500;font-size:var(--text-sm);display:flex;align-items:center;gap:var(--spacing-sm)}.bet-header-right{display:flex;align-items:center;gap:var(--spacing-sm);min-height:24px}.bet-best-odds,.bet-odds-chip{background:#1a1b3a;color:#a855f7;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;border:1px solid #a855f7}.bet-details{color:var(--text-muted);font-size:var(--text-xs)}.multi-badge{background:linear-gradient(135deg,#a855f7 0%,#c084fc 100%);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-xs);margin-left:var(--spacing-sm);letter-spacing:.3px}.multi-book-bet{border-left:3px solid #a855f7;background:rgba(168,85,247,.02)}.multi-book-prices{margin-top:var(--spacing-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.multi-price{background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.2);border-radius:var(--radius-xs);padding:2px 6px;font-size:11px;color:#a855f7;font-weight:500}.multi-odds{background:#1a1b3a;color:#fff;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;border:1px solid #a855f7}.remove-bet{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-xs);color:#ff6b6b;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-base);font-weight:600;transition:var(--transition-base)}.remove-bet:hover{background:rgba(255,107,107,.2);border-color:#ff6b6b;transform:scale(1.1)}.fair-price-input{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1)}.fair-price-label{display:block;color:var(--text-muted);font-size:var(--text-xs);font-weight:500;margin-bottom:var(--spacing-sm)}.fair-price-field{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:var(--text-primary);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);font-weight:500;transition:var(--transition-base)}.fair-price-field:focus{outline:none;border-color:#a855f7;background:rgba(168,85,247,.1);box-shadow:0 0 0 2px #a855f71a}.fair-price-field::placeholder{color:var(--text-muted);font-style:italic}.pricing-error{background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.3);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-xl);margin:var(--spacing-lg);margin-bottom:0;flex-shrink:0}.pricing-error p{color:#ff6b6b;margin:0;font-size:var(--text-sm)}.pricing-results{background:rgba(76,175,80,.05);border:1px solid rgba(76,175,80,.2);border-radius:var(--radius-lg);margin:var(--spacing-lg);margin-bottom:0;flex-shrink:0}.pricing-results-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid rgba(76,175,80,.2);background:rgba(76,175,80,.05)}.pricing-results-header h4{color:#4caf50;font-size:var(--text-base);font-weight:600;margin:0}.pricing-header-right{display:flex;align-items:center;gap:var(--spacing-sm);min-height:24px}.header-right-controls{display:flex;align-items:center;gap:var(--spacing-sm);min-width:fit-content}.pricing-best-odds{background:#1a1b3a;color:#4caf50;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;border:1px solid #4caf50}.pricing-consensus-chip{background:#1a1b3a;color:#a855f7;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;border:1px solid #a855f7;cursor:pointer;transition:var(--transition-base)}.pricing-consensus-chip:hover{background:rgba(168,85,247,.1);border-color:#a855f799}.pricing-consensus-chip.positive{color:#ff6b6b;border-color:#ff6b6b}.pricing-consensus-chip.positive:hover{background:rgba(255,107,107,.1);border-color:#ff6b6b99}.pricing-consensus-chip.negative{color:#4caf50;border-color:#4caf50}.pricing-consensus-chip.negative:hover{background:rgba(76,175,80,.1);border-color:#4caf5099}.deeplink-container{position:relative;display:flex;align-items:center;gap:2px}.deeplink-button{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-xs);color:#4caf50;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:var(--text-sm);transition:var(--transition-base)}.deeplink-button:hover{background:rgba(76,175,80,.2);border-color:#4caf50;transform:scale(1.1)}.deeplink-menu-button{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-xs);color:#4caf50;width:16px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;transition:var(--transition-base)}.deeplink-menu-button:hover{background:rgba(76,175,80,.2);border-color:#4caf50}.deeplink-menu{position:absolute;top:100%;right:0;background:var(--bg-card);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:200px;overflow:hidden;margin-top:var(--spacing-xs)}.deeplink-menu-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:var(--transition-base);border-bottom:1px solid rgba(76,175,80,.1)}.deeplink-menu-item:last-child{border-bottom:none}.deeplink-menu-item:hover{background:rgba(76,175,80,.1);color:#4caf50}.pricing-results-header p{color:var(--text-muted);font-size:var(--text-sm);margin:var(--spacing-xs) 0 0 0;font-style:italic}.pricing-sportsbooks{padding:var(--spacing-md) var(--spacing-xl);display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.pricing-chip-container{transition:var(--transition-base)}.pricing-chip-container.highlighted-best .pricing-chip{background:rgba(76,175,80,.25);border-color:#4caf50;transform:translateY(-1px);box-shadow:0 2px 4px #4caf5033}.pricing-chip{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-xs);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);color:#4caf50;font-weight:600;transition:var(--transition-base);-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.pricing-chip:hover{background:rgba(76,175,80,.15);border-color:#4caf5080}.pricing-chip.clickable{cursor:pointer}.pricing-chip.clickable:hover{background:rgba(76,175,80,.25);border-color:#4caf50;transform:translateY(-1px);box-shadow:0 2px 4px #4caf5033}.pricing-chip.clickable:active{transform:translateY(0);box-shadow:0 1px 2px #4caf5033}.pricing-chip.user-fair-chip{background:rgba(168,85,247,.1);border:1px solid rgba(168,85,247,.3);color:#a855f7}.pricing-chip.user-fair-chip:hover{background:rgba(168,85,247,.15);border-color:#a855f780}.chip-main{font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);width:100%}.pricing-chip .chip-main{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.chip-correlation{font-size:var(--text-xs);color:#66bb6a;font-weight:500;opacity:.9}.chip-correlation.positive{color:#ff6b6b}.chip-correlation.negative{color:#66bb6a}.pricing-no-results{padding:var(--spacing-md) var(--spacing-xl);text-align:center}.pricing-no-results p{color:var(--text-muted);font-style:italic;margin:0}.custom-correlation-container{display:flex;align-items:center;background:#1a1b3a;color:#a855f7;border:1px solid #a855f7;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:var(--transition-base);font-size:var(--text-xs);font-weight:600}.custom-correlation-container:hover{background:rgba(168,85,247,.1);border-color:#a855f799}.custom-label{color:inherit;white-space:nowrap}.pricing-consensus-input.custom{background:transparent;border:none;width:30px;margin-left:4px;padding:0;color:#a855f7;text-align:left}.pricing-consensus-input.custom:focus{border:none;box-shadow:none;outline:none}.pricing-consensus-input.custom.positive{color:#ff6b6b!important}.pricing-consensus-input.custom.negative{color:#4caf50!important}.pricing-consensus-input.custom.neutral{color:#a855f7!important}.settings-toggle-button{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-xs);color:#4caf50;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-base)}.settings-toggle-button:hover{background:rgba(76,175,80,.2);border-color:#4caf50;transform:scale(1.1)}.settings-toggle-button.active{background:rgba(76,175,80,.2);border-color:#4caf50}.reset-weights-button{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);border-radius:var(--radius-xs);color:#4caf50;font-size:var(--text-xs);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;transition:var(--transition-base);font-weight:600}.reset-weights-button:hover{background:rgba(76,175,80,.15);border-color:#4caf5080}.pricing-chip.settings-chip{background:rgba(76,175,80,.1);border:1px solid rgba(76,175,80,.3);cursor:default}.pricing-chip.settings-chip:hover{background:rgba(76,175,80,.15);border-color:#4caf5080}.chip-name-weight{display:flex;align-items:baseline;justify-content:center;font-weight:600;font-size:var(--text-sm)}.weight-input-inline{background:transparent;border:none;color:var(--text-primary);font-size:var(--text-sm);font-weight:600;text-align:left;width:45px;max-width:45px;padding:0;margin:0}.weight-input-inline:focus{outline:none;background:rgba(76,175,80,.1);border-radius:var(--radius-xs);padding:2px 4px;color:#4caf50;width:49px}.markets-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.markets-controls{padding:var(--spacing-lg) var(--spacing-2xl);border-bottom:1px solid var(--background-panel);background:var(--bg-alpha-1);display:flex;gap:var(--spacing-lg);flex-shrink:0}.search-input,.market-filter{background:var(--bg-alpha-5);border:1px solid var(--background-panel);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--text-primary);font-size:var(--text-base);transition:var(--transition-base)}.search-input{flex:1}.search-input:focus,.market-filter:focus{outline:none;border-color:var(--primary-purple);box-shadow:0 0 0 2px var(--purple-alpha-light);background:var(--bg-alpha-8)}.search-input::placeholder{color:var(--text-muted);font-style:italic}.market-filter{min-width:180px;cursor:pointer;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='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--spacing-md) center;background-repeat:no-repeat;background-size:var(--spacing-lg);padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.market-filter option{background:var(--background-dark);color:var(--text-primary);padding:var(--spacing-sm)}.markets-stats{padding:var(--spacing-sm) var(--spacing-2xl);border-bottom:1px solid var(--background-panel);background:rgba(255,255,255,.005);flex-shrink:0}.markets-stats p{color:var(--text-muted);font-size:var(--text-sm);margin:0}.markets-list{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.market-section{margin-bottom:var(--spacing-2xl);background:var(--bg-alpha-2);border-radius:var(--radius-lg);border:1px solid var(--background-panel);overflow:hidden}.market-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:600;padding:var(--spacing-lg) var(--spacing-xl);margin:0;background:var(--bg-alpha-3);border-bottom:1px solid var(--background-panel)}.market-group{padding:var(--spacing-lg)}.betting-options{display:grid;gap:var(--spacing-md)}.betting-option{background:var(--bg-alpha-2);border:1px solid var(--background-panel);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:var(--transition-base)}.option-name{color:var(--text-primary);font-weight:500;margin-bottom:var(--spacing-md);font-size:var(--text-base);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:var(--transition-base);display:flex;align-items:center;justify-content:space-between;-webkit-user-select:none;user-select:none;border:1px solid transparent}.option-name:hover{background:rgba(168,85,247,.1);color:#a855f7;border-color:#a855f733}.option-name.multi-in-betslip{background:linear-gradient(135deg,#a855f720 0%,#c084fc20 100%);border:1px solid rgba(168,85,247,.3);color:#a855f7}.option-name.multi-in-betslip:hover{background:linear-gradient(135deg,#a855f730 0%,#c084fc30 100%);border-color:#a855f7}.multi-indicator{background:#a855f7;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-xs);letter-spacing:.5px}.option-prices{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.price-item{display:flex;align-items:center;gap:var(--spacing-sm);background:var(--bg-alpha-5);border:1px solid transparent;border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-sm);cursor:pointer;transition:var(--transition-base);-webkit-user-select:none;user-select:none}.price-item:hover{background:rgba(255,255,255,.1);border-color:#4a5568;transform:translateY(-1px)}.price-item.in-betslip{background:linear-gradient(135deg,#a855f720 0%,#c084fc20 100%);border-color:#a855f7;box-shadow:0 0 10px #a855f733}.price-item.in-betslip:hover{background:linear-gradient(135deg,#a855f730 0%,#c084fc30 100%);border-color:#c084fc;transform:translateY(-1px)}.sportsbook{color:var(--text-muted);font-size:var(--text-xs)}.odds{color:var(--primary-purple);font-weight:600}@media (max-width: 768px){.markets-controls{flex-direction:column}.market-filter{min-width:auto}}:root{--primary-purple: #a855f7;--primary-purple-light: #c084fc;--primary-purple-dark: #6b46c1;--primary-purple-darker: #9333ea;--background-dark: #1a1f3a;--background-panel: #2a2f4a;--text-primary: #ffffff;--text-secondary: #e5e7eb;--text-muted: #8892b0;--text-accent: #e0e7ff;--error-color: #ff6b6b;--bg-alpha-1: rgba(255, 255, 255, .01);--bg-alpha-2: rgba(255, 255, 255, .02);--bg-alpha-3: rgba(255, 255, 255, .03);--bg-alpha-5: rgba(255, 255, 255, .05);--bg-alpha-6: rgba(255, 255, 255, .06);--bg-alpha-8: rgba(255, 255, 255, .08);--purple-alpha: rgba(139, 92, 246, .2);--purple-alpha-light: rgba(168, 85, 247, .1);--purple-alpha-lighter: rgba(168, 85, 247, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--transition-base: all .2s ease;--transition-slow: all .3s ease;--text-xs: .75rem;--text-sm: .8rem;--text-base: .9rem;--text-lg: 1rem;--text-xl: 1.1rem;--text-2xl: 1.3rem;--text-3xl: 1.8rem;--text-4xl: 2.5rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-alpha-5);border-radius:3px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.app-main{display:grid;min-height:calc(100vh - 140px);gap:1px;background:var(--background-panel);transition:var(--transition-slow)}.app-main.two-panel{grid-template-columns:300px 1fr}.app-main.three-panel{grid-template-columns:300px 1fr 1fr}.app-panel{background:var(--bg-alpha-1);display:flex;flex-direction:column;overflow:hidden;animation:slideIn var(--transition-slow)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.panel-header{padding:var(--spacing-xl) var(--spacing-2xl);border-bottom:1px solid var(--background-panel);background:var(--bg-alpha-2);flex-shrink:0}.panel-header h2{color:var(--primary-purple);font-size:var(--text-2xl);font-weight:600;margin:0}@media (max-width: 1200px){.app-main.three-panel{grid-template-columns:280px 1fr 1fr}}@media (max-width: 768px){.app-main.two-panel,.app-main.three-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto}.panel-header{padding:var(--spacing-lg) var(--spacing-xl)}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:var(--spacing-2xl) 0;background:linear-gradient(135deg,var(--primary-purple-dark) 0%,var(--primary-purple-darker) 100%);border-bottom:1px solid var(--purple-alpha)}.header-content{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-2xl);min-height:80px}.header-center{text-align:center}.header-right{position:absolute;right:var(--spacing-2xl);top:50%;transform:translateY(-50%)}.user-profile{display:flex;align-items:center;gap:var(--spacing-md);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--spacing-xl);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.user-profile:hover{background:rgba(255,255,255,.08);border-color:#ffffff26}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-purple-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--text-sm);color:#fff;flex-shrink:0}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.user-name{color:var(--text-primary);font-weight:500;font-size:var(--text-sm);white-space:nowrap}.logout-link{background:none;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;padding:0;font-weight:400;transition:color var(--transition-fast);text-decoration:underline;text-underline-offset:2px}.logout-link:hover{color:#fca5a5}.app-header h1{font-size:var(--text-4xl);font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(to right,var(--text-primary),var(--text-accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-header p{font-size:var(--text-xl);color:var(--text-accent);opacity:.9}.app-panel h2{font-size:var(--text-3xl);margin-bottom:var(--spacing-lg);color:var(--primary-purple)}.app-panel p{font-size:var(--text-xl);color:var(--text-secondary);line-height:1.6}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background-primary);color:var(--text-primary);gap:var(--spacing-lg)}.loading-spinner{width:3rem;height:3rem;border:3px solid rgba(139,92,246,.2);border-top:3px solid var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.header-content{flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-lg)}.header-right{position:static;transform:none}.user-profile{justify-content:center}}
