*{box-sizing:border-box}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;padding:0;background:#1a1a2e;color:#eee}.app{min-height:100vh}.navbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#16213e;border-bottom:1px solid #0f3460}.nav-brand{font-size:1.5rem;font-weight:700;color:#e94560}.nav-tabs{display:flex;gap:8px}.nav-tabs button{background:transparent;color:#aaa;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:1rem}.nav-tabs button:hover{background:#0f3460;color:#fff}.nav-tabs button.active{background:#e94560;color:#fff}.nav-user{display:flex;align-items:center;gap:12px}.nav-user span{color:#ccc}.nav-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #e94560}.nav-user button{background:#e94560;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.nav-user button:hover{background:#c73e54}.main-content{padding:24px;max-width:1400px;margin:0 auto}.auth{max-width:360px;margin:100px auto;padding:32px;background:#16213e;border-radius:12px;text-align:center}.auth h2{margin:0 0 8px;color:#e94560}.auth h3{margin:0 0 24px;color:#aaa;font-weight:400}.auth input{width:100%;padding:12px;margin-bottom:12px;border:1px solid #0f3460;border-radius:4px;background:#1a1a2e;color:#fff;font-size:1rem}.auth input:focus{outline:none;border-color:#e94560}.auth-error{background:#ff6b6b22;color:#ff6b6b;padding:10px;border-radius:4px;margin-bottom:12px}.auth-buttons{display:flex;gap:12px}.auth-buttons button{flex:1;background:#e94560;color:#fff;border:none;padding:12px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.auth-buttons button:hover{background:#c73e54}.picks-screen{width:100%}.week-selector{display:flex;justify-content:center;align-items:center;gap:20px;margin-bottom:24px;padding:16px;background:#16213e;border-radius:8px}.week-selector button{background:#0f3460;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.week-selector button:hover:not(:disabled){background:#1a4a80}.week-selector button:disabled{opacity:.5;cursor:not-allowed}.week-label{font-size:1.3rem;font-weight:700;color:#e94560}.loading,.error-box,.no-games{text-align:center;padding:24px;background:#16213e;border-radius:8px;margin-bottom:20px}.error-box{color:#ff6b6b;display:flex;align-items:center;justify-content:center;gap:12px}.error-box button{background:#e94560;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:20px}.game-card{background:#16213e;border-radius:12px;padding:16px;box-shadow:0 4px 6px #0000004d}.game-time{text-align:center;font-size:.9rem;color:#aaa;margin-bottom:12px}.status{margin-left:10px;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase}.status-pre,.status-scheduled,.status-status-scheduled{background:#0f3460;color:#4da8da}.status-in-progress,.status-status-in-progress{background:#27ae60;color:#fff}.status-final,.status-status-final{background:#7f8c8d;color:#fff}.matchup{display:flex;align-items:stretch;gap:8px}.team-pick{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px 12px;border-radius:8px;cursor:default;transition:transform .2s,box-shadow .2s;border:3px solid transparent;min-height:180px}.team-pick.pickable{cursor:pointer}.team-pick.pickable:hover{transform:scale(1.02);box-shadow:0 6px 16px #0006}.team-pick.user-picked{border-color:#87ceeb;box-shadow:0 0 12px #87ceeb80}.team-pick.winner{border-color:#2ecc71;box-shadow:0 0 12px #2ecc7180}.team-pick.loser{border-color:#e74c3c;box-shadow:0 0 12px #e74c3c80}.team-logo{width:64px;height:64px;object-fit:contain;margin-bottom:8px}.team-name{font-weight:700;font-size:1.1rem;text-align:center;margin-bottom:4px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.team-score{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.5);margin-bottom:8px}.pick-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 20px;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:auto}.pick-btn:hover{background:#ffffff4d}.pick-btn:disabled{opacity:.6;cursor:not-allowed}.vs{display:flex;align-items:center;font-size:1.2rem;font-weight:700;color:#666;padding:0 4px}.picks-avatars{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}.picker{position:relative}.avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff}.avatar-placeholder{width:36px;height:36px;border-radius:50%;background:#0f3460;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;border:2px solid #fff}.profile-screen{max-width:600px;margin:0 auto}.profile-screen h2{color:#e94560;margin-bottom:24px}.profile-section{background:#16213e;border-radius:8px;padding:24px;margin-bottom:20px}.profile-section h3{margin:0 0 16px;color:#fff;border-bottom:1px solid #0f3460;padding-bottom:8px}.avatar-section{display:flex;align-items:center;gap:24px}.current-avatar{flex-shrink:0}.avatar-large{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #e94560}.avatar-placeholder-large{width:100px;height:100px;border-radius:50%;background:#0f3460;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2.5rem;border:3px solid #e94560}.avatar-upload{display:flex;flex-direction:column;gap:12px}.avatar-upload input[type=file]{color:#aaa}.avatar-upload button,.password-form button{background:#e94560;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.avatar-upload button:hover,.password-form button:hover{background:#c73e54}.avatar-upload button:disabled,.password-form button:disabled{opacity:.5;cursor:not-allowed}.password-form{display:flex;flex-direction:column;gap:12px}.password-form input{padding:12px;border:1px solid #0f3460;border-radius:4px;background:#1a1a2e;color:#fff;font-size:1rem}.password-form input:focus{outline:none;border-color:#e94560}.message{padding:10px;border-radius:4px;font-size:.9rem}.message.success{background:#27ae6022;color:#2ecc71}.message.error{background:#e74c3c22;color:#e74c3c}.inline-message{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.inline-message-close{background:transparent;border:none;color:inherit;cursor:pointer;font-size:1rem}.account-info p{margin:8px 0;color:#ccc}.account-info strong{color:#fff}.admin-screen{width:100%}.admin-screen h2{color:#e94560;margin-bottom:24px}.admin-actions{display:flex;gap:12px;margin-bottom:20px}.admin-actions button{background:#e94560;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.admin-actions button:hover{background:#c73e54}.create-user-form{background:#16213e;border-radius:8px;padding:24px;margin-bottom:20px}.create-user-form h3{margin:0 0 16px;color:#fff}.create-user-form input,.create-user-form select{width:100%;padding:12px;margin-bottom:12px;border:1px solid #0f3460;border-radius:4px;background:#1a1a2e;color:#fff;font-size:1rem}.create-user-form input:focus,.create-user-form select:focus{outline:none;border-color:#e94560}.create-user-form button{background:#27ae60;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:1rem}.create-user-form button:hover{background:#219a52}.create-user-form button:disabled{opacity:.5;cursor:not-allowed}.users-table{background:#16213e;border-radius:8px;overflow:hidden}.users-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #0f3460}.users-table th{background:#0f3460;color:#fff;font-weight:600}.users-table tr:hover{background:#1a2744}.avatar-small{width:36px;height:36px;border-radius:50%;object-fit:cover}.avatar-placeholder-small{width:36px;height:36px;border-radius:50%;background:#0f3460;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.role-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:700;text-transform:uppercase}.role-badge.role-admin{background:#e94560;color:#fff}.role-badge.role-user{background:#0f3460;color:#4da8da}.users-table .actions{display:flex;gap:8px;flex-wrap:wrap}.users-table .actions button{background:#0f3460;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.85rem}.users-table .actions button:hover{background:#1a4a80}.users-table .actions button.danger{background:#c0392b}.users-table .actions button.danger:hover{background:#a93226}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#16213e;border-radius:12px;padding:24px;min-width:360px;max-width:90vw}.modal h3{margin:0 0 16px;color:#e94560}.modal p{color:#aaa;margin-bottom:16px}.modal input{width:100%;padding:12px;margin-bottom:16px;border:1px solid #0f3460;border-radius:4px;background:#1a1a2e;color:#fff;font-size:1rem}.modal input:focus{outline:none;border-color:#e94560}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions button{background:#e94560;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.modal-actions button:hover{background:#c73e54}.modal-actions button:last-child{background:#0f3460}.modal-actions button:last-child:hover{background:#1a4a80}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.leaderboard-screen{width:100%}.leaderboard-screen h2{color:#e94560;margin-bottom:16px}.leaderboard-controls{margin-bottom:16px}.view-toggle{display:inline-flex;gap:8px}.view-toggle button{background:#0f3460;color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer}.view-toggle button.active{background:#e94560}.leaderboard-table{background:#16213e;border-radius:8px;overflow:hidden}.leaderboard-header,.leaderboard-row{display:grid;grid-template-columns:64px 1.8fr 1fr 1fr 1.4fr;gap:8px;align-items:center;padding:12px 16px}.leaderboard-header{background:#0f3460;color:#fff;font-weight:600}.leaderboard-row{border-top:1px solid #0f3460}.leaderboard-row.current-user{background:#1a2744}.leaderboard-row .user-col{display:flex;align-items:center;gap:10px}@media (max-width: 768px){.navbar{flex-direction:column;gap:12px;padding:12px}.nav-tabs{order:3;width:100%;justify-content:center}.games-grid{grid-template-columns:1fr}.week-selector{flex-direction:column;gap:12px}.avatar-section{flex-direction:column;text-align:center}.users-table{overflow-x:auto}.users-table .actions{flex-direction:column}}.row{display:flex;flex-wrap:wrap;margin:0 -12px}[class^=col-]{padding:0 12px;width:100%}.col-1{flex:0 0 8.333%;max-width:8.333%}.col-2{flex:0 0 16.666%;max-width:16.666%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333%;max-width:33.333%}.col-5{flex:0 0 41.666%;max-width:41.666%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333%;max-width:58.333%}.col-8{flex:0 0 66.666%;max-width:66.666%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333%;max-width:83.333%}.col-11{flex:0 0 91.666%;max-width:91.666%}.col-12{flex:0 0 100%;max-width:100%}@media (max-width: 768px){[class^=col-]{flex:0 0 100%;max-width:100%}}.weekly-standings{background:#16213e;border-radius:8px;overflow:hidden;position:sticky;top:24px}.standings-header-row{background:#0f3460;padding:12px 16px;display:flex;justify-content:space-between;align-items:center}.standings-title{font-weight:600;color:#fff;font-size:.95rem}.standings-week-label{font-size:.8rem;color:#4da8da}.standings-col-header-row{padding:6px 16px;background:#111827}.standings-col-header{font-size:.7rem;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.standings-entry{display:grid;grid-template-columns:24px 1fr 56px 44px;gap:4px;align-items:center;padding:9px 16px;border-top:1px solid #0f3460}.standings-col-header-row{display:grid;grid-template-columns:24px 1fr 56px 44px;gap:4px}.standings-entry:hover,.standings-entry.me{background:#1a2744}.standings-rank{color:#666;font-size:.8rem}.standings-user{display:flex;align-items:center;gap:7px;min-width:0}.standings-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.standings-avatar-placeholder{width:24px;height:24px;border-radius:50%;background:#0f3460;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem;flex-shrink:0}.standings-name{font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#ccc}.standings-name.me{color:#e94560;font-weight:600}.standings-record{font-size:.8rem;font-variant-numeric:tabular-nums;color:#ccc;text-align:center}.standings-pct{font-size:.8rem;color:#4da8da;text-align:right}.standings-loading,.standings-empty{padding:20px 16px;text-align:center;color:#666;font-size:.875rem}@media (max-width: 768px){.weekly-standings{position:static;margin-top:20px}}.team-odds{display:flex;flex-direction:column;align-items:center;gap:4px;margin:6px 0}.team-spread{font-size:.9rem;font-weight:700;padding:3px 10px;border-radius:4px;background:#0000004d;color:#fff}.team-spread.favorite{background:#2ecc7166;color:#2ecc71}.team-moneyline{font-size:.8rem;font-weight:600;padding:2px 8px;border-radius:4px}.team-moneyline.favorite{background:#2ecc7140;color:#2ecc71}.team-moneyline.underdog{background:#e74c3c40;color:#e74c3c}.team-record{font-size:.8rem;color:#ffffffb3;margin-bottom:2px;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.game-over-under{display:flex;justify-content:center;align-items:center;gap:8px;padding:6px 12px;margin-bottom:10px;background:#0003;border-radius:6px}.ou-label{font-size:.8rem;color:#888}.ou-value{font-size:.9rem;font-weight:600;color:#fff}.game-situation{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;margin-bottom:10px;background:#27ae6033;border-radius:6px;border:1px solid rgba(39,174,96,.4)}.game-situation.redzone{background:#e74c3c33;border-color:#e74c3c66}.situation-quarter{font-weight:600;color:#2ecc71}.game-situation.redzone .situation-quarter{color:#e74c3c}.situation-down{font-size:.85rem;color:#ccc}.situation-possession{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#aaa}.possession-logo{width:20px;height:20px;object-fit:contain}.timeouts{display:flex;gap:4px;margin:4px 0}.timeout-dot{width:8px;height:8px;border-radius:50%;background:#fff3}.timeout-dot.active{background:#f1c40f}.vs-column{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:50px}.tie-pick{background:#444;color:#aaa;padding:8px 12px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;margin-top:8px;transition:background .2s,color .2s;border:2px solid transparent;height:50%}.tie-pick:hover{background:#555;color:#fff}.tie-pick.user-picked{background:#3498db;color:#fff;border-color:#87ceeb;box-shadow:0 0 8px #3498db80}.tie-pick-display{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px;padding:6px 10px;background:#444;border-radius:6px}.tie-pick-display.correct{background:#2ecc714d;border:1px solid #2ecc71}.tie-pick-display.incorrect{background:#e74c3c4d;border:1px solid #e74c3c}.tie-label{font-size:.7rem;font-weight:600;color:#aaa}.picking-indicator{font-size:1.2rem;color:#ffffffb3;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.activity-section{background:#16213e;border-radius:8px;padding:20px 24px;margin-bottom:20px}.activity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.activity-header h3{margin:0;color:#fff}.activity-status{font-size:.8rem;font-weight:600}.activity-status-live{color:#2ecc71}.activity-status-offline{color:#aaa}.activity-empty{color:#ccc;margin:8px 0}.activity-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.activity-item{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #0f3460}.activity-item:last-child{border-bottom:none}.activity-type{flex-shrink:0;padding:3px 8px;border-radius:4px;background:#0f3460;color:#4da8da;font-size:.72rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.activity-type-login,.activity-type-signup{background:#2ecc7133;color:#2ecc71}.activity-type-pick{background:#4da8da33;color:#4da8da}.activity-type-user_deleted{background:#c0392b40;color:#e74c3c}.activity-type-user_created,.activity-type-password_reset,.activity-type-invite_created,.activity-type-invite_revoked{background:#e9456033;color:#e94560}.activity-message{flex:1;color:#fff;font-size:.9rem}.activity-ip{flex-shrink:0;color:#aaa;font-size:.78rem;font-family:monospace;white-space:nowrap}.activity-time{flex-shrink:0;color:#aaa;font-size:.78rem;white-space:nowrap}
